From ffb26fc9e365f5e717a70c6b8ae58211268e7752 Mon Sep 17 00:00:00 2001 From: yunhai8432 Date: Sat, 1 Nov 2025 22:12:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=88=E7=95=99=E7=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/gimbal.uvguix.yunha | 122 +- 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 5288 -> 5384 bytes MDK-ARM/gimbal/gimbal.axf | Bin 583772 -> 584092 bytes MDK-ARM/gimbal/gimbal.build_log.htm | 8 +- MDK-ARM/gimbal/gimbal.htm | 8 +- MDK-ARM/gimbal/gimbal.map | 3059 +++++++++++++-------------- MDK-ARM/gimbal/gimbal.o | Bin 16736 -> 16948 bytes MDK-ARM/gimbal/gimbal_ctrl.o | Bin 9188 -> 9224 bytes MDK-ARM/gimbal/gimbal_gimbal.dep | 18 +- MDK-ARM/gimbal/remote.o | Bin 3820 -> 3820 bytes User/module/config.c | 8 +- User/module/gimbal.c | 20 +- User/module/gimbal.h | 4 +- 15 files changed, 1611 insertions(+), 1636 deletions(-) diff --git a/MDK-ARM/gimbal.uvguix.yunha b/MDK-ARM/gimbal.uvguix.yunha index 9a90408..64e473c 100644 --- a/MDK-ARM/gimbal.uvguix.yunha +++ b/MDK-ARM/gimbal.uvguix.yunha @@ -101,17 +101,17 @@ -1 - 121 - 329 - 1409 - 723 + 174 + 248 + 1328 + 776 0 - 841 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000009000000040000000100000031443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E68000000000867696D62616C2E6800000000C5D4F200FFFFFFFF2D443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C61692E68000000000461692E6800000000FFDC7800FFFFFFFF39443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C72656D6F74655F636F6E74726F6C2E68000000001072656D6F74655F636F6E74726F6C2E6800000000BECEA100FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E63000000000867696D62616C2E6300000000F0A0A100FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E630000000008636F6E6669672E6300000000BCA8E100FFFFFFFF30443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C636F6D706F6E656E745C75692E63000000000475692E63000000009CC1B600FFFFFFFF32443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C636F6D706F6E656E745C616872732E630000000006616872732E6300000000F7B88600FFFFFFFF2D443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C696E69742E630000000006696E69742E6300000000D9ADC200FFFFFFFF30443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C6D6F746F722E6800000000076D6F746F722E6800000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000B800000066000000A0050000CD020000 + 553 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000020000000100000031443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E63000000000867696D62616C2E6300000000C5D4F200FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E68000000000867696D62616C2E6800000000FFDC7800FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E630000000008636F6E6669672E6300000000BECEA100FFFFFFFF2F443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C72656D6F74652E63000000000872656D6F74652E6300000000F0A0A100FFFFFFFF34443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C67696D62616C5F6374726C2E63000000000D67696D62616C5F6374726C2E6300000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000B800000066000000A0050000B6020000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000B10000009D020000 + 0300000066000000B100000086020000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000B10000009D020000 + 0300000066000000B100000086020000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000B10000009D020000 + 0300000066000000B100000086020000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000B10000009D020000 + 0300000066000000B100000086020000 16 @@ -490,7 +490,7 @@ 0 16 - 00000000CE020000A00500002A030000 + 00000000B7020000A00500002A030000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000D10200009D05000011030000 + 03000000BA0200009D05000011030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000B10000009D020000 + 0300000066000000B100000086020000 16 @@ -1170,7 +1170,7 @@ 0 16 - 03000000D10200009D05000011030000 + 03000000BA0200009D05000011030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000D10200009D05000011030000 + 03000000BA0200009D05000011030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000D10200009D05000011030000 + 03000000BA0200009D05000011030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000D10200009D05000011030000 + 03000000BA0200009D05000011030000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFB8000000BF00000028040000C3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000B80000006600000028040000D6000000B80000004F00000028040000BF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF700300004F00000074030000AC010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000740300006600000028040000C3010000740300004F00000028040000AC01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFB40000004F000000B8000000B6020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000B4000000CD020000000000004F000000B4000000B60200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000098010000280400009C01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000B30100002804000037020000000000009C010000280400002002000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF140200009C010000180200002002000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000B6020000A0050000BA020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000D1020000A00500004103000000000000BA020000A00500002A0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFB8000000BF00000028040000C3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000B80000006600000028040000D6000000B80000004F00000028040000BF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF700300004F00000074030000AC010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000740300006600000028040000C3010000740300004F00000028040000AC01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFB40000004F000000B80000009F020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000B4000000B6020000000000004F000000B40000009F0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000098010000280400009C01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000B30100002804000037020000000000009C010000280400002002000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF140200009C010000180200002002000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000009F020000A0050000A3020000010000000100001004000000010000009EFDFFFF6E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000BA020000A00500004103000000000000A3020000A00500002A0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2900 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000104D4F544F525F444D5F506172616D5F7496000000000000001400104D4F544F525F444D5F506172616D5F740B2D3E646D5F6D6F746F722E0A2D3E646D5F6D6F746F720B2D3E726D5F6D6F746F722E08726D5F6D6F746F72104D4F544F525F524D5F506172616D5F741A67696D62616C2D3E666565646261636B2E6D6F746F722E7961770C7961775F726D5F6D6F746F720A52435F726573746172741372656D6F74655F636F6E74726F6C5F696E69740C4253505F43414E5F496E69740A67696D62616C5F636D640F434D445F47696D62616C436D645F7401670543414E5F740B414852535F45756C725F740847696D62616C5F7412504F534954494F4E5F544F4C4552414E434512566973696F6E5F50726F63657373427974650A4D4F544F525F524D5F740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2896 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B436972636C654572726F72960000000000000014000B436972636C654572726F72104D4F544F525F444D5F506172616D5F740B2D3E646D5F6D6F746F722E0A2D3E646D5F6D6F746F720B2D3E726D5F6D6F746F722E08726D5F6D6F746F72104D4F544F525F524D5F506172616D5F741A67696D62616C2D3E666565646261636B2E6D6F746F722E7961770C7961775F726D5F6D6F746F720A52435F726573746172741372656D6F74655F636F6E74726F6C5F696E69740C4253505F43414E5F496E69740A67696D62616C5F636D640F434D445F47696D62616C436D645F7401670543414E5F740B414852535F45756C725F740847696D62616C5F7412504F534954494F4E5F544F4C4552414E434512566973696F6E5F50726F63657373427974650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3603,84 +3603,48 @@ 0 100 - 4 - - ..\User\module\gimbal.h - 12 - 26 - 34 - 1 - - 0 - - - ..\User\device\ai.h - 0 - 1 - 16 - 1 - - 0 - - - ..\User\device\remote_control.h - 22 - 72 - 92 - 1 - - 0 - + 2 ..\User\module\gimbal.c - 42 + 63 + 346 + 362 + 1 + + 0 + + + ..\User\module\gimbal.h + 0 219 - 233 + 242 1 0 ..\User\module\config.c - 16 - 38 - 50 + 29 + 58 + 62 1 0 - ..\User\component\ui.c - 3 - 277 - 288 + ..\User\task\remote.c + 0 + 22 + 1 1 0 - ..\User\component\ahrs.c - 5 - 390 - 413 - 1 - - 0 - - - ..\User\task\init.c - 77 - 24 - 41 - 1 - - 0 - - - ..\User\device\motor.h - 14 - 19 - 32 + ..\User\task\gimbal_ctrl.c + 0 + 31 + 1 1 0 diff --git a/MDK-ARM/gimbal/ai.o b/MDK-ARM/gimbal/ai.o index d3761d386745e8e7806789ce1db0cf857f470675..39c89a86abc48031cf524dfe4abcf4ae80bfecb9 100644 GIT binary patch delta 41 rcmdlWwLxmb3nrOLP6@^`t{6rJh9V$lEN9><2GYww?264S%sN~E(NhRK delta 41 rcmdlWwLxmb3nrOzP6@^mt{6rJh9V$lEM?#-2GYww?6S=)%sN~E(5DDA diff --git a/MDK-ARM/gimbal/atti_esti.o b/MDK-ARM/gimbal/atti_esti.o index 2f534b3a04a431f9342ed4e13d6d2de2e19965de..de5ac5090afc85817a9785ded5c38ffbf3f09f83 100644 GIT binary patch delta 41 ucmaE2`^0v`U3QsD775NWRuM)9hHxO}EN5U9W@cb81Y*vL%|F>+iva-Kk_mkP delta 41 ucmaE2`^0v`U3Qsr775N0RuM)9hHxO}EM;I7W@cb81Y*vz%|F>+iva-J<_UEG diff --git a/MDK-ARM/gimbal/config.o b/MDK-ARM/gimbal/config.o index 049ea02a0a7c5456f1d62a6594a6007c69f2357d..a4a5db9a066f4cf8367b1888670f16a895ad35be 100644 GIT binary patch delta 1580 zcmZvbUrby@6vofoxo7X)<=?WqQrJS+Wp~*Y3W8W^DUnibHKnGCA*n{B2-RX!S}UXx zW463#8yhMeVrbQf3Mi(=D6wfDYBVuMiH#5HgW4EYzT-?o*9 zE#JPEM=kH%d5j;oNzWXgu)OO%e%A6G-%@BE$1JxAjLh^^e@sAD*uSJY<4~%X-&mrPT%>|ttPVjNN?U8l- zqU9qS@Jcpgn5()+r&lN1f;&D5OKc>*i2DY7li*9>H?-gG@EFPi-W1_U@E$Z29WnmK z@|GmYX%wHM0#>sAqTVRd;YBo|@DhTc$SlMc@&eX|uu)cfzO3LCxPQWuYlvOgIrNs5 z4%b_*a=8iIuKi?)`@nZ;Uh9!`0e_)^lUqH~NvVUJEVRI`L7m$bDTR2B+y>_spp35; z%JT4yNQol-5J$)%6kG;!tLJm$wW)Xm@f2)56*oD-B=ee^-D{KZ^~@ikMo+~pA(DkR zLFaX|iq+FN7M?~*;TI4^cnQ%V`30)B;pU+RFBM92DNz3~LUq_@IpcDr<*d(1%ei8% zwp<_OtmS-yn;pD^pwYTY?z9W*t0@vi;<|Dd4jIMSUd~H+wcHETjVm@Fw8>OP)5h95GuV9B?5%cJ@?0TnU(_@222Zj$0^zIuT9~v7uG&*o(5JHDX z#{S1vrz0zvZu!2V8-#dSohn`sGs_!Go)YEP!FHG^ZM02YF3q>K=v6Pp d^N1fKo>RXdUQtzvy!b?QBmSU9f;gR6^DkQg)2#pi delta 1436 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%0D#lni-MDG_c8xN~~HjClQ6sW=ysRBPO@S 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⪚KuPGQAv_K5Tk36@F+k-UFPH15p*er;(Dc%otCe$ zQ+ig&(z-U7GSuywFP5;ju}|~ykU;zj#-xmM%s8CdGhzwNMLm|-#&*KOH-#3r!$w#QkB!D)qtE83jh>6$ zR*3H>H{RrJwCBGzx>SOV@MQyRG!`4Z=54g!eWR7gt$sr3@0LkcW0~Ad`Wo|Rz4(){ z%dJEr^H;atMoGHiOB((*qNDxm9gXo#0=^{Hzm1s4GPd5)*y6iQDy7BWy5laq*Q27S zM~dB(MdAT}y46JH!FV-yTwBr5*%W;WO}HXWRxwJp-(A~Q+?rI~>Mm;|UA?>TE)1D! zb$3S>i(3Dyj(t=t@JZ51vEd~mXqtUax;K=FTCoQ@h~CURb;A9kqu9=JV$XCE$&B@n zz0p~8V&>Ub-OF9X4D<49?zFC=k-78D*qW{)gPE5%#&(p77n!+nqkCI7(U;}AJG+Tj z+1%Ll?xMtGbKN(4iqmX?`&2J+wR!Lx_uF3L3ziq#(_0KccG9iY7oX1Q<96>WZZa>) z*c*MtX_Kvvt>`aWGxOkE?y&*L_SoBQziUMk^VGZU-PekLQM|ja6SGZo=N6X@78lGD zo88|Bi*}3X$rbS}L-w z9`|9}mTvE*qLp=a4&-)9HZR=gKKP_aQ;B?~ct1WrV5pebu4Q7B%@(;0SBOG$^9py= z3enCg9E%k7-Mkf|y890Rm3wjpOwz4*n6K1ZHSAgO05|vab$?tV7Fi?vA?0@W{2F8)|GcPfiEE(v;EICHaDRFZ zrAelQpI^~i8%c5Iih`|oS3Hk|G#$l%cb|D)6tEs{Xsu}FyG*KkITf&(Zw1~(%pdXy zj@lMVu(%U+PkXvp(-*|PfVoe&|85jR&_ss3F50J+U=-oMpbePlyRzt{r6YVH+1>cM z*v7`Y)7}t`Qp@8obMub$5+&2aANjxd&b1osf+i+;LDuSrkEpj z+8*wUF}$l}L+sC(*vZ(&*t>6uZy1~BKL55@!`8-nZWb0}D`Nfe*+S0Vbo*>WvH~|{ zyBN*}y3@9!g^hGiY!_+xV$pBg#U!>qHhPC>!Ei!6xl^=-;m>x$D>W~jkNI|s?{H?E zkNx_dXvcA8HTyuIJI#q5-6y6qbKkjGpZ(%y#@4!<4~Xl{6K7*J4vHZ*x`Ua=@by;n z)Q@iHxY&(C9X&2i3-iSHu`MS>5i?Kx;9fo@jwzwr~Qj!km6|14(V=oOzsHsvh#^f_@K>Nj@PFX9wuo!q#KqAOeB_PZ#S zGCOwqB02~3Me{GATbSV$bTp_L@KZ5%c|xox$Em z|H0QY`n%o#MF%&@{o`L0eDfn)m5l zAZK$}Tb(4IFfWDN_F*{`-OE#9nkt?9XtHdGvgIbr7Yj7oaFKkUEr^{c!f`M!``woD0lHEkJA!i_0Rvbcp_ zCO%}c!d*2CJFqg=`g%D%g0bh-sj@!v4PS`FUx(bV ziZp+?Nl(iruC-DwL5Y^Hl)Kox*sy0LM#dg*tdY-$(Y36N$y{nnAHOMI!%*nn_qL3p z8}V~HQXJ$Up~W1-M9lX$G83vO13QGPS`IS#BMwwlLIU{HsiRg zZ(`I~c|sPoMEJR5m0(be)vRWL!I=@ zvF=C1|1`&HZn7*lv7t5FytK}JprO?f=gOgmRum^v-(0IJPT0qCtvU>4+uX=Xq=9{3 zW9tMmd!dPS6}qCsO{_QJn7E7bt#ota&F%~N)+^ZaA(UZtKA8m ztnb<4*x=4qAJZ)FA6wtmx-85i{bTETSa4c0VxeBvQYePGtNU5)aG1;cS)ZEagJbVr zgY9t+-#Wm03C_^?SnVO!I}GQ}$)WffS~`8>g}>}$GA_=6>--e1D$%v$lN#ng_ts(f zM)B;JJIuO+qk*N2z%dKb*9iC?EK@z$RLM|9V% z)|p21B1^obh2h#P^-Ar~yDa%hXn9=ZiZ;tVcAM1@RV5}{4b2lDyGc9^37Xo`wcFCHBlTYZ_X& zn>N$JVDFBaY29cZd(hoG6OB11mU6pwgrV#IZWfx^P&a?JRcfx7;nup_N{KC*Z9RaN z?beD~#pc$X?)6ctEl#f|qm<9QSjRi9e#|Q0iW1avPu_*bRNx-J3vG8%tmfTT4>Of+ z9PkgYk1Q_PI~de1a@;%bu~Jg$UIE-TiX3;P0)p;~_gGn|fRFC6{=pb@XugHlWahdD z7Fapvg^y!@EU@knvDFV)n}z$}Qmeav@+~)vAAkMK8>YwRK5mU>vEqlVVUnUE?y1MD zTd&05+vjmB*5`5GWAmeQ2}qYfbX7+eY4q>V-mv@Qa+>0fRK!u5kMPG8x%%~g!?5SZ za7*!3OslJ8-vWnBX>|IH;H0B8ui{VJBCUHW%dQ=ri;e%pUnkb# z0-M>#@jv(tX3sFgp!KIDvwy)~^FHPHRyF?glF?!KUqT#htK(O{gUq&g1slByFNb;? zX*V18sdo+gtF1;a_1aWwn|cFE`~@OUAW?s8JQN|xw9#Pv$5t58>2*kHSG(8Nv6m$V zaZLN*e*)!*^E0)hB{WU)T$LTs+g*TDy5PW-{7L?*3SW-a^9la$t+ny}$g?kFH{EG< z?Q5c|_ZfC;Y ziaUe}~WlwG^?nB$dzx*&BTR4Jbb6^7hmC#+Nh$ESFxW%h<)cw*W*9vz+ zJ$pybMYuGg%cIRJ@G90Pv2Tz`7rYt!j6YptkxZ9X6qk1s>I;9`hGe>sDj9|U^~m0x zlWljmW)H?O8SEa&wp&N{^u^m;`+0AEy}iJ&>1v9ui|8V%KmIciuhUeGTi^Tt%Q_o4 zpQ^lp-~TZ7Oc@y~Q8Z>ABaOU_hDLdr@e+f0y_)TGLV}{xdz%OsP!RYb-@e zpJ5U0NVciyiKUg;O%JV?XEc+Ss3Am==li?&cihV}pU;_lzrWw_yxjA4&pG$}@1+&s zWUeIV1DF%ZyhvpBT)x>NVR)bF?nNcVZEoS1^p+&GHJ|8e?YKpEm`%~0wIe2#n$G)W zO%+b2O5<>68%9jOMiKL9-H2I-liAT3+~CW!5}eKP3&;lEh#a>FCo?0dhy(CjgcHB% z@j)vpXNb9!IG?*fzFc(bo3fuM>PuV!o*${}Rq;Cqy?dOup5bgP>738T4L`wtNt~qc z37o_E1Gv?=TfYhHi?CgbTZen+xa00_Wm0cG&HCQ=fz2`a!f7|!()8#(6#3gBosG9u z4f`;0mhDkwU*o^*7^ST)-L02ue%GkrTg2ayb zu83(wAWd8Q=K~0sWO^NQE2-Dgo@~gH##=G`nC$D)(sz!eGoKDPDw+8vZZPGy3TJ&y zXdE%gO(JIaEfMn@&X;rLlKEA%CXq?2T8on$5#2h@kKn9-dtBU=CN_SJX#$OPVP&b-8&g#R(NRGh+)lPI`q)(MP`_COIiFC9eS1T za~t}N_?{YZ3zCd!Kj8(wF!o{)p-qTPI7Me!rkf)33cv9je8~G{tXAF}K6Rhp{0qFZ zwL(&%Tg{!zh^NGN=^U*ed+dU&4ylw>HI6(`L9k!E%&ml@oXg~M08YG$smwR)tCI_~ z!K@>~MfYDNxT_&oKim|We>x0!IY_s|G%Ri9x4U&5cr9JZbqa|=ARf{EcUJ>D);l5uTydJ z9CKnE#g0z&nPntuCHMB_+<|b;3f?z_Z0eu6lfVn#V3P~yVl#Xdg|dt=k;!~i&gcFG z`_)vNHQd(T;s}fE0=9Bq#PR$p=N8ZNY+(5qUOz-4GCfaTHyAq~*>V{$^sK*du|NKp zL|8Ip^Quq%XMV^13RjMk?+o}-8Iw%MrQ==39G=uf|^0EE7OVP zoPU8^T1`))?hHryQh<#6=AsjuNyx-TK4>B`8Rv=2X0<)a5K5|g5ykLjs3=tL?oKny zVrvhlk-D#SHLatQM{rvrb>2W_C}HD1$Jy|zIFG^HvOS8;k&vC0+mD!Aw%_=+AL+Jo zJ;piqlh=N`v>&Cl--)#!diAu8>_<=SM^62ZntBzgj{l`Wul(xSuky(#?8#g=+RfZH zD9it_oQ>aps?D-J+K-jVfK5Iq)(d}s#96)l3YS-!o$NOq?1voe*Bk678zxs#b8+_D z4E_fh+oMxs-yUxMn2u|!KfIP<_jQJjOqx4vq3Yvgm#f{{dcB?9 zdM6V>dE_jEE7@RI_aiz~m@FLG;Eivdq0P(ey4h0c`QYQl_}Rhln$h zlR4c3=CiquOpC4l51hRGO2E_M#UW0H2fQ8VJHRrJ;=ms}&K&l`_If7}NCJX6GB2-! z%ij(3*|5x~Iq>HN;H1;AEsOtP*6Lrt(w*1pgUMgSnJD{l3mDZsafJI*sV$pwo@3s26_XRBafn5R?|3x7d z{pPN!=iR1W0=8QLECz={ECE!7SoGh9SoCK@Ec*7{uT4PT5R1NXrmv^|`3Y#M0%0+j zoONvg&xBa?^Lt*aUl?N1Zw|2}uy3!xUi9mHmiq4}p!_<6hP?w15&)m@xuy`O%#NHKTUmHPrh(%u!V)4J(&CNFL zl8*Gd*4x)1W|xf9%H5J}zT;u$`hJEVHaPC-{-%3gXNEUj(6VanB(V=>8N(HcM7RsQ z9`2z$2+pQgd{kN9vYd~;z4BzZGc5c3#s6%$*ew}gx<|7ZHS*ZP6aO1=EF;V5F+LxK z-L#w`uyV3&!CS!y5`Pj+2Y4Ez&2AcgHeAYR^N`w)txa#7 zwvqw58a$0bn`Mr?zQqgRRk-kV#>vWMaLHd-9MJ$a!YK?@`)PvzE{xvh!$J5Wqtv_9 z{(HC>mfM;nFfR6P#~Fd3tqN{uV`0{6hTY1o;Znx1EtE6hd^a-Cw2L-jp0HEJrHDH+ zj{!fA}}<#!(v&o(%gvHqLNU&7U&1sQu3ZW6Np8P0>>Q2PXSu4jkz?dv!VoHYbE zTMhbSaI?E*ph-+xzmF+_ieEuo@}*Ec0i946g z{C~o+%-C(|R>Etrx3&B{eDM;sMZ>Q{Yi@Rd4{|BDHjX=HFl*_jBvMWLaEyx2Iwn~; zAAX-@g3;<}CfwPHT&=^4;0@n1idX$6IE(OX)7c6)`H9a~tNs9-OCn|DBt?CRL|oxh zZ)vS^cwsq0c8)r+H&Cx(Mr0n>gZToBsjGYo+}Di^F>giJoC}Km5aMbUwQkq2zkz#m z!I{d=jg-R`=Do_d!ExN`+41Y8r4wApwe?bcA9xxWZqq&*-iqE{>k~KPE#FQ1l}SvH zQHjb+3e{x%tCM;hyWnrS54$ zOW4ORYbYu&;SCZPW4Ku(%!dhc5zDYruBQU=pWTF!+z|F`VlJg&|A=`1dqD@E(17p3 z{GGJL_;Dw}qbg*X)aQHQICzM1KX};t%$SrPg3I0YBTYMgC+{8^X}aYdXV`9|+lKn` zUxVll3YRlg){1r!F5Jj;PdT3C7c+z$qQTz=?>UNnD7p%_@Yh6lX@L9oug$>Nz1^rW z8)F|bPe*dMGjw?v(^_P~%>*e7^2bj^8v1AQzqWJwN+vv?kxDsNZtaDAtBBJd{h!=D zqfBDfX2u)R?5&xwHOs#)*k|G9j4z~FTl?m2+GvxQR)$!*94i*K!K}jDbXaPT)lYW| z@fO{UcqkWR#lqIx?(1Sd3~y#I@jxgTVQYW!_)l`9>#8hO ze+Imh!4rq8!3bOXA{15dflzqDRzDB@Ib{iNQ6neW*YRIUeH8{WzMKl%boO=g#?kC$ zP`5ZFZsC?7&f1Jvx?5{44DuIoevowPpM-wHEspaf**6E7wSUq*EulB<&!fzcxT%{o z-i(Q~bPLCu#5_AI5l^2Gh#i9q?}1z4d!hP1pxhjmd&E~_kKXbLcmmu?^)>KZH}V^9 z@dY~cmtd1As`(+l7cO(NFk`bw9*1a^PNl?p5nB5vSGpFq6A{sGg?EKQI|zRs;&ZT_ zn27yNO>Ag>xyVIsCef0$qEBk#NFU(;NrdTmurn7i5D(k+s)hTYw=B7mdtC(M;7J>E ze`}(V1eu_ao~uRlj9WQ@%Pw~#6FC&QNfYU~mu}3RXs*;sh#`_&L&h;1^Byy`>PIhd z6KlZMx98IwC#MU~#i^3Q^WYTvq_y}FUIv$R_s2xS8{vzY3_Vr99qygw_pqX`hD%`? zTMPdPpYGw9*OYJSKzP0Qy`yx&VvvHMvR4p5Cfu<%Pk-syL_ZA9?!&UB+E0Nu!DsXW zir_W<8C+`w3*eV>cyz720vD;tJ+!kH|pVSDt zz$GlI%5X;_%z^j9^^`}$)$r|_WBG72b~w`k&7zqIri|dpjCyzl?#$|L4>*|sOW_&t zZ&beyu7)#|cfiel%}TpQ@IUb0(f)Ws5_AlX9TV`6>CAsRB9M+rBB;Y>P_y8n8ensH z0nA9k(|3edz|%Fs{o$lMUPY!6=E0}N1^%Ccv&OSLt##-*xcaw&{`HQ`#yd|41Qi&( z1lvlvA3hk;e-Eck4D91OF`b@WYxT(HaCf zzxRtk3~JxQj1W#%4^7}1A#MvVgTF>E3A`UJp5&Mh>i9ey&gQ|Az2e8=B`|%Nmw=~* zr;;E)0a52g1Z$@A%u-YIC;0L+EJ&+|x8Macg8;X|$3t8Rca1V>Q2%G(%0gJ{#0}KW zS+mG7)whI8pJ$Hjh0ki(eF$QU{jsv-0KXz~a$tJ}kHO1AJR3e2;y=ULF9ccq4m<*u zdw}H7E;uj5N8yQZvLqmiL40Q_-HSYn(=1Pf@0=5KEa~tD*akQVejk<}Y)OJ2hWEeh z&-#U*gnPdd*#8mEfqQ6N&*ji;f^8x0qzQaq5;I+%V>IDV1Eak z5aRA|6WBKEk#GuZb2J~G20tY0ACiDs2==<%95e^!!BZA8Q`QKV!&!@h04m@GA^sdb z4%b%yU&E(hTk9{vmqT3lKJ4G(=??LG322BQZynDKHGovO$$A!`Gy&b=VN3{KRsAry z@UL`4%H!cSObBKxKLu}q`zjZSf0q4aRxTI32;TZGIV3+56TvD36aPlLSAG{h$b@C8 z2Ji{If(c7=)gO=mKA;XLe+O57$ip_}D{%E@T9x{*+l3J2sc*l37>;2lplcCe-YT{!CRvU zY%R@4uoqsgDSi%~wlBCh{1INVpAA|XU>SVpfuPd94OhZ*)&CYa{}7v$)c&7v?qMDT zD<6WRX;oAz71W3UoUF`i!<;FwZB~thS(YV-y`C){E`>RGmAE@6`{DD-Iq;pweE-rD zj)U94gH=DV8|`lff>aeehQUfWU3m(85Vm#XS-9izppwmli{X}PUk0y-xfgi}s(?4a z_bYz}M@}#(RX)&-_CEr_5EY!jU=94Z@AAi;X7-n1IjbtPhs26UxAOG4(iMj_#!+~ z%X}p~?0bKCPa=2^-oTpTN!4$Mm(^yYj)ouo8o{RsMyucwoEFQ@KjrvLt^l^RJPAI? z(ned=w}a#3{53X-uq&Jk+h*1eE`_Ctr4CGhx5APDIO;r);53385J&(k;LEU$U<2Gn z*TqD?1MUhxqV{{?l`vhr=f4VOZ~E0T{sGRtkxgW(kISMJ!Mi-B|NSL`$JpoC3xTBY zE_glsoOSw~I;K!AV;Zf|2YZ&np#4O0kXPaF;TEx6NK*6+Dr> zZ+}z$4{!?m*zSt)!;kApk+3ao0PlP8B1}fGggt7Hs)zgFxMu$Ph-7&-T+MzoqgOB* zK9v{*_ypV}IVge`;bM5FhPM5Tc_jO>@;7jV zy?+fgz}Q~Q<=_nErf^P3-xkh;Z&!UExDdACjf8urM$8vcHFyL;v(~gzSv$Y^{y(Fp+)$=G{eJ4t@ydvn_MJ`rix3whx-|33vnCUi6H`e}b#ws8_}a;(ODM z)7Xb90m4n;&OBs(T*?eig%fzFyjk^~g?WZNMD^M5`#dvltojGxc%BjWP#zB#^Gx`H zCg2ZnVOKtf;AJTh6d_o^Qj6u+;FYjS$B4)IO* zQ|7QYq(k2v&h8%7W`ZCE!3bUZ^R5`qhr4Nn?cujz(94mo%5{``!W%;R!OB+u0Q??$ z%MZa@q9MV<2zG=5cwG5mjo=S(8(n3T1QsaMjJyQRhG*!Skmwh{3v?-1_zh*R8Ny|7 zG@DgKdqwXe5T2?LZicsn^q(qw_X+~|7o4QaxDr97@<{c641PMKKdbC@?b!c#KkaX2 z$lw=!D08@_22c;)6Vl(NY_B*8PSN#FNkBVzi!O8ucZEOIg-+rA%8fMq+&;9w>X5-` z41~Q^Fg%Qt0JDP}nxyOvAka^NZ|N84pH;4-5zK*`h4c%RZ4SK=Meq~`bJW8+m{*E< z3j~s4R=AwoVANh2@4k+|gPWnZwf-{PQtj*0mgPQd7bFu1?-uwNdbu|wppT{?xPU-n z5W(GW-vR#JNw^36Xo!CW&kgY?xIDxYVR?&Q3k|OT9+%@^fFx)>{9M59dnKkxbPhE* zfuBTeLph(O33|K-W*wk;ZRG>-Qh2N|>z=1zo;5Y+zsGgiE;W{?N7BnB#ME+r375fj zl@np_b#BUO@b+3xgR2JJ5d1G5YBr94)qFNI))~m&5V!MD(}&-I7arxez1wqm8MC|c zs7Z{Ilw@LX%-w^A2W#h!nmhQ>ShHj1j@XBO#0J@aZ wn3aj{2ggjynAMr?*K*wXs$1_kM|05aB*zv9-O(Hy53V+j^y>Cc@<#st4}5=6UH||9 diff --git a/MDK-ARM/gimbal/gimbal.build_log.htm b/MDK-ARM/gimbal/gimbal.build_log.htm index ff399a8..6939acc 100644 --- a/MDK-ARM/gimbal/gimbal.build_log.htm +++ b/MDK-ARM/gimbal/gimbal.build_log.htm @@ -31,15 +31,9 @@ Note: source file '..\User\bsp\can.c' - object file renamed from 'gimbal\can.o' Note: source file '..\User\bsp\gpio.c' - object file renamed from 'gimbal\gpio.o' to 'gimbal\gpio_1.o'. Note: source file '..\User\bsp\i2c.c' - object file renamed from 'gimbal\i2c.o' to 'gimbal\i2c_1.o'. Note: source file '..\User\bsp\spi.c' - object file renamed from 'gimbal\spi.o' to 'gimbal\spi_1.o'. -compiling gimbal_ctrl.c... -compiling ai.c... -compiling init.c... -compiling remote.c... compiling config.c... -compiling gimbal.c... -compiling atti_esti.c... linking... -Program Size: Code=84384 RO-data=996 RW-data=416 ZI-data=34280 +Program Size: Code=84448 RO-data=996 RW-data=424 ZI-data=34272 "gimbal\gimbal.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

diff --git a/MDK-ARM/gimbal/gimbal.htm b/MDK-ARM/gimbal/gimbal.htm index 687ea59..fa82f9a 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: Tue Oct 28 22:17:10 2025 +

#<CALLGRAPH># ARM Linker, 6160001: Last Updated: Sat Nov 1 22:06:33 2025

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

Call chain for Maximum Stack Depth:

@@ -1114,7 +1114,7 @@ Global Symbols
  • >>   MX_CAN1_Init -

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

    Gimbal_Control (Thumb, 1000 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 @@ -1142,7 +1142,7 @@ Global Symbols
      [Called By]
      • >>   Task_gimbal_ctrl
      -

      Gimbal_Output (Thumb, 174 bytes, Stack size 16 bytes, gimbal.o(.text.Gimbal_Output)) +

      Gimbal_Output (Thumb, 274 bytes, Stack size 16 bytes, gimbal.o(.text.Gimbal_Output))

      [Stack]

      • Max Depth = 248
      • Call Chain = Gimbal_Output ⇒ MOTOR_DM_MITCtrl ⇒ MOTOR_DM_SendMITCmd ⇒ BSP_CAN_TransmitStdDataFrame ⇒ BSP_CAN_Transmit ⇒ BSP_CAN_TxQueuePush

      [Calls]
      • >>   MOTOR_DM_MITCtrl @@ -4974,7 +4974,7 @@ Local Symbols
        [Called By]
        • >>   MOTOR_DM_ParseFeedbackFrame
        -

        Gimbal_SetMode (Thumb, 188 bytes, Stack size 24 bytes, gimbal.o(.text.Gimbal_SetMode)) +

        Gimbal_SetMode (Thumb, 180 bytes, Stack size 24 bytes, gimbal.o(.text.Gimbal_SetMode))

        [Stack]

        • Max Depth = 120
        • Call Chain = Gimbal_SetMode ⇒ PID_Reset ⇒ LowPassFilter2p_Reset ⇒ LowPassFilter2p_Apply ⇒ __ARM_isinf

        [Calls]
        • >>   PID_Reset diff --git a/MDK-ARM/gimbal/gimbal.map b/MDK-ARM/gimbal/gimbal.map index 677be3e..4e5eef2 100644 --- a/MDK-ARM/gimbal/gimbal.map +++ b/MDK-ARM/gimbal/gimbal.map @@ -6467,585 +6467,585 @@ Image Symbol Table [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) - [Anonymous Symbol] 0x08003c4c Section 0 gimbal.o(.text.Gimbal_Init) - [Anonymous Symbol] 0x08003e24 Section 0 gimbal.o(.text.Gimbal_Output) - Gimbal_SetMode 0x08003ed5 Thumb Code 188 gimbal.o(.text.Gimbal_SetMode) - [Anonymous Symbol] 0x08003ed4 Section 0 gimbal.o(.text.Gimbal_SetMode) - [Anonymous Symbol] 0x08003f90 Section 0 gimbal.o(.text.Gimbal_UpdateFeedback) - [Anonymous Symbol] 0x080040f8 Section 0 gimbal.o(.text.Gimbal_UpdateIMU) - [Anonymous Symbol] 0x08004144 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) - [Anonymous Symbol] 0x08004198 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) - [Anonymous Symbol] 0x080042f0 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) - [Anonymous Symbol] 0x08004490 Section 0 can_1.o(.text.HAL_CAN_ErrorCallback) - [Anonymous Symbol] 0x080044e0 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) - [Anonymous Symbol] 0x08004534 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) - [Anonymous Symbol] 0x08004748 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) - [Anonymous Symbol] 0x080047b8 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) - [Anonymous Symbol] 0x08004bac Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) - [Anonymous Symbol] 0x08004d8c Section 0 can.o(.text.HAL_CAN_MspInit) - [Anonymous Symbol] 0x08004f5c Section 0 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) - [Anonymous Symbol] 0x08004fac Section 0 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) - [Anonymous Symbol] 0x08004ffc Section 0 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) - [Anonymous Symbol] 0x0800504c Section 0 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) - [Anonymous Symbol] 0x0800509c Section 0 can_1.o(.text.HAL_CAN_SleepCallback) - [Anonymous Symbol] 0x080050ec Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) - [Anonymous Symbol] 0x08005178 Section 0 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) - [Anonymous Symbol] 0x080051c8 Section 0 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) - [Anonymous Symbol] 0x08005214 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) - [Anonymous Symbol] 0x08005264 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) - [Anonymous Symbol] 0x080052b4 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) - [Anonymous Symbol] 0x08005304 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) - [Anonymous Symbol] 0x08005354 Section 0 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) - [Anonymous Symbol] 0x080053a4 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) - [Anonymous Symbol] 0x08005490 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) - [Anonymous Symbol] 0x080054d4 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) - [Anonymous Symbol] 0x080054e4 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) - [Anonymous Symbol] 0x08005804 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) - [Anonymous Symbol] 0x08005974 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) - [Anonymous Symbol] 0x08005a38 Section 0 stm32f4xx_hal.o(.text.HAL_Delay) - [Anonymous Symbol] 0x08005a7c Section 0 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) - [Anonymous Symbol] 0x08005ae4 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) - [Anonymous Symbol] 0x08005b1c Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) - [Anonymous Symbol] 0x08005ed4 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) - [Anonymous Symbol] 0x08005f04 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) - [Anonymous Symbol] 0x08005f34 Section 0 stm32f4xx_hal.o(.text.HAL_GetTick) - [Anonymous Symbol] 0x08005f40 Section 0 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) - [Anonymous Symbol] 0x08005f94 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) - [Anonymous Symbol] 0x08005fa4 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) - [Anonymous Symbol] 0x08006120 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) - [Anonymous Symbol] 0x080064ec Section 0 i2c_1.o(.text.HAL_I2C_ErrorCallback) - [Anonymous Symbol] 0x08006540 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) - [Anonymous Symbol] 0x080067e4 Section 0 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) - [Anonymous Symbol] 0x08006838 Section 0 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) - [Anonymous Symbol] 0x0800688c Section 0 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) - [Anonymous Symbol] 0x080068dc Section 0 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) - [Anonymous Symbol] 0x08006930 Section 0 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) - [Anonymous Symbol] 0x08006984 Section 0 i2c.o(.text.HAL_I2C_MspInit) - [Anonymous Symbol] 0x08006ab8 Section 0 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) - [Anonymous Symbol] 0x08006b0c Section 0 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) - [Anonymous Symbol] 0x08006b60 Section 0 stm32f4xx_hal.o(.text.HAL_IncTick) - [Anonymous Symbol] 0x08006b7c Section 0 stm32f4xx_hal.o(.text.HAL_Init) - [Anonymous Symbol] 0x08006bb4 Section 0 stm32f4xx_hal.o(.text.HAL_InitTick) - [Anonymous Symbol] 0x08006c24 Section 0 stm32f4xx_hal_msp.o(.text.HAL_MspInit) - [Anonymous Symbol] 0x08006c7c Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) - [Anonymous Symbol] 0x08006c90 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) - [Anonymous Symbol] 0x08006ca4 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) - [Anonymous Symbol] 0x08006cd8 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) - [Anonymous Symbol] 0x08006ce8 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) - [Anonymous Symbol] 0x08006f4c Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) - [Anonymous Symbol] 0x08006f58 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) - [Anonymous Symbol] 0x08006f7c Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) - [Anonymous Symbol] 0x08006fa0 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) - [Anonymous Symbol] 0x08007088 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) - [Anonymous Symbol] 0x08007748 Section 0 spi_1.o(.text.HAL_SPI_ErrorCallback) - [Anonymous Symbol] 0x0800779c Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) - [Anonymous Symbol] 0x0800789c Section 0 spi.o(.text.HAL_SPI_MspInit) - [Anonymous Symbol] 0x08007aac Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) - [Anonymous Symbol] 0x08007cfc Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) - [Anonymous Symbol] 0x08007e94 Section 0 spi_1.o(.text.HAL_SPI_RxCpltCallback) - [Anonymous Symbol] 0x08007ee8 Section 0 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) - [Anonymous Symbol] 0x08007f3c Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) - [Anonymous Symbol] 0x080081e0 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) - [Anonymous Symbol] 0x08008584 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) - [Anonymous Symbol] 0x08008798 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) - [Anonymous Symbol] 0x08008904 Section 0 spi_1.o(.text.HAL_SPI_TxCpltCallback) - [Anonymous Symbol] 0x0800894c Section 0 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) - [Anonymous Symbol] 0x080089a0 Section 0 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) - [Anonymous Symbol] 0x080089f4 Section 0 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) - [Anonymous Symbol] 0x08008a48 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) - [Anonymous Symbol] 0x08008a58 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) - [Anonymous Symbol] 0x08008a60 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) - [Anonymous Symbol] 0x08008a68 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) - [Anonymous Symbol] 0x08008b8c Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) - [Anonymous Symbol] 0x08008c28 Section 0 tim.o(.text.HAL_TIM_Base_MspInit) - [Anonymous Symbol] 0x08008cb4 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) - [Anonymous Symbol] 0x08008cbc Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) - [Anonymous Symbol] 0x08008ed8 Section 0 tim.o(.text.HAL_TIM_MspPostInit) - [Anonymous Symbol] 0x08008f44 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) - [Anonymous Symbol] 0x08008f4c Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) - [Anonymous Symbol] 0x08009090 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) - [Anonymous Symbol] 0x0800912c Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) - [Anonymous Symbol] 0x08009134 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) - [Anonymous Symbol] 0x0800913c Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) - [Anonymous Symbol] 0x08009308 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) - [Anonymous Symbol] 0x08009310 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) - [Anonymous Symbol] 0x08009318 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) - [Anonymous Symbol] 0x08009324 Section 0 uart.o(.text.HAL_UART_ErrorCallback) - [Anonymous Symbol] 0x08009378 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) - [Anonymous Symbol] 0x080097d4 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) - [Anonymous Symbol] 0x08009874 Section 0 usart.o(.text.HAL_UART_MspInit) - [Anonymous Symbol] 0x08009a40 Section 0 uart.o(.text.HAL_UART_RxCpltCallback) - [Anonymous Symbol] 0x08009a94 Section 0 uart.o(.text.HAL_UART_TxCpltCallback) - [Anonymous Symbol] 0x08009ae8 Section 0 stm32f4xx_it.o(.text.HardFault_Handler) - [Anonymous Symbol] 0x08009aec Section 0 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) - [Anonymous Symbol] 0x08009afc Section 0 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) - I2C_ConvertOtherXferOptions 0x08009b0d Thumb Code 52 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) - [Anonymous Symbol] 0x08009b0c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) - I2C_DMAAbort 0x08009b41 Thumb Code 342 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) - [Anonymous Symbol] 0x08009b40 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) - I2C_Flush_DR 0x08009c99 Thumb Code 36 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) - [Anonymous Symbol] 0x08009c98 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) - I2C_Get 0x08009cbd Thumb Code 72 i2c_1.o(.text.I2C_Get) - [Anonymous Symbol] 0x08009cbc Section 0 i2c_1.o(.text.I2C_Get) - I2C_ITError 0x08009d05 Thumb Code 634 stm32f4xx_hal_i2c.o(.text.I2C_ITError) - [Anonymous Symbol] 0x08009d04 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ITError) - I2C_MasterReceive_BTF 0x08009f81 Thumb Code 428 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) - [Anonymous Symbol] 0x08009f80 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) - I2C_MasterReceive_RXNE 0x0800a12d Thumb Code 362 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) - [Anonymous Symbol] 0x0800a12c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) - I2C_MasterTransmit_BTF 0x0800a299 Thumb Code 222 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) - [Anonymous Symbol] 0x0800a298 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) - I2C_MasterTransmit_TXE 0x0800a379 Thumb Code 318 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) - [Anonymous Symbol] 0x0800a378 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) - I2C_Master_ADD10 0x0800a4b9 Thumb Code 70 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) - [Anonymous Symbol] 0x0800a4b8 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) - I2C_Master_ADDR 0x0800a501 Thumb Code 830 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) - [Anonymous Symbol] 0x0800a500 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) - I2C_Master_SB 0x0800a841 Thumb Code 240 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) - [Anonymous Symbol] 0x0800a840 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) - I2C_MemoryTransmit_TXE_BTF 0x0800a931 Thumb Code 296 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) - [Anonymous Symbol] 0x0800a930 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) - I2C_SlaveReceive_BTF 0x0800aa59 Thumb Code 46 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) - [Anonymous Symbol] 0x0800aa58 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) - I2C_SlaveReceive_RXNE 0x0800aa89 Thumb Code 110 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) - [Anonymous Symbol] 0x0800aa88 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) - I2C_SlaveTransmit_BTF 0x0800aaf9 Thumb Code 44 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) - [Anonymous Symbol] 0x0800aaf8 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) - I2C_SlaveTransmit_TXE 0x0800ab25 Thumb Code 108 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) - [Anonymous Symbol] 0x0800ab24 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) - I2C_Slave_ADDR 0x0800ab91 Thumb Code 174 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) - [Anonymous Symbol] 0x0800ab90 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) - I2C_Slave_AF 0x0800ac41 Thumb Code 228 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) - [Anonymous Symbol] 0x0800ac40 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) - I2C_Slave_STOPF 0x0800ad25 Thumb Code 586 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) - [Anonymous Symbol] 0x0800ad24 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) - I2C_WaitOnSTOPRequestThroughIT 0x0800af71 Thumb Code 120 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) - [Anonymous Symbol] 0x0800af70 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) - [Anonymous Symbol] 0x0800afe8 Section 0 user_math.o(.text.InvSqrt) - [Anonymous Symbol] 0x0800b060 Section 0 filter.o(.text.LowPassFilter2p_Apply) - [Anonymous Symbol] 0x0800b118 Section 0 filter.o(.text.LowPassFilter2p_Init) - [Anonymous Symbol] 0x0800b254 Section 0 filter.o(.text.LowPassFilter2p_Reset) - MOTOR_DM_CreateCANManager 0x0800b2e9 Thumb Code 150 motor_dm.o(.text.MOTOR_DM_CreateCANManager) - [Anonymous Symbol] 0x0800b2e8 Section 0 motor_dm.o(.text.MOTOR_DM_CreateCANManager) - [Anonymous Symbol] 0x0800b380 Section 0 motor_dm.o(.text.MOTOR_DM_Enable) - MOTOR_DM_GetCANManager 0x0800b3fd Thumb Code 48 motor_dm.o(.text.MOTOR_DM_GetCANManager) - [Anonymous Symbol] 0x0800b3fc Section 0 motor_dm.o(.text.MOTOR_DM_GetCANManager) - [Anonymous Symbol] 0x0800b42c Section 0 motor_dm.o(.text.MOTOR_DM_GetMotor) - [Anonymous Symbol] 0x0800b4b4 Section 0 motor_dm.o(.text.MOTOR_DM_MITCtrl) - MOTOR_DM_ParseFeedbackFrame 0x0800b4fd Thumb Code 344 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) - [Anonymous Symbol] 0x0800b4fc Section 0 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) - [Anonymous Symbol] 0x0800b654 Section 0 motor_dm.o(.text.MOTOR_DM_Register) - MOTOR_DM_SendMITCmd 0x0800b781 Thumb Code 324 motor_dm.o(.text.MOTOR_DM_SendMITCmd) - [Anonymous Symbol] 0x0800b780 Section 0 motor_dm.o(.text.MOTOR_DM_SendMITCmd) - [Anonymous Symbol] 0x0800b8c4 Section 0 motor_dm.o(.text.MOTOR_DM_Update) - MOTOR_RM_CreateCANManager 0x0800b9d1 Thumb Code 150 motor_rm.o(.text.MOTOR_RM_CreateCANManager) - [Anonymous Symbol] 0x0800b9d0 Section 0 motor_rm.o(.text.MOTOR_RM_CreateCANManager) - [Anonymous Symbol] 0x0800ba68 Section 0 motor_rm.o(.text.MOTOR_RM_Ctrl) - MOTOR_RM_GetCANManager 0x0800bbd9 Thumb Code 48 motor_rm.o(.text.MOTOR_RM_GetCANManager) - [Anonymous Symbol] 0x0800bbd8 Section 0 motor_rm.o(.text.MOTOR_RM_GetCANManager) - MOTOR_RM_GetLSB 0x0800bc09 Thumb Code 82 motor_rm.o(.text.MOTOR_RM_GetLSB) - [Anonymous Symbol] 0x0800bc08 Section 0 motor_rm.o(.text.MOTOR_RM_GetLSB) - MOTOR_RM_GetLogicalIndex 0x0800bc5d Thumb Code 128 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) - [Anonymous Symbol] 0x0800bc5c Section 0 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) - [Anonymous Symbol] 0x0800bcdc Section 0 motor_rm.o(.text.MOTOR_RM_GetMotor) - MOTOR_RM_GetRatio 0x0800bd55 Thumb Code 80 motor_rm.o(.text.MOTOR_RM_GetRatio) - [Anonymous Symbol] 0x0800bd54 Section 0 motor_rm.o(.text.MOTOR_RM_GetRatio) - [Anonymous Symbol] 0x0800bda4 Section 0 motor_rm.o(.text.MOTOR_RM_Register) - [Anonymous Symbol] 0x0800bec4 Section 0 motor_rm.o(.text.MOTOR_RM_SetOutput) - [Anonymous Symbol] 0x0800bfe0 Section 0 motor_rm.o(.text.MOTOR_RM_Update) - [Anonymous Symbol] 0x0800c0e4 Section 0 can.o(.text.MX_CAN1_Init) - [Anonymous Symbol] 0x0800c134 Section 0 can.o(.text.MX_CAN2_Init) - [Anonymous Symbol] 0x0800c184 Section 0 dma.o(.text.MX_DMA_Init) - [Anonymous Symbol] 0x0800c20c Section 0 freertos.o(.text.MX_FREERTOS_Init) - [Anonymous Symbol] 0x0800c24c Section 0 gpio.o(.text.MX_GPIO_Init) - [Anonymous Symbol] 0x0800c478 Section 0 i2c.o(.text.MX_I2C1_Init) - [Anonymous Symbol] 0x0800c4c0 Section 0 i2c.o(.text.MX_I2C2_Init) - [Anonymous Symbol] 0x0800c508 Section 0 spi.o(.text.MX_SPI1_Init) - [Anonymous Symbol] 0x0800c55c Section 0 spi.o(.text.MX_SPI2_Init) - [Anonymous Symbol] 0x0800c5b0 Section 0 tim.o(.text.MX_TIM10_Init) - [Anonymous Symbol] 0x0800c640 Section 0 tim.o(.text.MX_TIM7_Init) - [Anonymous Symbol] 0x0800c698 Section 0 usart.o(.text.MX_USART1_UART_Init) - [Anonymous Symbol] 0x0800c6d8 Section 0 usart.o(.text.MX_USART3_UART_Init) - [Anonymous Symbol] 0x0800c724 Section 0 stm32f4xx_it.o(.text.MemManage_Handler) - Motor_RM_Decode 0x0800c729 Thumb Code 540 motor_rm.o(.text.Motor_RM_Decode) - [Anonymous Symbol] 0x0800c728 Section 0 motor_rm.o(.text.Motor_RM_Decode) - [Anonymous Symbol] 0x0800c944 Section 0 stm32f4xx_it.o(.text.NMI_Handler) - NVIC_EncodePriority 0x0800c949 Thumb Code 108 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) - [Anonymous Symbol] 0x0800c948 Section 0 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) - [Anonymous Symbol] 0x0800c9b4 Section 0 pid.o(.text.PID_Calc) - [Anonymous Symbol] 0x0800cca4 Section 0 pid.o(.text.PID_Init) - [Anonymous Symbol] 0x0800ce3c Section 0 pid.o(.text.PID_Reset) - [Anonymous Symbol] 0x0800ce90 Section 0 port.o(.text.PendSV_Handler) - pxCurrentTCBConst 0x0800cef0 Number 0 port.o(.text.PendSV_Handler) - [Anonymous Symbol] 0x0800cef4 Section 0 bsp_rc.o(.text.RC_Init) - [Anonymous Symbol] 0x0800cf88 Section 0 bsp_rc.o(.text.RC_restart) - SPI_DMAError 0x0800cfe5 Thumb Code 52 stm32f4xx_hal_spi.o(.text.SPI_DMAError) - [Anonymous Symbol] 0x0800cfe4 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAError) - SPI_DMAHalfReceiveCplt 0x0800d019 Thumb Code 22 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfReceiveCplt) - [Anonymous Symbol] 0x0800d018 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfReceiveCplt) - SPI_DMAHalfTransmitCplt 0x0800d031 Thumb Code 22 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitCplt) - [Anonymous Symbol] 0x0800d030 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitCplt) - SPI_DMAHalfTransmitReceiveCplt 0x0800d049 Thumb Code 22 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitReceiveCplt) - [Anonymous Symbol] 0x0800d048 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitReceiveCplt) - SPI_DMAReceiveCplt 0x0800d061 Thumb Code 162 stm32f4xx_hal_spi.o(.text.SPI_DMAReceiveCplt) - [Anonymous Symbol] 0x0800d060 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAReceiveCplt) - SPI_DMATransmitCplt 0x0800d105 Thumb Code 166 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitCplt) - [Anonymous Symbol] 0x0800d104 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitCplt) - SPI_DMATransmitReceiveCplt 0x0800d1ad Thumb Code 134 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitReceiveCplt) - [Anonymous Symbol] 0x0800d1ac Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitReceiveCplt) - SPI_EndRxTransaction 0x0800d235 Thumb Code 228 stm32f4xx_hal_spi.o(.text.SPI_EndRxTransaction) - [Anonymous Symbol] 0x0800d234 Section 0 stm32f4xx_hal_spi.o(.text.SPI_EndRxTransaction) - SPI_EndRxTxTransaction 0x0800d319 Thumb Code 204 stm32f4xx_hal_spi.o(.text.SPI_EndRxTxTransaction) - [Anonymous Symbol] 0x0800d318 Section 0 stm32f4xx_hal_spi.o(.text.SPI_EndRxTxTransaction) - SPI_Get 0x0800d3e5 Thumb Code 46 spi_1.o(.text.SPI_Get) - [Anonymous Symbol] 0x0800d3e4 Section 0 spi_1.o(.text.SPI_Get) - SPI_WaitFlagStateUntilTimeout 0x0800d415 Thumb Code 300 stm32f4xx_hal_spi.o(.text.SPI_WaitFlagStateUntilTimeout) - [Anonymous Symbol] 0x0800d414 Section 0 stm32f4xx_hal_spi.o(.text.SPI_WaitFlagStateUntilTimeout) - [Anonymous Symbol] 0x0800d540 Section 0 port.o(.text.SVC_Handler) - pxCurrentTCBConst2 0x0800d560 Number 0 port.o(.text.SVC_Handler) - SVC_Setup 0x0800d565 Thumb Code 14 cmsis_os2.o(.text.SVC_Setup) - [Anonymous Symbol] 0x0800d564 Section 0 cmsis_os2.o(.text.SVC_Setup) - [Anonymous Symbol] 0x0800d574 Section 0 freertos.o(.text.StartDefaultTask) - SysTick_Config 0x0800d589 Thumb Code 82 stm32f4xx_hal_cortex.o(.text.SysTick_Config) - [Anonymous Symbol] 0x0800d588 Section 0 stm32f4xx_hal_cortex.o(.text.SysTick_Config) - [Anonymous Symbol] 0x0800d5dc Section 0 stm32f4xx_it.o(.text.SysTick_Handler) - [Anonymous Symbol] 0x0800d5f4 Section 0 main.o(.text.SystemClock_Config) - [Anonymous Symbol] 0x0800d6b0 Section 0 system_stm32f4xx.o(.text.SystemInit) - [Anonymous Symbol] 0x0800d6c4 Section 0 stm32f4xx_it.o(.text.TIM7_IRQHandler) - [Anonymous Symbol] 0x0800d6d4 Section 0 stm32f4xx_hal_tim.o(.text.TIM_Base_SetConfig) - [Anonymous Symbol] 0x0800d878 Section 0 stm32f4xx_hal_tim.o(.text.TIM_CCxChannelCmd) - TIM_OC1_SetConfig 0x0800d8b1 Thumb Code 234 stm32f4xx_hal_tim.o(.text.TIM_OC1_SetConfig) - [Anonymous Symbol] 0x0800d8b0 Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC1_SetConfig) - [Anonymous Symbol] 0x0800d99c Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC2_SetConfig) - TIM_OC3_SetConfig 0x0800da91 Thumb Code 242 stm32f4xx_hal_tim.o(.text.TIM_OC3_SetConfig) - [Anonymous Symbol] 0x0800da90 Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC3_SetConfig) - TIM_OC4_SetConfig 0x0800db85 Thumb Code 164 stm32f4xx_hal_tim.o(.text.TIM_OC4_SetConfig) - [Anonymous Symbol] 0x0800db84 Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC4_SetConfig) - [Anonymous Symbol] 0x0800dc28 Section 0 init.o(.text.Task_Init) - [Anonymous Symbol] 0x0800dce0 Section 0 atti_esti.o(.text.Task_atti_esti) - [Anonymous Symbol] 0x0800de70 Section 0 gimbal_ctrl.o(.text.Task_gimbal_ctrl) - [Anonymous Symbol] 0x0800df50 Section 0 remote.o(.text.Task_remote) - UART_DMAAbortOnError 0x0800dff1 Thumb Code 28 stm32f4xx_hal_uart.o(.text.UART_DMAAbortOnError) - [Anonymous Symbol] 0x0800dff0 Section 0 stm32f4xx_hal_uart.o(.text.UART_DMAAbortOnError) - UART_EndRxTransfer 0x0800e00d Thumb Code 148 stm32f4xx_hal_uart.o(.text.UART_EndRxTransfer) - [Anonymous Symbol] 0x0800e00c Section 0 stm32f4xx_hal_uart.o(.text.UART_EndRxTransfer) - UART_EndTransmit_IT 0x0800e0a1 Thumb Code 38 stm32f4xx_hal_uart.o(.text.UART_EndTransmit_IT) - [Anonymous Symbol] 0x0800e0a0 Section 0 stm32f4xx_hal_uart.o(.text.UART_EndTransmit_IT) - UART_Get 0x0800e0c9 Thumb Code 46 uart.o(.text.UART_Get) - [Anonymous Symbol] 0x0800e0c8 Section 0 uart.o(.text.UART_Get) - UART_Receive_IT 0x0800e0f9 Thumb Code 360 stm32f4xx_hal_uart.o(.text.UART_Receive_IT) - [Anonymous Symbol] 0x0800e0f8 Section 0 stm32f4xx_hal_uart.o(.text.UART_Receive_IT) - UART_SetConfig 0x0800e261 Thumb Code 314 stm32f4xx_hal_uart.o(.text.UART_SetConfig) - [Anonymous Symbol] 0x0800e260 Section 0 stm32f4xx_hal_uart.o(.text.UART_SetConfig) - UART_Transmit_IT 0x0800e39d Thumb Code 148 stm32f4xx_hal_uart.o(.text.UART_Transmit_IT) - [Anonymous Symbol] 0x0800e39c Section 0 stm32f4xx_hal_uart.o(.text.UART_Transmit_IT) - [Anonymous Symbol] 0x0800e430 Section 0 stm32f4xx_it.o(.text.USART3_IRQHandler) - [Anonymous Symbol] 0x0800e450 Section 0 remote_control.o(.text.USART3_IRQHandler1) - [Anonymous Symbol] 0x0800e474 Section 0 stm32f4xx_it.o(.text.UsageFault_Handler) - __ARM_isfinite 0x0800e479 Thumb Code 30 filter.o(.text.__ARM_isfinite) - [Anonymous Symbol] 0x0800e478 Section 0 filter.o(.text.__ARM_isfinite) - __ARM_isfinite 0x0800e499 Thumb Code 30 pid.o(.text.__ARM_isfinite) - [Anonymous Symbol] 0x0800e498 Section 0 pid.o(.text.__ARM_isfinite) - __ARM_isfinitef 0x0800e4b9 Thumb Code 24 filter.o(.text.__ARM_isfinitef) - [Anonymous Symbol] 0x0800e4b8 Section 0 filter.o(.text.__ARM_isfinitef) - __ARM_isfinitef 0x0800e4d1 Thumb Code 24 pid.o(.text.__ARM_isfinitef) - [Anonymous Symbol] 0x0800e4d0 Section 0 pid.o(.text.__ARM_isfinitef) - __ARM_isinf 0x0800e4e9 Thumb Code 52 filter.o(.text.__ARM_isinf) - [Anonymous Symbol] 0x0800e4e8 Section 0 filter.o(.text.__ARM_isinf) - __ARM_isinff 0x0800e51d Thumb Code 28 filter.o(.text.__ARM_isinff) - [Anonymous Symbol] 0x0800e51c Section 0 filter.o(.text.__ARM_isinff) - __NVIC_DisableIRQ 0x0800e539 Thumb Code 56 stm32f4xx_hal_cortex.o(.text.__NVIC_DisableIRQ) - [Anonymous Symbol] 0x0800e538 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_DisableIRQ) - __NVIC_EnableIRQ 0x0800e571 Thumb Code 48 stm32f4xx_hal_cortex.o(.text.__NVIC_EnableIRQ) - [Anonymous Symbol] 0x0800e570 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_EnableIRQ) - __NVIC_GetPriorityGrouping 0x0800e5a1 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) - [Anonymous Symbol] 0x0800e5a0 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) - __NVIC_SetPriority 0x0800e5b1 Thumb Code 66 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriority) - [Anonymous Symbol] 0x0800e5b0 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriority) - __NVIC_SetPriority 0x0800e5f5 Thumb Code 66 cmsis_os2.o(.text.__NVIC_SetPriority) - [Anonymous Symbol] 0x0800e5f4 Section 0 cmsis_os2.o(.text.__NVIC_SetPriority) - __NVIC_SetPriorityGrouping 0x0800e639 Thumb Code 60 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) - [Anonymous Symbol] 0x0800e638 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) - [Anonymous Symbol] 0x0800e674 Section 0 freertos.o(.text.configureTimerForRunTimeStats) - copysignf 0x0800e679 Thumb Code 30 ahrs.o(.text.copysignf) - [Anonymous Symbol] 0x0800e678 Section 0 ahrs.o(.text.copysignf) - [Anonymous Symbol] 0x0800e698 Section 0 bsp_delay.o(.text.delay_init) - [Anonymous Symbol] 0x0800e6d8 Section 0 tasks.o(.text.eTaskGetState) - float_to_uint 0x0800e7d1 Thumb Code 88 motor_dm.o(.text.float_to_uint) - [Anonymous Symbol] 0x0800e7d0 Section 0 motor_dm.o(.text.float_to_uint) - [Anonymous Symbol] 0x0800e828 Section 0 freertos.o(.text.getRunTimeCounterValue) - [Anonymous Symbol] 0x0800e82c Section 0 main.o(.text.main) - [Anonymous Symbol] 0x0800e87c Section 0 calc_lib.o(.text.map) - [Anonymous Symbol] 0x0800e8a8 Section 0 cmsis_os2.o(.text.osDelay) - [Anonymous Symbol] 0x0800e8dc Section 0 cmsis_os2.o(.text.osDelayUntil) - [Anonymous Symbol] 0x0800e934 Section 0 cmsis_os2.o(.text.osKernelGetState) - [Anonymous Symbol] 0x0800e988 Section 0 cmsis_os2.o(.text.osKernelGetTickCount) - [Anonymous Symbol] 0x0800e9b0 Section 0 cmsis_os2.o(.text.osKernelGetTickFreq) - [Anonymous Symbol] 0x0800e9b8 Section 0 cmsis_os2.o(.text.osKernelInitialize) - [Anonymous Symbol] 0x0800ea00 Section 0 cmsis_os2.o(.text.osKernelLock) - [Anonymous Symbol] 0x0800ea58 Section 0 cmsis_os2.o(.text.osKernelStart) - [Anonymous Symbol] 0x0800eaac Section 0 cmsis_os2.o(.text.osKernelUnlock) - [Anonymous Symbol] 0x0800eb1c Section 0 cmsis_os2.o(.text.osMessageQueueGet) - [Anonymous Symbol] 0x0800ebdc Section 0 cmsis_os2.o(.text.osMessageQueueNew) - [Anonymous Symbol] 0x0800ecdc Section 0 cmsis_os2.o(.text.osMessageQueuePut) - [Anonymous Symbol] 0x0800eda0 Section 0 cmsis_os2.o(.text.osMessageQueueReset) - [Anonymous Symbol] 0x0800ede0 Section 0 cmsis_os2.o(.text.osMutexAcquire) - [Anonymous Symbol] 0x0800ee80 Section 0 cmsis_os2.o(.text.osMutexNew) - [Anonymous Symbol] 0x0800efa8 Section 0 cmsis_os2.o(.text.osMutexRelease) - [Anonymous Symbol] 0x0800f028 Section 0 cmsis_os2.o(.text.osThreadFlagsSet) - [Anonymous Symbol] 0x0800f0cc Section 0 cmsis_os2.o(.text.osThreadFlagsWait) - [Anonymous Symbol] 0x0800f1e8 Section 0 cmsis_os2.o(.text.osThreadGetId) - [Anonymous Symbol] 0x0800f1f8 Section 0 cmsis_os2.o(.text.osThreadNew) - [Anonymous Symbol] 0x0800f354 Section 0 cmsis_os2.o(.text.osThreadTerminate) - prvAddCurrentTaskToDelayedList 0x0800f3b5 Thumb Code 212 tasks.o(.text.prvAddCurrentTaskToDelayedList) - [Anonymous Symbol] 0x0800f3b4 Section 0 tasks.o(.text.prvAddCurrentTaskToDelayedList) - prvAddNewTaskToReadyList 0x0800f489 Thumb Code 290 tasks.o(.text.prvAddNewTaskToReadyList) - [Anonymous Symbol] 0x0800f488 Section 0 tasks.o(.text.prvAddNewTaskToReadyList) - prvCheckForValidListAndQueue 0x0800f5ad Thumb Code 162 timers.o(.text.prvCheckForValidListAndQueue) - [Anonymous Symbol] 0x0800f5ac Section 0 timers.o(.text.prvCheckForValidListAndQueue) - prvCheckTasksWaitingTermination 0x0800f651 Thumb Code 90 tasks.o(.text.prvCheckTasksWaitingTermination) - [Anonymous Symbol] 0x0800f650 Section 0 tasks.o(.text.prvCheckTasksWaitingTermination) - prvCopyDataFromQueue 0x0800f6ad Thumb Code 66 queue.o(.text.prvCopyDataFromQueue) - [Anonymous Symbol] 0x0800f6ac Section 0 queue.o(.text.prvCopyDataFromQueue) - prvCopyDataToQueue 0x0800f6f1 Thumb Code 204 queue.o(.text.prvCopyDataToQueue) - [Anonymous Symbol] 0x0800f6f0 Section 0 queue.o(.text.prvCopyDataToQueue) - prvDeleteTCB 0x0800f7bd Thumb Code 94 tasks.o(.text.prvDeleteTCB) - [Anonymous Symbol] 0x0800f7bc Section 0 tasks.o(.text.prvDeleteTCB) - prvGetDisinheritPriorityAfterTimeout 0x0800f81d Thumb Code 38 queue.o(.text.prvGetDisinheritPriorityAfterTimeout) - [Anonymous Symbol] 0x0800f81c Section 0 queue.o(.text.prvGetDisinheritPriorityAfterTimeout) - prvGetNextExpireTime 0x0800f845 Thumb Code 64 timers.o(.text.prvGetNextExpireTime) - [Anonymous Symbol] 0x0800f844 Section 0 timers.o(.text.prvGetNextExpireTime) - prvHeapInit 0x0800f885 Thumb Code 188 heap_4.o(.text.prvHeapInit) - [Anonymous Symbol] 0x0800f884 Section 0 heap_4.o(.text.prvHeapInit) - prvIdleTask 0x0800f941 Thumb Code 56 tasks.o(.text.prvIdleTask) - [Anonymous Symbol] 0x0800f940 Section 0 tasks.o(.text.prvIdleTask) - prvInitialiseMutex 0x0800f979 Thumb Code 44 queue.o(.text.prvInitialiseMutex) - [Anonymous Symbol] 0x0800f978 Section 0 queue.o(.text.prvInitialiseMutex) - prvInitialiseNewQueue 0x0800f9a5 Thumb Code 72 queue.o(.text.prvInitialiseNewQueue) - [Anonymous Symbol] 0x0800f9a4 Section 0 queue.o(.text.prvInitialiseNewQueue) - prvInitialiseNewTask 0x0800f9ed Thumb Code 300 tasks.o(.text.prvInitialiseNewTask) - [Anonymous Symbol] 0x0800f9ec Section 0 tasks.o(.text.prvInitialiseNewTask) - prvInitialiseTaskLists 0x0800fb19 Thumb Code 142 tasks.o(.text.prvInitialiseTaskLists) - [Anonymous Symbol] 0x0800fb18 Section 0 tasks.o(.text.prvInitialiseTaskLists) - prvInsertBlockIntoFreeList 0x0800fba9 Thumb Code 198 heap_4.o(.text.prvInsertBlockIntoFreeList) - [Anonymous Symbol] 0x0800fba8 Section 0 heap_4.o(.text.prvInsertBlockIntoFreeList) - prvInsertTimerInActiveList 0x0800fc71 Thumb Code 134 timers.o(.text.prvInsertTimerInActiveList) - [Anonymous Symbol] 0x0800fc70 Section 0 timers.o(.text.prvInsertTimerInActiveList) - prvIsQueueEmpty 0x0800fcf9 Thumb Code 40 queue.o(.text.prvIsQueueEmpty) - [Anonymous Symbol] 0x0800fcf8 Section 0 queue.o(.text.prvIsQueueEmpty) - prvIsQueueFull 0x0800fd21 Thumb Code 46 queue.o(.text.prvIsQueueFull) - [Anonymous Symbol] 0x0800fd20 Section 0 queue.o(.text.prvIsQueueFull) - prvPortStartFirstTask 0x0800fd51 Thumb Code 34 port.o(.text.prvPortStartFirstTask) - [Anonymous Symbol] 0x0800fd50 Section 0 port.o(.text.prvPortStartFirstTask) - prvProcessExpiredTimer 0x0800fd79 Thumb Code 142 timers.o(.text.prvProcessExpiredTimer) - [Anonymous Symbol] 0x0800fd78 Section 0 timers.o(.text.prvProcessExpiredTimer) - prvProcessReceivedCommands 0x0800fe09 Thumb Code 402 timers.o(.text.prvProcessReceivedCommands) - [Anonymous Symbol] 0x0800fe08 Section 0 timers.o(.text.prvProcessReceivedCommands) - prvProcessTimerOrBlockTask 0x0800ff9d Thumb Code 154 timers.o(.text.prvProcessTimerOrBlockTask) - [Anonymous Symbol] 0x0800ff9c Section 0 timers.o(.text.prvProcessTimerOrBlockTask) - prvResetNextTaskUnblockTime 0x08010039 Thumb Code 70 tasks.o(.text.prvResetNextTaskUnblockTime) - [Anonymous Symbol] 0x08010038 Section 0 tasks.o(.text.prvResetNextTaskUnblockTime) - prvSampleTimeNow 0x08010081 Thumb Code 68 timers.o(.text.prvSampleTimeNow) - [Anonymous Symbol] 0x08010080 Section 0 timers.o(.text.prvSampleTimeNow) - prvSwitchTimerLists 0x080100c5 Thumb Code 212 timers.o(.text.prvSwitchTimerLists) - [Anonymous Symbol] 0x080100c4 Section 0 timers.o(.text.prvSwitchTimerLists) - prvTaskExitError 0x08010199 Thumb Code 76 port.o(.text.prvTaskExitError) - [Anonymous Symbol] 0x08010198 Section 0 port.o(.text.prvTaskExitError) - prvTimerTask 0x080101e5 Thumb Code 30 timers.o(.text.prvTimerTask) - [Anonymous Symbol] 0x080101e4 Section 0 timers.o(.text.prvTimerTask) - prvUnlockQueue 0x08010205 Thumb Code 174 queue.o(.text.prvUnlockQueue) - [Anonymous Symbol] 0x08010204 Section 0 queue.o(.text.prvUnlockQueue) - [Anonymous Symbol] 0x080102b4 Section 0 heap_4.o(.text.pvPortMalloc) - [Anonymous Symbol] 0x080104a0 Section 0 tasks.o(.text.pvTaskIncrementMutexHeldCount) - [Anonymous Symbol] 0x080104cc Section 0 port.o(.text.pxPortInitialiseStack) - [Anonymous Symbol] 0x08010530 Section 0 ai.o(.text.remote_ParseHost) - [Anonymous Symbol] 0x080105e0 Section 0 remote_control.o(.text.remote_control_init) - sbus_to_rc 0x080105f9 Thumb Code 656 remote_control.o(.text.sbus_to_rc) - [Anonymous Symbol] 0x080105f8 Section 0 remote_control.o(.text.sbus_to_rc) - uint_to_float 0x08010889 Thumb Code 82 motor_dm.o(.text.uint_to_float) - [Anonymous Symbol] 0x08010888 Section 0 motor_dm.o(.text.uint_to_float) - [Anonymous Symbol] 0x080108dc Section 0 calc_lib.o(.text.user_delay_ms) - [Anonymous Symbol] 0x0801090c Section 0 calc_lib.o(.text.user_delay_us) - [Anonymous Symbol] 0x08010950 Section 0 list.o(.text.uxListRemove) - [Anonymous Symbol] 0x08010998 Section 0 cmsis_os2.o(.text.vApplicationGetIdleTaskMemory) - [Anonymous Symbol] 0x080109c4 Section 0 cmsis_os2.o(.text.vApplicationGetTimerTaskMemory) - [Anonymous Symbol] 0x080109f0 Section 0 freertos.o(.text.vApplicationStackOverflowHook) - [Anonymous Symbol] 0x080109fc Section 0 list.o(.text.vListInitialise) - [Anonymous Symbol] 0x08010a2c Section 0 list.o(.text.vListInitialiseItem) - [Anonymous Symbol] 0x08010a3c Section 0 list.o(.text.vListInsert) - [Anonymous Symbol] 0x08010aa8 Section 0 list.o(.text.vListInsertEnd) - vPortEnableVFP 0x08010ae5 Thumb Code 14 port.o(.text.vPortEnableVFP) - [Anonymous Symbol] 0x08010ae4 Section 0 port.o(.text.vPortEnableVFP) - [Anonymous Symbol] 0x08010af8 Section 0 port.o(.text.vPortEnterCritical) - [Anonymous Symbol] 0x08010b50 Section 0 port.o(.text.vPortExitCritical) - [Anonymous Symbol] 0x08010b9c Section 0 heap_4.o(.text.vPortFree) - [Anonymous Symbol] 0x08010c6c Section 0 port.o(.text.vPortSetupTimerInterrupt) - [Anonymous Symbol] 0x08010cb0 Section 0 port.o(.text.vPortValidateInterruptPriority) - [Anonymous Symbol] 0x08010d34 Section 0 queue.o(.text.vQueueAddToRegistry) - [Anonymous Symbol] 0x08010d88 Section 0 queue.o(.text.vQueueWaitForMessageRestricted) - [Anonymous Symbol] 0x08010dec Section 0 tasks.o(.text.vTaskDelay) - [Anonymous Symbol] 0x08010e5c Section 0 tasks.o(.text.vTaskDelayUntil) - [Anonymous Symbol] 0x08010f70 Section 0 tasks.o(.text.vTaskDelete) - [Anonymous Symbol] 0x08011080 Section 0 tasks.o(.text.vTaskInternalSetTimeOutState) - [Anonymous Symbol] 0x080110a4 Section 0 tasks.o(.text.vTaskMissedYield) - [Anonymous Symbol] 0x080110b4 Section 0 tasks.o(.text.vTaskPlaceOnEventList) - [Anonymous Symbol] 0x080110f8 Section 0 tasks.o(.text.vTaskPlaceOnEventListRestricted) - [Anonymous Symbol] 0x0801114c Section 0 tasks.o(.text.vTaskPriorityDisinheritAfterTimeout) - [Anonymous Symbol] 0x08011280 Section 0 tasks.o(.text.vTaskStartScheduler) - [Anonymous Symbol] 0x08011364 Section 0 tasks.o(.text.vTaskSuspendAll) - [Anonymous Symbol] 0x08011374 Section 0 tasks.o(.text.vTaskSwitchContext) - [Anonymous Symbol] 0x080114f4 Section 0 port.o(.text.xPortStartScheduler) - [Anonymous Symbol] 0x0801164c Section 0 port.o(.text.xPortSysTickHandler) - [Anonymous Symbol] 0x08011688 Section 0 queue.o(.text.xQueueCreateMutex) - [Anonymous Symbol] 0x080116b0 Section 0 queue.o(.text.xQueueCreateMutexStatic) - [Anonymous Symbol] 0x080116e4 Section 0 queue.o(.text.xQueueGenericCreate) - [Anonymous Symbol] 0x08011758 Section 0 queue.o(.text.xQueueGenericCreateStatic) - [Anonymous Symbol] 0x08011868 Section 0 queue.o(.text.xQueueGenericReset) - [Anonymous Symbol] 0x08011924 Section 0 queue.o(.text.xQueueGenericSend) - [Anonymous Symbol] 0x08011b50 Section 0 queue.o(.text.xQueueGenericSendFromISR) - [Anonymous Symbol] 0x08011c9c Section 0 queue.o(.text.xQueueGiveMutexRecursive) - [Anonymous Symbol] 0x08011d08 Section 0 queue.o(.text.xQueueReceive) - [Anonymous Symbol] 0x08011ee4 Section 0 queue.o(.text.xQueueReceiveFromISR) - [Anonymous Symbol] 0x08011fec Section 0 queue.o(.text.xQueueSemaphoreTake) - [Anonymous Symbol] 0x08012218 Section 0 queue.o(.text.xQueueTakeMutexRecursive) - [Anonymous Symbol] 0x08012288 Section 0 tasks.o(.text.xTaskCheckForTimeOut) - [Anonymous Symbol] 0x08012354 Section 0 tasks.o(.text.xTaskCreate) - [Anonymous Symbol] 0x080123f4 Section 0 tasks.o(.text.xTaskCreateStatic) - [Anonymous Symbol] 0x080124c4 Section 0 tasks.o(.text.xTaskGenericNotify) - [Anonymous Symbol] 0x0801263c Section 0 tasks.o(.text.xTaskGenericNotifyFromISR) - [Anonymous Symbol] 0x08012800 Section 0 tasks.o(.text.xTaskGetCurrentTaskHandle) - [Anonymous Symbol] 0x08012814 Section 0 tasks.o(.text.xTaskGetSchedulerState) - [Anonymous Symbol] 0x0801284c Section 0 tasks.o(.text.xTaskGetTickCount) - [Anonymous Symbol] 0x08012860 Section 0 tasks.o(.text.xTaskGetTickCountFromISR) - [Anonymous Symbol] 0x08012880 Section 0 tasks.o(.text.xTaskIncrementTick) - [Anonymous Symbol] 0x08012a44 Section 0 tasks.o(.text.xTaskNotifyWait) - [Anonymous Symbol] 0x08012b1c Section 0 tasks.o(.text.xTaskPriorityDisinherit) - [Anonymous Symbol] 0x08012c08 Section 0 tasks.o(.text.xTaskPriorityInherit) - [Anonymous Symbol] 0x08012d18 Section 0 tasks.o(.text.xTaskRemoveFromEventList) - [Anonymous Symbol] 0x08012de8 Section 0 tasks.o(.text.xTaskResumeAll) - [Anonymous Symbol] 0x08012f70 Section 0 timers.o(.text.xTimerCreateTimerTask) - [Anonymous Symbol] 0x08013004 Section 0 timers.o(.text.xTimerGenericCommand) - i.__ARM_fpclassify 0x080130b4 Section 0 fpclassify.o(i.__ARM_fpclassify) - i.__ARM_fpclassifyf 0x080130e4 Section 0 fpclassifyf.o(i.__ARM_fpclassifyf) - i.__hardfp_asinf 0x0801310c Section 0 asinf.o(i.__hardfp_asinf) - i.__hardfp_atan 0x08013238 Section 0 atan.o(i.__hardfp_atan) - i.__hardfp_atan2 0x08013510 Section 0 atan2.o(i.__hardfp_atan2) - i.__hardfp_atan2f 0x08013710 Section 0 atan2f.o(i.__hardfp_atan2f) - i.__hardfp_cosf 0x080139bc Section 0 cosf.o(i.__hardfp_cosf) - i.__hardfp_tanf 0x08013b0c Section 0 tanf.o(i.__hardfp_tanf) - i.__kernel_poly 0x08013c88 Section 0 poly.o(i.__kernel_poly) - i.__mathlib_dbl_infnan 0x08013d80 Section 0 dunder.o(i.__mathlib_dbl_infnan) - i.__mathlib_dbl_infnan2 0x08013d94 Section 0 dunder.o(i.__mathlib_dbl_infnan2) - i.__mathlib_dbl_underflow 0x08013da8 Section 0 dunder.o(i.__mathlib_dbl_underflow) - i.__mathlib_flt_infnan 0x08013dc8 Section 0 funder.o(i.__mathlib_flt_infnan) - i.__mathlib_flt_infnan2 0x08013dce Section 0 funder.o(i.__mathlib_flt_infnan2) - i.__mathlib_flt_invalid 0x08013dd4 Section 0 funder.o(i.__mathlib_flt_invalid) - i.__mathlib_flt_underflow 0x08013de4 Section 0 funder.o(i.__mathlib_flt_underflow) - i.__mathlib_rredf2 0x08013df4 Section 0 rredf.o(i.__mathlib_rredf2) - i.atan 0x08013f48 Section 0 atan.o(i.atan) - i.fabs 0x08013f58 Section 0 fabs.o(i.fabs) - i.sqrtf 0x08013f70 Section 0 sqrtf.o(i.sqrtf) - $v0 0x08013fae Number 0 basic.o(x$fpl$basic) - x$fpl$basic 0x08013fae Section 24 basic.o(x$fpl$basic) - $v0 0x08013fc8 Number 0 d2f.o(x$fpl$d2f) - x$fpl$d2f 0x08013fc8 Section 98 d2f.o(x$fpl$d2f) - $v0 0x0801402c Number 0 daddsub_clz.o(x$fpl$dadd) - x$fpl$dadd 0x0801402c Section 336 daddsub_clz.o(x$fpl$dadd) - _dadd1 0x0801403d Thumb Code 0 daddsub_clz.o(x$fpl$dadd) - $v0 0x0801417c Number 0 dcmpi.o(x$fpl$dcmpinf) - x$fpl$dcmpinf 0x0801417c Section 24 dcmpi.o(x$fpl$dcmpinf) - $v0 0x08014194 Number 0 ddiv.o(x$fpl$ddiv) - x$fpl$ddiv 0x08014194 Section 692 ddiv.o(x$fpl$ddiv) - ddiv_entry 0x0801419b Thumb Code 0 ddiv.o(x$fpl$ddiv) - $v0 0x08014448 Number 0 deqf.o(x$fpl$deqf) - x$fpl$deqf 0x08014448 Section 120 deqf.o(x$fpl$deqf) - $v0 0x080144c0 Number 0 dfix.o(x$fpl$dfix) - x$fpl$dfix 0x080144c0 Section 94 dfix.o(x$fpl$dfix) - $v0 0x08014520 Number 0 dfixu.o(x$fpl$dfixu) - x$fpl$dfixu 0x08014520 Section 90 dfixu.o(x$fpl$dfixu) - $v0 0x0801457a Number 0 dflt_clz.o(x$fpl$dflt) - x$fpl$dflt 0x0801457a Section 46 dflt_clz.o(x$fpl$dflt) - $v0 0x080145a8 Number 0 dflt_clz.o(x$fpl$dfltu) - x$fpl$dfltu 0x080145a8 Section 38 dflt_clz.o(x$fpl$dfltu) - $v0 0x080145d0 Number 0 dmul.o(x$fpl$dmul) - x$fpl$dmul 0x080145d0 Section 340 dmul.o(x$fpl$dmul) - $v0 0x08014724 Number 0 dnaninf.o(x$fpl$dnaninf) - x$fpl$dnaninf 0x08014724 Section 156 dnaninf.o(x$fpl$dnaninf) - $v0 0x080147c0 Number 0 dretinf.o(x$fpl$dretinf) - x$fpl$dretinf 0x080147c0 Section 12 dretinf.o(x$fpl$dretinf) - $v0 0x080147cc Number 0 daddsub_clz.o(x$fpl$drsb) - x$fpl$drsb 0x080147cc Section 22 daddsub_clz.o(x$fpl$drsb) - $v0 0x080147e4 Number 0 daddsub_clz.o(x$fpl$dsub) - x$fpl$dsub 0x080147e4 Section 476 daddsub_clz.o(x$fpl$dsub) - _dsub1 0x080147f5 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) - $v0 0x080149c0 Number 0 f2d.o(x$fpl$f2d) - x$fpl$f2d 0x080149c0 Section 86 f2d.o(x$fpl$f2d) - $v0 0x08014a16 Number 0 ffltll_clz.o(x$fpl$ffltll) - x$fpl$ffltll 0x08014a16 Section 96 ffltll_clz.o(x$fpl$ffltll) - $v0 0x08014a76 Number 0 fnaninf.o(x$fpl$fnaninf) - x$fpl$fnaninf 0x08014a76 Section 140 fnaninf.o(x$fpl$fnaninf) - $v0 0x08014b02 Number 0 fpinit.o(x$fpl$fpinit) - x$fpl$fpinit 0x08014b02 Section 26 fpinit.o(x$fpl$fpinit) - $v0 0x08014b1c Number 0 fretinf.o(x$fpl$fretinf) - x$fpl$fretinf 0x08014b1c Section 10 fretinf.o(x$fpl$fretinf) - x$fpl$usenofp 0x08014b26 Section 0 usenofp.o(x$fpl$usenofp) - atanhi 0x08014b28 Data 32 atan.o(.constdata) - .constdata 0x08014b28 Section 152 atan.o(.constdata) - atanlo 0x08014b48 Data 32 atan.o(.constdata) - aTodd 0x08014b68 Data 40 atan.o(.constdata) - aTeven 0x08014b90 Data 48 atan.o(.constdata) - .constdata 0x08014bc0 Section 8 qnan.o(.constdata) - twooverpi 0x08014bc8 Data 32 rredf.o(.constdata) - .constdata 0x08014bc8 Section 32 rredf.o(.constdata) - DMA_CalcBaseAndBitshift.flagBitshiftOffset 0x08014c00 Data 8 stm32f4xx_hal_dma.o(.rodata.DMA_CalcBaseAndBitshift.flagBitshiftOffset) - [Anonymous Symbol] 0x08014c00 Section 0 stm32f4xx_hal_dma.o(.rodata.DMA_CalcBaseAndBitshift.flagBitshiftOffset) - GPIO_Map 0x08014c08 Data 56 gpio_1.o(.rodata.GPIO_Map) - [Anonymous Symbol] 0x08014c08 Section 0 gpio_1.o(.rodata.GPIO_Map) - PWM_Map 0x08014c40 Data 8 pwm.o(.rodata.PWM_Map) - [Anonymous Symbol] 0x08014c40 Section 0 pwm.o(.rodata.PWM_Map) - imu_temp_ctrl_pid_param 0x08014cfc Data 32 atti_esti.o(.rodata.imu_temp_ctrl_pid_param) - [Anonymous Symbol] 0x08014cfc Section 0 atti_esti.o(.rodata.imu_temp_ctrl_pid_param) - [Anonymous Symbol] 0x08014d1c Section 0 freertos.o(.rodata.str1.1) - .L.str 0x08014d28 Data 5 tasks.o(.rodata.str1.1) - [Anonymous Symbol] 0x08014d28 Section 0 tasks.o(.rodata.str1.1) - .L.str.1 0x08014d2d Data 15 tasks.o(.rodata.str1.1) - .L.str.1 0x08014d2d Data 5 timers.o(.rodata.str1.1) - [Anonymous Symbol] 0x08014d2d Section 0 timers.o(.rodata.str1.1) - .L.str 0x08014d32 Data 8 timers.o(.rodata.str1.1) - [Anonymous Symbol] 0x08014d3a Section 0 user_task.o(.rodata.str1.1) - .L.str.2 0x08014d3c Data 12 tasks.o(.rodata.str1.1) - .L.str.3 0x08014d48 Data 12 tasks.o(.rodata.str1.1) + [Anonymous Symbol] 0x08003c3c Section 0 gimbal.o(.text.Gimbal_Init) + [Anonymous Symbol] 0x08003e14 Section 0 gimbal.o(.text.Gimbal_Output) + Gimbal_SetMode 0x08003f29 Thumb Code 180 gimbal.o(.text.Gimbal_SetMode) + [Anonymous Symbol] 0x08003f28 Section 0 gimbal.o(.text.Gimbal_SetMode) + [Anonymous Symbol] 0x08003fdc Section 0 gimbal.o(.text.Gimbal_UpdateFeedback) + [Anonymous Symbol] 0x08004144 Section 0 gimbal.o(.text.Gimbal_UpdateIMU) + [Anonymous Symbol] 0x08004190 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) + [Anonymous Symbol] 0x080041e4 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) + [Anonymous Symbol] 0x0800433c Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) + [Anonymous Symbol] 0x080044dc Section 0 can_1.o(.text.HAL_CAN_ErrorCallback) + [Anonymous Symbol] 0x0800452c Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) + [Anonymous Symbol] 0x08004580 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) + [Anonymous Symbol] 0x08004794 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) + [Anonymous Symbol] 0x08004804 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) + [Anonymous Symbol] 0x08004bf8 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) + [Anonymous Symbol] 0x08004dd8 Section 0 can.o(.text.HAL_CAN_MspInit) + [Anonymous Symbol] 0x08004fa8 Section 0 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) + [Anonymous Symbol] 0x08004ff8 Section 0 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) + [Anonymous Symbol] 0x08005048 Section 0 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) + [Anonymous Symbol] 0x08005098 Section 0 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) + [Anonymous Symbol] 0x080050e8 Section 0 can_1.o(.text.HAL_CAN_SleepCallback) + [Anonymous Symbol] 0x08005138 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) + [Anonymous Symbol] 0x080051c4 Section 0 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) + [Anonymous Symbol] 0x08005214 Section 0 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) + [Anonymous Symbol] 0x08005260 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) + [Anonymous Symbol] 0x080052b0 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) + [Anonymous Symbol] 0x08005300 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) + [Anonymous Symbol] 0x08005350 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) + [Anonymous Symbol] 0x080053a0 Section 0 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) + [Anonymous Symbol] 0x080053f0 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) + [Anonymous Symbol] 0x080054dc Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) + [Anonymous Symbol] 0x08005520 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) + [Anonymous Symbol] 0x08005530 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) + [Anonymous Symbol] 0x08005850 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) + [Anonymous Symbol] 0x080059c0 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) + [Anonymous Symbol] 0x08005a84 Section 0 stm32f4xx_hal.o(.text.HAL_Delay) + [Anonymous Symbol] 0x08005ac8 Section 0 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) + [Anonymous Symbol] 0x08005b30 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) + [Anonymous Symbol] 0x08005b68 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) + [Anonymous Symbol] 0x08005f20 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) + [Anonymous Symbol] 0x08005f50 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) + [Anonymous Symbol] 0x08005f80 Section 0 stm32f4xx_hal.o(.text.HAL_GetTick) + [Anonymous Symbol] 0x08005f8c Section 0 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) + [Anonymous Symbol] 0x08005fe0 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) + [Anonymous Symbol] 0x08005ff0 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) + [Anonymous Symbol] 0x0800616c Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) + [Anonymous Symbol] 0x08006538 Section 0 i2c_1.o(.text.HAL_I2C_ErrorCallback) + [Anonymous Symbol] 0x0800658c Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) + [Anonymous Symbol] 0x08006830 Section 0 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) + [Anonymous Symbol] 0x08006884 Section 0 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) + [Anonymous Symbol] 0x080068d8 Section 0 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) + [Anonymous Symbol] 0x08006928 Section 0 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) + [Anonymous Symbol] 0x0800697c Section 0 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) + [Anonymous Symbol] 0x080069d0 Section 0 i2c.o(.text.HAL_I2C_MspInit) + [Anonymous Symbol] 0x08006b04 Section 0 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) + [Anonymous Symbol] 0x08006b58 Section 0 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) + [Anonymous Symbol] 0x08006bac Section 0 stm32f4xx_hal.o(.text.HAL_IncTick) + [Anonymous Symbol] 0x08006bc8 Section 0 stm32f4xx_hal.o(.text.HAL_Init) + [Anonymous Symbol] 0x08006c00 Section 0 stm32f4xx_hal.o(.text.HAL_InitTick) + [Anonymous Symbol] 0x08006c70 Section 0 stm32f4xx_hal_msp.o(.text.HAL_MspInit) + [Anonymous Symbol] 0x08006cc8 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) + [Anonymous Symbol] 0x08006cdc Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) + [Anonymous Symbol] 0x08006cf0 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) + [Anonymous Symbol] 0x08006d24 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) + [Anonymous Symbol] 0x08006d34 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) + [Anonymous Symbol] 0x08006f98 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) + [Anonymous Symbol] 0x08006fa4 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) + [Anonymous Symbol] 0x08006fc8 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) + [Anonymous Symbol] 0x08006fec Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) + [Anonymous Symbol] 0x080070d4 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) + [Anonymous Symbol] 0x08007794 Section 0 spi_1.o(.text.HAL_SPI_ErrorCallback) + [Anonymous Symbol] 0x080077e8 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) + [Anonymous Symbol] 0x080078e8 Section 0 spi.o(.text.HAL_SPI_MspInit) + [Anonymous Symbol] 0x08007af8 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) + [Anonymous Symbol] 0x08007d48 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) + [Anonymous Symbol] 0x08007ee0 Section 0 spi_1.o(.text.HAL_SPI_RxCpltCallback) + [Anonymous Symbol] 0x08007f34 Section 0 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) + [Anonymous Symbol] 0x08007f88 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) + [Anonymous Symbol] 0x0800822c Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) + [Anonymous Symbol] 0x080085d0 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) + [Anonymous Symbol] 0x080087e4 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) + [Anonymous Symbol] 0x08008950 Section 0 spi_1.o(.text.HAL_SPI_TxCpltCallback) + [Anonymous Symbol] 0x08008998 Section 0 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) + [Anonymous Symbol] 0x080089ec Section 0 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) + [Anonymous Symbol] 0x08008a40 Section 0 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) + [Anonymous Symbol] 0x08008a94 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) + [Anonymous Symbol] 0x08008aa4 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) + [Anonymous Symbol] 0x08008aac Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) + [Anonymous Symbol] 0x08008ab4 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) + [Anonymous Symbol] 0x08008bd8 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) + [Anonymous Symbol] 0x08008c74 Section 0 tim.o(.text.HAL_TIM_Base_MspInit) + [Anonymous Symbol] 0x08008d00 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) + [Anonymous Symbol] 0x08008d08 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) + [Anonymous Symbol] 0x08008f24 Section 0 tim.o(.text.HAL_TIM_MspPostInit) + [Anonymous Symbol] 0x08008f90 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) + [Anonymous Symbol] 0x08008f98 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) + [Anonymous Symbol] 0x080090dc Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) + [Anonymous Symbol] 0x08009178 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) + [Anonymous Symbol] 0x08009180 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) + [Anonymous Symbol] 0x08009188 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) + [Anonymous Symbol] 0x08009354 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) + [Anonymous Symbol] 0x0800935c Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) + [Anonymous Symbol] 0x08009364 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) + [Anonymous Symbol] 0x08009370 Section 0 uart.o(.text.HAL_UART_ErrorCallback) + [Anonymous Symbol] 0x080093c4 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) + [Anonymous Symbol] 0x08009820 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) + [Anonymous Symbol] 0x080098c0 Section 0 usart.o(.text.HAL_UART_MspInit) + [Anonymous Symbol] 0x08009a8c Section 0 uart.o(.text.HAL_UART_RxCpltCallback) + [Anonymous Symbol] 0x08009ae0 Section 0 uart.o(.text.HAL_UART_TxCpltCallback) + [Anonymous Symbol] 0x08009b34 Section 0 stm32f4xx_it.o(.text.HardFault_Handler) + [Anonymous Symbol] 0x08009b38 Section 0 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) + [Anonymous Symbol] 0x08009b48 Section 0 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) + I2C_ConvertOtherXferOptions 0x08009b59 Thumb Code 52 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) + [Anonymous Symbol] 0x08009b58 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) + I2C_DMAAbort 0x08009b8d Thumb Code 342 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) + [Anonymous Symbol] 0x08009b8c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) + I2C_Flush_DR 0x08009ce5 Thumb Code 36 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) + [Anonymous Symbol] 0x08009ce4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) + I2C_Get 0x08009d09 Thumb Code 72 i2c_1.o(.text.I2C_Get) + [Anonymous Symbol] 0x08009d08 Section 0 i2c_1.o(.text.I2C_Get) + I2C_ITError 0x08009d51 Thumb Code 634 stm32f4xx_hal_i2c.o(.text.I2C_ITError) + [Anonymous Symbol] 0x08009d50 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ITError) + I2C_MasterReceive_BTF 0x08009fcd Thumb Code 428 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) + [Anonymous Symbol] 0x08009fcc Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) + I2C_MasterReceive_RXNE 0x0800a179 Thumb Code 362 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) + [Anonymous Symbol] 0x0800a178 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) + I2C_MasterTransmit_BTF 0x0800a2e5 Thumb Code 222 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) + [Anonymous Symbol] 0x0800a2e4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) + I2C_MasterTransmit_TXE 0x0800a3c5 Thumb Code 318 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) + [Anonymous Symbol] 0x0800a3c4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) + I2C_Master_ADD10 0x0800a505 Thumb Code 70 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) + [Anonymous Symbol] 0x0800a504 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) + I2C_Master_ADDR 0x0800a54d Thumb Code 830 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) + [Anonymous Symbol] 0x0800a54c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) + I2C_Master_SB 0x0800a88d Thumb Code 240 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) + [Anonymous Symbol] 0x0800a88c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) + I2C_MemoryTransmit_TXE_BTF 0x0800a97d Thumb Code 296 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) + [Anonymous Symbol] 0x0800a97c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) + I2C_SlaveReceive_BTF 0x0800aaa5 Thumb Code 46 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) + [Anonymous Symbol] 0x0800aaa4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) + I2C_SlaveReceive_RXNE 0x0800aad5 Thumb Code 110 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) + [Anonymous Symbol] 0x0800aad4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) + I2C_SlaveTransmit_BTF 0x0800ab45 Thumb Code 44 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) + [Anonymous Symbol] 0x0800ab44 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) + I2C_SlaveTransmit_TXE 0x0800ab71 Thumb Code 108 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) + [Anonymous Symbol] 0x0800ab70 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) + I2C_Slave_ADDR 0x0800abdd Thumb Code 174 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) + [Anonymous Symbol] 0x0800abdc Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) + I2C_Slave_AF 0x0800ac8d Thumb Code 228 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) + [Anonymous Symbol] 0x0800ac8c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) + I2C_Slave_STOPF 0x0800ad71 Thumb Code 586 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) + [Anonymous Symbol] 0x0800ad70 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) + I2C_WaitOnSTOPRequestThroughIT 0x0800afbd Thumb Code 120 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) + [Anonymous Symbol] 0x0800afbc Section 0 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) + [Anonymous Symbol] 0x0800b034 Section 0 user_math.o(.text.InvSqrt) + [Anonymous Symbol] 0x0800b0ac Section 0 filter.o(.text.LowPassFilter2p_Apply) + [Anonymous Symbol] 0x0800b164 Section 0 filter.o(.text.LowPassFilter2p_Init) + [Anonymous Symbol] 0x0800b2a0 Section 0 filter.o(.text.LowPassFilter2p_Reset) + MOTOR_DM_CreateCANManager 0x0800b335 Thumb Code 150 motor_dm.o(.text.MOTOR_DM_CreateCANManager) + [Anonymous Symbol] 0x0800b334 Section 0 motor_dm.o(.text.MOTOR_DM_CreateCANManager) + [Anonymous Symbol] 0x0800b3cc Section 0 motor_dm.o(.text.MOTOR_DM_Enable) + MOTOR_DM_GetCANManager 0x0800b449 Thumb Code 48 motor_dm.o(.text.MOTOR_DM_GetCANManager) + [Anonymous Symbol] 0x0800b448 Section 0 motor_dm.o(.text.MOTOR_DM_GetCANManager) + [Anonymous Symbol] 0x0800b478 Section 0 motor_dm.o(.text.MOTOR_DM_GetMotor) + [Anonymous Symbol] 0x0800b500 Section 0 motor_dm.o(.text.MOTOR_DM_MITCtrl) + MOTOR_DM_ParseFeedbackFrame 0x0800b549 Thumb Code 344 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) + [Anonymous Symbol] 0x0800b548 Section 0 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) + [Anonymous Symbol] 0x0800b6a0 Section 0 motor_dm.o(.text.MOTOR_DM_Register) + MOTOR_DM_SendMITCmd 0x0800b7cd Thumb Code 324 motor_dm.o(.text.MOTOR_DM_SendMITCmd) + [Anonymous Symbol] 0x0800b7cc Section 0 motor_dm.o(.text.MOTOR_DM_SendMITCmd) + [Anonymous Symbol] 0x0800b910 Section 0 motor_dm.o(.text.MOTOR_DM_Update) + MOTOR_RM_CreateCANManager 0x0800ba1d Thumb Code 150 motor_rm.o(.text.MOTOR_RM_CreateCANManager) + [Anonymous Symbol] 0x0800ba1c Section 0 motor_rm.o(.text.MOTOR_RM_CreateCANManager) + [Anonymous Symbol] 0x0800bab4 Section 0 motor_rm.o(.text.MOTOR_RM_Ctrl) + MOTOR_RM_GetCANManager 0x0800bc25 Thumb Code 48 motor_rm.o(.text.MOTOR_RM_GetCANManager) + [Anonymous Symbol] 0x0800bc24 Section 0 motor_rm.o(.text.MOTOR_RM_GetCANManager) + MOTOR_RM_GetLSB 0x0800bc55 Thumb Code 82 motor_rm.o(.text.MOTOR_RM_GetLSB) + [Anonymous Symbol] 0x0800bc54 Section 0 motor_rm.o(.text.MOTOR_RM_GetLSB) + MOTOR_RM_GetLogicalIndex 0x0800bca9 Thumb Code 128 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) + [Anonymous Symbol] 0x0800bca8 Section 0 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) + [Anonymous Symbol] 0x0800bd28 Section 0 motor_rm.o(.text.MOTOR_RM_GetMotor) + MOTOR_RM_GetRatio 0x0800bda1 Thumb Code 80 motor_rm.o(.text.MOTOR_RM_GetRatio) + [Anonymous Symbol] 0x0800bda0 Section 0 motor_rm.o(.text.MOTOR_RM_GetRatio) + [Anonymous Symbol] 0x0800bdf0 Section 0 motor_rm.o(.text.MOTOR_RM_Register) + [Anonymous Symbol] 0x0800bf10 Section 0 motor_rm.o(.text.MOTOR_RM_SetOutput) + [Anonymous Symbol] 0x0800c02c Section 0 motor_rm.o(.text.MOTOR_RM_Update) + [Anonymous Symbol] 0x0800c130 Section 0 can.o(.text.MX_CAN1_Init) + [Anonymous Symbol] 0x0800c180 Section 0 can.o(.text.MX_CAN2_Init) + [Anonymous Symbol] 0x0800c1d0 Section 0 dma.o(.text.MX_DMA_Init) + [Anonymous Symbol] 0x0800c258 Section 0 freertos.o(.text.MX_FREERTOS_Init) + [Anonymous Symbol] 0x0800c298 Section 0 gpio.o(.text.MX_GPIO_Init) + [Anonymous Symbol] 0x0800c4c4 Section 0 i2c.o(.text.MX_I2C1_Init) + [Anonymous Symbol] 0x0800c50c Section 0 i2c.o(.text.MX_I2C2_Init) + [Anonymous Symbol] 0x0800c554 Section 0 spi.o(.text.MX_SPI1_Init) + [Anonymous Symbol] 0x0800c5a8 Section 0 spi.o(.text.MX_SPI2_Init) + [Anonymous Symbol] 0x0800c5fc Section 0 tim.o(.text.MX_TIM10_Init) + [Anonymous Symbol] 0x0800c68c Section 0 tim.o(.text.MX_TIM7_Init) + [Anonymous Symbol] 0x0800c6e4 Section 0 usart.o(.text.MX_USART1_UART_Init) + [Anonymous Symbol] 0x0800c724 Section 0 usart.o(.text.MX_USART3_UART_Init) + [Anonymous Symbol] 0x0800c770 Section 0 stm32f4xx_it.o(.text.MemManage_Handler) + Motor_RM_Decode 0x0800c775 Thumb Code 540 motor_rm.o(.text.Motor_RM_Decode) + [Anonymous Symbol] 0x0800c774 Section 0 motor_rm.o(.text.Motor_RM_Decode) + [Anonymous Symbol] 0x0800c990 Section 0 stm32f4xx_it.o(.text.NMI_Handler) + NVIC_EncodePriority 0x0800c995 Thumb Code 108 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) + [Anonymous Symbol] 0x0800c994 Section 0 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) + [Anonymous Symbol] 0x0800ca00 Section 0 pid.o(.text.PID_Calc) + [Anonymous Symbol] 0x0800ccf0 Section 0 pid.o(.text.PID_Init) + [Anonymous Symbol] 0x0800ce88 Section 0 pid.o(.text.PID_Reset) + [Anonymous Symbol] 0x0800ced0 Section 0 port.o(.text.PendSV_Handler) + pxCurrentTCBConst 0x0800cf30 Number 0 port.o(.text.PendSV_Handler) + [Anonymous Symbol] 0x0800cf34 Section 0 bsp_rc.o(.text.RC_Init) + [Anonymous Symbol] 0x0800cfc8 Section 0 bsp_rc.o(.text.RC_restart) + SPI_DMAError 0x0800d025 Thumb Code 52 stm32f4xx_hal_spi.o(.text.SPI_DMAError) + [Anonymous Symbol] 0x0800d024 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAError) + SPI_DMAHalfReceiveCplt 0x0800d059 Thumb Code 22 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfReceiveCplt) + [Anonymous Symbol] 0x0800d058 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfReceiveCplt) + SPI_DMAHalfTransmitCplt 0x0800d071 Thumb Code 22 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitCplt) + [Anonymous Symbol] 0x0800d070 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitCplt) + SPI_DMAHalfTransmitReceiveCplt 0x0800d089 Thumb Code 22 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitReceiveCplt) + [Anonymous Symbol] 0x0800d088 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAHalfTransmitReceiveCplt) + SPI_DMAReceiveCplt 0x0800d0a1 Thumb Code 162 stm32f4xx_hal_spi.o(.text.SPI_DMAReceiveCplt) + [Anonymous Symbol] 0x0800d0a0 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMAReceiveCplt) + SPI_DMATransmitCplt 0x0800d145 Thumb Code 166 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitCplt) + [Anonymous Symbol] 0x0800d144 Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitCplt) + SPI_DMATransmitReceiveCplt 0x0800d1ed Thumb Code 134 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitReceiveCplt) + [Anonymous Symbol] 0x0800d1ec Section 0 stm32f4xx_hal_spi.o(.text.SPI_DMATransmitReceiveCplt) + SPI_EndRxTransaction 0x0800d275 Thumb Code 228 stm32f4xx_hal_spi.o(.text.SPI_EndRxTransaction) + [Anonymous Symbol] 0x0800d274 Section 0 stm32f4xx_hal_spi.o(.text.SPI_EndRxTransaction) + SPI_EndRxTxTransaction 0x0800d359 Thumb Code 204 stm32f4xx_hal_spi.o(.text.SPI_EndRxTxTransaction) + [Anonymous Symbol] 0x0800d358 Section 0 stm32f4xx_hal_spi.o(.text.SPI_EndRxTxTransaction) + SPI_Get 0x0800d425 Thumb Code 46 spi_1.o(.text.SPI_Get) + [Anonymous Symbol] 0x0800d424 Section 0 spi_1.o(.text.SPI_Get) + SPI_WaitFlagStateUntilTimeout 0x0800d455 Thumb Code 300 stm32f4xx_hal_spi.o(.text.SPI_WaitFlagStateUntilTimeout) + [Anonymous Symbol] 0x0800d454 Section 0 stm32f4xx_hal_spi.o(.text.SPI_WaitFlagStateUntilTimeout) + [Anonymous Symbol] 0x0800d580 Section 0 port.o(.text.SVC_Handler) + pxCurrentTCBConst2 0x0800d5a0 Number 0 port.o(.text.SVC_Handler) + SVC_Setup 0x0800d5a5 Thumb Code 14 cmsis_os2.o(.text.SVC_Setup) + [Anonymous Symbol] 0x0800d5a4 Section 0 cmsis_os2.o(.text.SVC_Setup) + [Anonymous Symbol] 0x0800d5b4 Section 0 freertos.o(.text.StartDefaultTask) + SysTick_Config 0x0800d5c9 Thumb Code 82 stm32f4xx_hal_cortex.o(.text.SysTick_Config) + [Anonymous Symbol] 0x0800d5c8 Section 0 stm32f4xx_hal_cortex.o(.text.SysTick_Config) + [Anonymous Symbol] 0x0800d61c Section 0 stm32f4xx_it.o(.text.SysTick_Handler) + [Anonymous Symbol] 0x0800d634 Section 0 main.o(.text.SystemClock_Config) + [Anonymous Symbol] 0x0800d6f0 Section 0 system_stm32f4xx.o(.text.SystemInit) + [Anonymous Symbol] 0x0800d704 Section 0 stm32f4xx_it.o(.text.TIM7_IRQHandler) + [Anonymous Symbol] 0x0800d714 Section 0 stm32f4xx_hal_tim.o(.text.TIM_Base_SetConfig) + [Anonymous Symbol] 0x0800d8b8 Section 0 stm32f4xx_hal_tim.o(.text.TIM_CCxChannelCmd) + TIM_OC1_SetConfig 0x0800d8f1 Thumb Code 234 stm32f4xx_hal_tim.o(.text.TIM_OC1_SetConfig) + [Anonymous Symbol] 0x0800d8f0 Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC1_SetConfig) + [Anonymous Symbol] 0x0800d9dc Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC2_SetConfig) + TIM_OC3_SetConfig 0x0800dad1 Thumb Code 242 stm32f4xx_hal_tim.o(.text.TIM_OC3_SetConfig) + [Anonymous Symbol] 0x0800dad0 Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC3_SetConfig) + TIM_OC4_SetConfig 0x0800dbc5 Thumb Code 164 stm32f4xx_hal_tim.o(.text.TIM_OC4_SetConfig) + [Anonymous Symbol] 0x0800dbc4 Section 0 stm32f4xx_hal_tim.o(.text.TIM_OC4_SetConfig) + [Anonymous Symbol] 0x0800dc68 Section 0 init.o(.text.Task_Init) + [Anonymous Symbol] 0x0800dd20 Section 0 atti_esti.o(.text.Task_atti_esti) + [Anonymous Symbol] 0x0800deb0 Section 0 gimbal_ctrl.o(.text.Task_gimbal_ctrl) + [Anonymous Symbol] 0x0800df90 Section 0 remote.o(.text.Task_remote) + UART_DMAAbortOnError 0x0800e031 Thumb Code 28 stm32f4xx_hal_uart.o(.text.UART_DMAAbortOnError) + [Anonymous Symbol] 0x0800e030 Section 0 stm32f4xx_hal_uart.o(.text.UART_DMAAbortOnError) + UART_EndRxTransfer 0x0800e04d Thumb Code 148 stm32f4xx_hal_uart.o(.text.UART_EndRxTransfer) + [Anonymous Symbol] 0x0800e04c Section 0 stm32f4xx_hal_uart.o(.text.UART_EndRxTransfer) + UART_EndTransmit_IT 0x0800e0e1 Thumb Code 38 stm32f4xx_hal_uart.o(.text.UART_EndTransmit_IT) + [Anonymous Symbol] 0x0800e0e0 Section 0 stm32f4xx_hal_uart.o(.text.UART_EndTransmit_IT) + UART_Get 0x0800e109 Thumb Code 46 uart.o(.text.UART_Get) + [Anonymous Symbol] 0x0800e108 Section 0 uart.o(.text.UART_Get) + UART_Receive_IT 0x0800e139 Thumb Code 360 stm32f4xx_hal_uart.o(.text.UART_Receive_IT) + [Anonymous Symbol] 0x0800e138 Section 0 stm32f4xx_hal_uart.o(.text.UART_Receive_IT) + UART_SetConfig 0x0800e2a1 Thumb Code 314 stm32f4xx_hal_uart.o(.text.UART_SetConfig) + [Anonymous Symbol] 0x0800e2a0 Section 0 stm32f4xx_hal_uart.o(.text.UART_SetConfig) + UART_Transmit_IT 0x0800e3dd Thumb Code 148 stm32f4xx_hal_uart.o(.text.UART_Transmit_IT) + [Anonymous Symbol] 0x0800e3dc Section 0 stm32f4xx_hal_uart.o(.text.UART_Transmit_IT) + [Anonymous Symbol] 0x0800e470 Section 0 stm32f4xx_it.o(.text.USART3_IRQHandler) + [Anonymous Symbol] 0x0800e490 Section 0 remote_control.o(.text.USART3_IRQHandler1) + [Anonymous Symbol] 0x0800e4b4 Section 0 stm32f4xx_it.o(.text.UsageFault_Handler) + __ARM_isfinite 0x0800e4b9 Thumb Code 30 filter.o(.text.__ARM_isfinite) + [Anonymous Symbol] 0x0800e4b8 Section 0 filter.o(.text.__ARM_isfinite) + __ARM_isfinite 0x0800e4d9 Thumb Code 30 pid.o(.text.__ARM_isfinite) + [Anonymous Symbol] 0x0800e4d8 Section 0 pid.o(.text.__ARM_isfinite) + __ARM_isfinitef 0x0800e4f9 Thumb Code 24 filter.o(.text.__ARM_isfinitef) + [Anonymous Symbol] 0x0800e4f8 Section 0 filter.o(.text.__ARM_isfinitef) + __ARM_isfinitef 0x0800e511 Thumb Code 24 pid.o(.text.__ARM_isfinitef) + [Anonymous Symbol] 0x0800e510 Section 0 pid.o(.text.__ARM_isfinitef) + __ARM_isinf 0x0800e529 Thumb Code 52 filter.o(.text.__ARM_isinf) + [Anonymous Symbol] 0x0800e528 Section 0 filter.o(.text.__ARM_isinf) + __ARM_isinff 0x0800e55d Thumb Code 28 filter.o(.text.__ARM_isinff) + [Anonymous Symbol] 0x0800e55c Section 0 filter.o(.text.__ARM_isinff) + __NVIC_DisableIRQ 0x0800e579 Thumb Code 56 stm32f4xx_hal_cortex.o(.text.__NVIC_DisableIRQ) + [Anonymous Symbol] 0x0800e578 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_DisableIRQ) + __NVIC_EnableIRQ 0x0800e5b1 Thumb Code 48 stm32f4xx_hal_cortex.o(.text.__NVIC_EnableIRQ) + [Anonymous Symbol] 0x0800e5b0 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_EnableIRQ) + __NVIC_GetPriorityGrouping 0x0800e5e1 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) + [Anonymous Symbol] 0x0800e5e0 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) + __NVIC_SetPriority 0x0800e5f1 Thumb Code 66 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriority) + [Anonymous Symbol] 0x0800e5f0 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriority) + __NVIC_SetPriority 0x0800e635 Thumb Code 66 cmsis_os2.o(.text.__NVIC_SetPriority) + [Anonymous Symbol] 0x0800e634 Section 0 cmsis_os2.o(.text.__NVIC_SetPriority) + __NVIC_SetPriorityGrouping 0x0800e679 Thumb Code 60 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) + [Anonymous Symbol] 0x0800e678 Section 0 stm32f4xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) + [Anonymous Symbol] 0x0800e6b4 Section 0 freertos.o(.text.configureTimerForRunTimeStats) + copysignf 0x0800e6b9 Thumb Code 30 ahrs.o(.text.copysignf) + [Anonymous Symbol] 0x0800e6b8 Section 0 ahrs.o(.text.copysignf) + [Anonymous Symbol] 0x0800e6d8 Section 0 bsp_delay.o(.text.delay_init) + [Anonymous Symbol] 0x0800e718 Section 0 tasks.o(.text.eTaskGetState) + float_to_uint 0x0800e811 Thumb Code 88 motor_dm.o(.text.float_to_uint) + [Anonymous Symbol] 0x0800e810 Section 0 motor_dm.o(.text.float_to_uint) + [Anonymous Symbol] 0x0800e868 Section 0 freertos.o(.text.getRunTimeCounterValue) + [Anonymous Symbol] 0x0800e86c Section 0 main.o(.text.main) + [Anonymous Symbol] 0x0800e8bc Section 0 calc_lib.o(.text.map) + [Anonymous Symbol] 0x0800e8e8 Section 0 cmsis_os2.o(.text.osDelay) + [Anonymous Symbol] 0x0800e91c Section 0 cmsis_os2.o(.text.osDelayUntil) + [Anonymous Symbol] 0x0800e974 Section 0 cmsis_os2.o(.text.osKernelGetState) + [Anonymous Symbol] 0x0800e9c8 Section 0 cmsis_os2.o(.text.osKernelGetTickCount) + [Anonymous Symbol] 0x0800e9f0 Section 0 cmsis_os2.o(.text.osKernelGetTickFreq) + [Anonymous Symbol] 0x0800e9f8 Section 0 cmsis_os2.o(.text.osKernelInitialize) + [Anonymous Symbol] 0x0800ea40 Section 0 cmsis_os2.o(.text.osKernelLock) + [Anonymous Symbol] 0x0800ea98 Section 0 cmsis_os2.o(.text.osKernelStart) + [Anonymous Symbol] 0x0800eaec Section 0 cmsis_os2.o(.text.osKernelUnlock) + [Anonymous Symbol] 0x0800eb5c Section 0 cmsis_os2.o(.text.osMessageQueueGet) + [Anonymous Symbol] 0x0800ec1c Section 0 cmsis_os2.o(.text.osMessageQueueNew) + [Anonymous Symbol] 0x0800ed1c Section 0 cmsis_os2.o(.text.osMessageQueuePut) + [Anonymous Symbol] 0x0800ede0 Section 0 cmsis_os2.o(.text.osMessageQueueReset) + [Anonymous Symbol] 0x0800ee20 Section 0 cmsis_os2.o(.text.osMutexAcquire) + [Anonymous Symbol] 0x0800eec0 Section 0 cmsis_os2.o(.text.osMutexNew) + [Anonymous Symbol] 0x0800efe8 Section 0 cmsis_os2.o(.text.osMutexRelease) + [Anonymous Symbol] 0x0800f068 Section 0 cmsis_os2.o(.text.osThreadFlagsSet) + [Anonymous Symbol] 0x0800f10c Section 0 cmsis_os2.o(.text.osThreadFlagsWait) + [Anonymous Symbol] 0x0800f228 Section 0 cmsis_os2.o(.text.osThreadGetId) + [Anonymous Symbol] 0x0800f238 Section 0 cmsis_os2.o(.text.osThreadNew) + [Anonymous Symbol] 0x0800f394 Section 0 cmsis_os2.o(.text.osThreadTerminate) + prvAddCurrentTaskToDelayedList 0x0800f3f5 Thumb Code 212 tasks.o(.text.prvAddCurrentTaskToDelayedList) + [Anonymous Symbol] 0x0800f3f4 Section 0 tasks.o(.text.prvAddCurrentTaskToDelayedList) + prvAddNewTaskToReadyList 0x0800f4c9 Thumb Code 290 tasks.o(.text.prvAddNewTaskToReadyList) + [Anonymous Symbol] 0x0800f4c8 Section 0 tasks.o(.text.prvAddNewTaskToReadyList) + prvCheckForValidListAndQueue 0x0800f5ed Thumb Code 162 timers.o(.text.prvCheckForValidListAndQueue) + [Anonymous Symbol] 0x0800f5ec Section 0 timers.o(.text.prvCheckForValidListAndQueue) + prvCheckTasksWaitingTermination 0x0800f691 Thumb Code 90 tasks.o(.text.prvCheckTasksWaitingTermination) + [Anonymous Symbol] 0x0800f690 Section 0 tasks.o(.text.prvCheckTasksWaitingTermination) + prvCopyDataFromQueue 0x0800f6ed Thumb Code 66 queue.o(.text.prvCopyDataFromQueue) + [Anonymous Symbol] 0x0800f6ec Section 0 queue.o(.text.prvCopyDataFromQueue) + prvCopyDataToQueue 0x0800f731 Thumb Code 204 queue.o(.text.prvCopyDataToQueue) + [Anonymous Symbol] 0x0800f730 Section 0 queue.o(.text.prvCopyDataToQueue) + prvDeleteTCB 0x0800f7fd Thumb Code 94 tasks.o(.text.prvDeleteTCB) + [Anonymous Symbol] 0x0800f7fc Section 0 tasks.o(.text.prvDeleteTCB) + prvGetDisinheritPriorityAfterTimeout 0x0800f85d Thumb Code 38 queue.o(.text.prvGetDisinheritPriorityAfterTimeout) + [Anonymous Symbol] 0x0800f85c Section 0 queue.o(.text.prvGetDisinheritPriorityAfterTimeout) + prvGetNextExpireTime 0x0800f885 Thumb Code 64 timers.o(.text.prvGetNextExpireTime) + [Anonymous Symbol] 0x0800f884 Section 0 timers.o(.text.prvGetNextExpireTime) + prvHeapInit 0x0800f8c5 Thumb Code 188 heap_4.o(.text.prvHeapInit) + [Anonymous Symbol] 0x0800f8c4 Section 0 heap_4.o(.text.prvHeapInit) + prvIdleTask 0x0800f981 Thumb Code 56 tasks.o(.text.prvIdleTask) + [Anonymous Symbol] 0x0800f980 Section 0 tasks.o(.text.prvIdleTask) + prvInitialiseMutex 0x0800f9b9 Thumb Code 44 queue.o(.text.prvInitialiseMutex) + [Anonymous Symbol] 0x0800f9b8 Section 0 queue.o(.text.prvInitialiseMutex) + prvInitialiseNewQueue 0x0800f9e5 Thumb Code 72 queue.o(.text.prvInitialiseNewQueue) + [Anonymous Symbol] 0x0800f9e4 Section 0 queue.o(.text.prvInitialiseNewQueue) + prvInitialiseNewTask 0x0800fa2d Thumb Code 300 tasks.o(.text.prvInitialiseNewTask) + [Anonymous Symbol] 0x0800fa2c Section 0 tasks.o(.text.prvInitialiseNewTask) + prvInitialiseTaskLists 0x0800fb59 Thumb Code 142 tasks.o(.text.prvInitialiseTaskLists) + [Anonymous Symbol] 0x0800fb58 Section 0 tasks.o(.text.prvInitialiseTaskLists) + prvInsertBlockIntoFreeList 0x0800fbe9 Thumb Code 198 heap_4.o(.text.prvInsertBlockIntoFreeList) + [Anonymous Symbol] 0x0800fbe8 Section 0 heap_4.o(.text.prvInsertBlockIntoFreeList) + prvInsertTimerInActiveList 0x0800fcb1 Thumb Code 134 timers.o(.text.prvInsertTimerInActiveList) + [Anonymous Symbol] 0x0800fcb0 Section 0 timers.o(.text.prvInsertTimerInActiveList) + prvIsQueueEmpty 0x0800fd39 Thumb Code 40 queue.o(.text.prvIsQueueEmpty) + [Anonymous Symbol] 0x0800fd38 Section 0 queue.o(.text.prvIsQueueEmpty) + prvIsQueueFull 0x0800fd61 Thumb Code 46 queue.o(.text.prvIsQueueFull) + [Anonymous Symbol] 0x0800fd60 Section 0 queue.o(.text.prvIsQueueFull) + prvPortStartFirstTask 0x0800fd91 Thumb Code 34 port.o(.text.prvPortStartFirstTask) + [Anonymous Symbol] 0x0800fd90 Section 0 port.o(.text.prvPortStartFirstTask) + prvProcessExpiredTimer 0x0800fdb9 Thumb Code 142 timers.o(.text.prvProcessExpiredTimer) + [Anonymous Symbol] 0x0800fdb8 Section 0 timers.o(.text.prvProcessExpiredTimer) + prvProcessReceivedCommands 0x0800fe49 Thumb Code 402 timers.o(.text.prvProcessReceivedCommands) + [Anonymous Symbol] 0x0800fe48 Section 0 timers.o(.text.prvProcessReceivedCommands) + prvProcessTimerOrBlockTask 0x0800ffdd Thumb Code 154 timers.o(.text.prvProcessTimerOrBlockTask) + [Anonymous Symbol] 0x0800ffdc Section 0 timers.o(.text.prvProcessTimerOrBlockTask) + prvResetNextTaskUnblockTime 0x08010079 Thumb Code 70 tasks.o(.text.prvResetNextTaskUnblockTime) + [Anonymous Symbol] 0x08010078 Section 0 tasks.o(.text.prvResetNextTaskUnblockTime) + prvSampleTimeNow 0x080100c1 Thumb Code 68 timers.o(.text.prvSampleTimeNow) + [Anonymous Symbol] 0x080100c0 Section 0 timers.o(.text.prvSampleTimeNow) + prvSwitchTimerLists 0x08010105 Thumb Code 212 timers.o(.text.prvSwitchTimerLists) + [Anonymous Symbol] 0x08010104 Section 0 timers.o(.text.prvSwitchTimerLists) + prvTaskExitError 0x080101d9 Thumb Code 76 port.o(.text.prvTaskExitError) + [Anonymous Symbol] 0x080101d8 Section 0 port.o(.text.prvTaskExitError) + prvTimerTask 0x08010225 Thumb Code 30 timers.o(.text.prvTimerTask) + [Anonymous Symbol] 0x08010224 Section 0 timers.o(.text.prvTimerTask) + prvUnlockQueue 0x08010245 Thumb Code 174 queue.o(.text.prvUnlockQueue) + [Anonymous Symbol] 0x08010244 Section 0 queue.o(.text.prvUnlockQueue) + [Anonymous Symbol] 0x080102f4 Section 0 heap_4.o(.text.pvPortMalloc) + [Anonymous Symbol] 0x080104e0 Section 0 tasks.o(.text.pvTaskIncrementMutexHeldCount) + [Anonymous Symbol] 0x0801050c Section 0 port.o(.text.pxPortInitialiseStack) + [Anonymous Symbol] 0x08010570 Section 0 ai.o(.text.remote_ParseHost) + [Anonymous Symbol] 0x08010620 Section 0 remote_control.o(.text.remote_control_init) + sbus_to_rc 0x08010639 Thumb Code 656 remote_control.o(.text.sbus_to_rc) + [Anonymous Symbol] 0x08010638 Section 0 remote_control.o(.text.sbus_to_rc) + uint_to_float 0x080108c9 Thumb Code 82 motor_dm.o(.text.uint_to_float) + [Anonymous Symbol] 0x080108c8 Section 0 motor_dm.o(.text.uint_to_float) + [Anonymous Symbol] 0x0801091c Section 0 calc_lib.o(.text.user_delay_ms) + [Anonymous Symbol] 0x0801094c Section 0 calc_lib.o(.text.user_delay_us) + [Anonymous Symbol] 0x08010990 Section 0 list.o(.text.uxListRemove) + [Anonymous Symbol] 0x080109d8 Section 0 cmsis_os2.o(.text.vApplicationGetIdleTaskMemory) + [Anonymous Symbol] 0x08010a04 Section 0 cmsis_os2.o(.text.vApplicationGetTimerTaskMemory) + [Anonymous Symbol] 0x08010a30 Section 0 freertos.o(.text.vApplicationStackOverflowHook) + [Anonymous Symbol] 0x08010a3c Section 0 list.o(.text.vListInitialise) + [Anonymous Symbol] 0x08010a6c Section 0 list.o(.text.vListInitialiseItem) + [Anonymous Symbol] 0x08010a7c Section 0 list.o(.text.vListInsert) + [Anonymous Symbol] 0x08010ae8 Section 0 list.o(.text.vListInsertEnd) + vPortEnableVFP 0x08010b25 Thumb Code 14 port.o(.text.vPortEnableVFP) + [Anonymous Symbol] 0x08010b24 Section 0 port.o(.text.vPortEnableVFP) + [Anonymous Symbol] 0x08010b38 Section 0 port.o(.text.vPortEnterCritical) + [Anonymous Symbol] 0x08010b90 Section 0 port.o(.text.vPortExitCritical) + [Anonymous Symbol] 0x08010bdc Section 0 heap_4.o(.text.vPortFree) + [Anonymous Symbol] 0x08010cac Section 0 port.o(.text.vPortSetupTimerInterrupt) + [Anonymous Symbol] 0x08010cf0 Section 0 port.o(.text.vPortValidateInterruptPriority) + [Anonymous Symbol] 0x08010d74 Section 0 queue.o(.text.vQueueAddToRegistry) + [Anonymous Symbol] 0x08010dc8 Section 0 queue.o(.text.vQueueWaitForMessageRestricted) + [Anonymous Symbol] 0x08010e2c Section 0 tasks.o(.text.vTaskDelay) + [Anonymous Symbol] 0x08010e9c Section 0 tasks.o(.text.vTaskDelayUntil) + [Anonymous Symbol] 0x08010fb0 Section 0 tasks.o(.text.vTaskDelete) + [Anonymous Symbol] 0x080110c0 Section 0 tasks.o(.text.vTaskInternalSetTimeOutState) + [Anonymous Symbol] 0x080110e4 Section 0 tasks.o(.text.vTaskMissedYield) + [Anonymous Symbol] 0x080110f4 Section 0 tasks.o(.text.vTaskPlaceOnEventList) + [Anonymous Symbol] 0x08011138 Section 0 tasks.o(.text.vTaskPlaceOnEventListRestricted) + [Anonymous Symbol] 0x0801118c Section 0 tasks.o(.text.vTaskPriorityDisinheritAfterTimeout) + [Anonymous Symbol] 0x080112c0 Section 0 tasks.o(.text.vTaskStartScheduler) + [Anonymous Symbol] 0x080113a4 Section 0 tasks.o(.text.vTaskSuspendAll) + [Anonymous Symbol] 0x080113b4 Section 0 tasks.o(.text.vTaskSwitchContext) + [Anonymous Symbol] 0x08011534 Section 0 port.o(.text.xPortStartScheduler) + [Anonymous Symbol] 0x0801168c Section 0 port.o(.text.xPortSysTickHandler) + [Anonymous Symbol] 0x080116c8 Section 0 queue.o(.text.xQueueCreateMutex) + [Anonymous Symbol] 0x080116f0 Section 0 queue.o(.text.xQueueCreateMutexStatic) + [Anonymous Symbol] 0x08011724 Section 0 queue.o(.text.xQueueGenericCreate) + [Anonymous Symbol] 0x08011798 Section 0 queue.o(.text.xQueueGenericCreateStatic) + [Anonymous Symbol] 0x080118a8 Section 0 queue.o(.text.xQueueGenericReset) + [Anonymous Symbol] 0x08011964 Section 0 queue.o(.text.xQueueGenericSend) + [Anonymous Symbol] 0x08011b90 Section 0 queue.o(.text.xQueueGenericSendFromISR) + [Anonymous Symbol] 0x08011cdc Section 0 queue.o(.text.xQueueGiveMutexRecursive) + [Anonymous Symbol] 0x08011d48 Section 0 queue.o(.text.xQueueReceive) + [Anonymous Symbol] 0x08011f24 Section 0 queue.o(.text.xQueueReceiveFromISR) + [Anonymous Symbol] 0x0801202c Section 0 queue.o(.text.xQueueSemaphoreTake) + [Anonymous Symbol] 0x08012258 Section 0 queue.o(.text.xQueueTakeMutexRecursive) + [Anonymous Symbol] 0x080122c8 Section 0 tasks.o(.text.xTaskCheckForTimeOut) + [Anonymous Symbol] 0x08012394 Section 0 tasks.o(.text.xTaskCreate) + [Anonymous Symbol] 0x08012434 Section 0 tasks.o(.text.xTaskCreateStatic) + [Anonymous Symbol] 0x08012504 Section 0 tasks.o(.text.xTaskGenericNotify) + [Anonymous Symbol] 0x0801267c Section 0 tasks.o(.text.xTaskGenericNotifyFromISR) + [Anonymous Symbol] 0x08012840 Section 0 tasks.o(.text.xTaskGetCurrentTaskHandle) + [Anonymous Symbol] 0x08012854 Section 0 tasks.o(.text.xTaskGetSchedulerState) + [Anonymous Symbol] 0x0801288c Section 0 tasks.o(.text.xTaskGetTickCount) + [Anonymous Symbol] 0x080128a0 Section 0 tasks.o(.text.xTaskGetTickCountFromISR) + [Anonymous Symbol] 0x080128c0 Section 0 tasks.o(.text.xTaskIncrementTick) + [Anonymous Symbol] 0x08012a84 Section 0 tasks.o(.text.xTaskNotifyWait) + [Anonymous Symbol] 0x08012b5c Section 0 tasks.o(.text.xTaskPriorityDisinherit) + [Anonymous Symbol] 0x08012c48 Section 0 tasks.o(.text.xTaskPriorityInherit) + [Anonymous Symbol] 0x08012d58 Section 0 tasks.o(.text.xTaskRemoveFromEventList) + [Anonymous Symbol] 0x08012e28 Section 0 tasks.o(.text.xTaskResumeAll) + [Anonymous Symbol] 0x08012fb0 Section 0 timers.o(.text.xTimerCreateTimerTask) + [Anonymous Symbol] 0x08013044 Section 0 timers.o(.text.xTimerGenericCommand) + i.__ARM_fpclassify 0x080130f4 Section 0 fpclassify.o(i.__ARM_fpclassify) + i.__ARM_fpclassifyf 0x08013124 Section 0 fpclassifyf.o(i.__ARM_fpclassifyf) + i.__hardfp_asinf 0x0801314c Section 0 asinf.o(i.__hardfp_asinf) + i.__hardfp_atan 0x08013278 Section 0 atan.o(i.__hardfp_atan) + i.__hardfp_atan2 0x08013550 Section 0 atan2.o(i.__hardfp_atan2) + i.__hardfp_atan2f 0x08013750 Section 0 atan2f.o(i.__hardfp_atan2f) + i.__hardfp_cosf 0x080139fc Section 0 cosf.o(i.__hardfp_cosf) + i.__hardfp_tanf 0x08013b4c Section 0 tanf.o(i.__hardfp_tanf) + i.__kernel_poly 0x08013cc8 Section 0 poly.o(i.__kernel_poly) + i.__mathlib_dbl_infnan 0x08013dc0 Section 0 dunder.o(i.__mathlib_dbl_infnan) + i.__mathlib_dbl_infnan2 0x08013dd4 Section 0 dunder.o(i.__mathlib_dbl_infnan2) + i.__mathlib_dbl_underflow 0x08013de8 Section 0 dunder.o(i.__mathlib_dbl_underflow) + i.__mathlib_flt_infnan 0x08013e08 Section 0 funder.o(i.__mathlib_flt_infnan) + i.__mathlib_flt_infnan2 0x08013e0e Section 0 funder.o(i.__mathlib_flt_infnan2) + i.__mathlib_flt_invalid 0x08013e14 Section 0 funder.o(i.__mathlib_flt_invalid) + i.__mathlib_flt_underflow 0x08013e24 Section 0 funder.o(i.__mathlib_flt_underflow) + i.__mathlib_rredf2 0x08013e34 Section 0 rredf.o(i.__mathlib_rredf2) + i.atan 0x08013f88 Section 0 atan.o(i.atan) + i.fabs 0x08013f98 Section 0 fabs.o(i.fabs) + i.sqrtf 0x08013fb0 Section 0 sqrtf.o(i.sqrtf) + $v0 0x08013fee Number 0 basic.o(x$fpl$basic) + x$fpl$basic 0x08013fee Section 24 basic.o(x$fpl$basic) + $v0 0x08014008 Number 0 d2f.o(x$fpl$d2f) + x$fpl$d2f 0x08014008 Section 98 d2f.o(x$fpl$d2f) + $v0 0x0801406c Number 0 daddsub_clz.o(x$fpl$dadd) + x$fpl$dadd 0x0801406c Section 336 daddsub_clz.o(x$fpl$dadd) + _dadd1 0x0801407d Thumb Code 0 daddsub_clz.o(x$fpl$dadd) + $v0 0x080141bc Number 0 dcmpi.o(x$fpl$dcmpinf) + x$fpl$dcmpinf 0x080141bc Section 24 dcmpi.o(x$fpl$dcmpinf) + $v0 0x080141d4 Number 0 ddiv.o(x$fpl$ddiv) + x$fpl$ddiv 0x080141d4 Section 692 ddiv.o(x$fpl$ddiv) + ddiv_entry 0x080141db Thumb Code 0 ddiv.o(x$fpl$ddiv) + $v0 0x08014488 Number 0 deqf.o(x$fpl$deqf) + x$fpl$deqf 0x08014488 Section 120 deqf.o(x$fpl$deqf) + $v0 0x08014500 Number 0 dfix.o(x$fpl$dfix) + x$fpl$dfix 0x08014500 Section 94 dfix.o(x$fpl$dfix) + $v0 0x08014560 Number 0 dfixu.o(x$fpl$dfixu) + x$fpl$dfixu 0x08014560 Section 90 dfixu.o(x$fpl$dfixu) + $v0 0x080145ba Number 0 dflt_clz.o(x$fpl$dflt) + x$fpl$dflt 0x080145ba Section 46 dflt_clz.o(x$fpl$dflt) + $v0 0x080145e8 Number 0 dflt_clz.o(x$fpl$dfltu) + x$fpl$dfltu 0x080145e8 Section 38 dflt_clz.o(x$fpl$dfltu) + $v0 0x08014610 Number 0 dmul.o(x$fpl$dmul) + x$fpl$dmul 0x08014610 Section 340 dmul.o(x$fpl$dmul) + $v0 0x08014764 Number 0 dnaninf.o(x$fpl$dnaninf) + x$fpl$dnaninf 0x08014764 Section 156 dnaninf.o(x$fpl$dnaninf) + $v0 0x08014800 Number 0 dretinf.o(x$fpl$dretinf) + x$fpl$dretinf 0x08014800 Section 12 dretinf.o(x$fpl$dretinf) + $v0 0x0801480c Number 0 daddsub_clz.o(x$fpl$drsb) + x$fpl$drsb 0x0801480c Section 22 daddsub_clz.o(x$fpl$drsb) + $v0 0x08014824 Number 0 daddsub_clz.o(x$fpl$dsub) + x$fpl$dsub 0x08014824 Section 476 daddsub_clz.o(x$fpl$dsub) + _dsub1 0x08014835 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) + $v0 0x08014a00 Number 0 f2d.o(x$fpl$f2d) + x$fpl$f2d 0x08014a00 Section 86 f2d.o(x$fpl$f2d) + $v0 0x08014a56 Number 0 ffltll_clz.o(x$fpl$ffltll) + x$fpl$ffltll 0x08014a56 Section 96 ffltll_clz.o(x$fpl$ffltll) + $v0 0x08014ab6 Number 0 fnaninf.o(x$fpl$fnaninf) + x$fpl$fnaninf 0x08014ab6 Section 140 fnaninf.o(x$fpl$fnaninf) + $v0 0x08014b42 Number 0 fpinit.o(x$fpl$fpinit) + x$fpl$fpinit 0x08014b42 Section 26 fpinit.o(x$fpl$fpinit) + $v0 0x08014b5c Number 0 fretinf.o(x$fpl$fretinf) + x$fpl$fretinf 0x08014b5c Section 10 fretinf.o(x$fpl$fretinf) + x$fpl$usenofp 0x08014b66 Section 0 usenofp.o(x$fpl$usenofp) + atanhi 0x08014b68 Data 32 atan.o(.constdata) + .constdata 0x08014b68 Section 152 atan.o(.constdata) + atanlo 0x08014b88 Data 32 atan.o(.constdata) + aTodd 0x08014ba8 Data 40 atan.o(.constdata) + aTeven 0x08014bd0 Data 48 atan.o(.constdata) + .constdata 0x08014c00 Section 8 qnan.o(.constdata) + twooverpi 0x08014c08 Data 32 rredf.o(.constdata) + .constdata 0x08014c08 Section 32 rredf.o(.constdata) + DMA_CalcBaseAndBitshift.flagBitshiftOffset 0x08014c40 Data 8 stm32f4xx_hal_dma.o(.rodata.DMA_CalcBaseAndBitshift.flagBitshiftOffset) + [Anonymous Symbol] 0x08014c40 Section 0 stm32f4xx_hal_dma.o(.rodata.DMA_CalcBaseAndBitshift.flagBitshiftOffset) + GPIO_Map 0x08014c48 Data 56 gpio_1.o(.rodata.GPIO_Map) + [Anonymous Symbol] 0x08014c48 Section 0 gpio_1.o(.rodata.GPIO_Map) + PWM_Map 0x08014c80 Data 8 pwm.o(.rodata.PWM_Map) + [Anonymous Symbol] 0x08014c80 Section 0 pwm.o(.rodata.PWM_Map) + imu_temp_ctrl_pid_param 0x08014d3c Data 32 atti_esti.o(.rodata.imu_temp_ctrl_pid_param) + [Anonymous Symbol] 0x08014d3c Section 0 atti_esti.o(.rodata.imu_temp_ctrl_pid_param) + [Anonymous Symbol] 0x08014d5c Section 0 freertos.o(.rodata.str1.1) + .L.str 0x08014d68 Data 5 tasks.o(.rodata.str1.1) + [Anonymous Symbol] 0x08014d68 Section 0 tasks.o(.rodata.str1.1) + .L.str.1 0x08014d6d Data 15 tasks.o(.rodata.str1.1) + .L.str.1 0x08014d6d Data 5 timers.o(.rodata.str1.1) + [Anonymous Symbol] 0x08014d6d Section 0 timers.o(.rodata.str1.1) + .L.str 0x08014d72 Data 8 timers.o(.rodata.str1.1) + [Anonymous Symbol] 0x08014d7a Section 0 user_task.o(.rodata.str1.1) + .L.str.2 0x08014d7c Data 12 tasks.o(.rodata.str1.1) + .L.str.3 0x08014d88 Data 12 tasks.o(.rodata.str1.1) beta 0x20000004 Data 4 ahrs.o(.data.beta) [Anonymous Symbol] 0x20000004 Section 0 ahrs.o(.data.beta) - uxCriticalNesting 0x2000019c Data 4 port.o(.data.uxCriticalNesting) - [Anonymous Symbol] 0x2000019c Section 0 port.o(.data.uxCriticalNesting) - .bss 0x200001a0 Section 96 libspace.o(.bss) - CAN_Callback 0x20000200 Data 104 can_1.o(.bss.CAN_Callback) - [Anonymous Symbol] 0x20000200 Section 0 can_1.o(.bss.CAN_Callback) - GPIO_Callback 0x20000268 Data 64 gpio_1.o(.bss.GPIO_Callback) - [Anonymous Symbol] 0x20000268 Section 0 gpio_1.o(.bss.GPIO_Callback) - HAL_RCC_CAN1_CLK_ENABLED 0x200002a8 Data 4 can.o(.bss.HAL_RCC_CAN1_CLK_ENABLED) - [Anonymous Symbol] 0x200002a8 Section 0 can.o(.bss.HAL_RCC_CAN1_CLK_ENABLED) - I2C_Callback 0x200002ac Data 72 i2c_1.o(.bss.I2C_Callback) - [Anonymous Symbol] 0x200002ac Section 0 i2c_1.o(.bss.I2C_Callback) - KernelState 0x200002f4 Data 4 cmsis_os2.o(.bss.KernelState) - [Anonymous Symbol] 0x200002f4 Section 0 cmsis_os2.o(.bss.KernelState) - SPI_Callback 0x200002f8 Data 64 spi_1.o(.bss.SPI_Callback) - [Anonymous Symbol] 0x200002f8 Section 0 spi_1.o(.bss.SPI_Callback) - UART_Callback 0x20000338 Data 36 uart.o(.bss.UART_Callback) - [Anonymous Symbol] 0x20000338 Section 0 uart.o(.bss.UART_Callback) - bmi088_rxbuf 0x20000390 Data 19 bmi088.o(.bss.bmi088_rxbuf) - [Anonymous Symbol] 0x20000390 Section 0 bmi088.o(.bss.bmi088_rxbuf) - buffer 0x200003a3 Data 2 bmi088.o(.bss.buffer) - [Anonymous Symbol] 0x200003a3 Section 0 bmi088.o(.bss.buffer) - can_managers 0x200003b4 Data 8 motor_rm.o(.bss.can_managers) - [Anonymous Symbol] 0x200003b4 Section 0 motor_rm.o(.bss.can_managers) - can_managers 0x200003bc Data 8 motor_dm.o(.bss.can_managers) - [Anonymous Symbol] 0x200003bc Section 0 motor_dm.o(.bss.can_managers) - fac_ms 0x200003d4 Data 4 bsp_delay.o(.bss.fac_ms) - [Anonymous Symbol] 0x200003d4 Section 0 bsp_delay.o(.bss.fac_ms) - fac_us 0x200003d8 Data 1 bsp_delay.o(.bss.fac_us) - [Anonymous Symbol] 0x200003d8 Section 0 bsp_delay.o(.bss.fac_us) + uxCriticalNesting 0x200001a4 Data 4 port.o(.data.uxCriticalNesting) + [Anonymous Symbol] 0x200001a4 Section 0 port.o(.data.uxCriticalNesting) + .bss 0x200001a8 Section 96 libspace.o(.bss) + CAN_Callback 0x20000208 Data 104 can_1.o(.bss.CAN_Callback) + [Anonymous Symbol] 0x20000208 Section 0 can_1.o(.bss.CAN_Callback) + GPIO_Callback 0x20000270 Data 64 gpio_1.o(.bss.GPIO_Callback) + [Anonymous Symbol] 0x20000270 Section 0 gpio_1.o(.bss.GPIO_Callback) + HAL_RCC_CAN1_CLK_ENABLED 0x200002b0 Data 4 can.o(.bss.HAL_RCC_CAN1_CLK_ENABLED) + [Anonymous Symbol] 0x200002b0 Section 0 can.o(.bss.HAL_RCC_CAN1_CLK_ENABLED) + I2C_Callback 0x200002b4 Data 72 i2c_1.o(.bss.I2C_Callback) + [Anonymous Symbol] 0x200002b4 Section 0 i2c_1.o(.bss.I2C_Callback) + KernelState 0x200002fc Data 4 cmsis_os2.o(.bss.KernelState) + [Anonymous Symbol] 0x200002fc Section 0 cmsis_os2.o(.bss.KernelState) + SPI_Callback 0x20000300 Data 64 spi_1.o(.bss.SPI_Callback) + [Anonymous Symbol] 0x20000300 Section 0 spi_1.o(.bss.SPI_Callback) + UART_Callback 0x20000340 Data 36 uart.o(.bss.UART_Callback) + [Anonymous Symbol] 0x20000340 Section 0 uart.o(.bss.UART_Callback) + bmi088_rxbuf 0x20000398 Data 19 bmi088.o(.bss.bmi088_rxbuf) + [Anonymous Symbol] 0x20000398 Section 0 bmi088.o(.bss.bmi088_rxbuf) + buffer 0x200003ab Data 2 bmi088.o(.bss.buffer) + [Anonymous Symbol] 0x200003ab Section 0 bmi088.o(.bss.buffer) + can_managers 0x200003bc Data 8 motor_rm.o(.bss.can_managers) + [Anonymous Symbol] 0x200003bc Section 0 motor_rm.o(.bss.can_managers) + can_managers 0x200003c4 Data 8 motor_dm.o(.bss.can_managers) + [Anonymous Symbol] 0x200003c4 Section 0 motor_dm.o(.bss.can_managers) + fac_ms 0x200003dc Data 4 bsp_delay.o(.bss.fac_ms) + [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 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) @@ -7405,343 +7405,343 @@ Image Symbol Table 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 1016 gimbal.o(.text.Gimbal_Control) - Gimbal_Init 0x08003c4d Thumb Code 472 gimbal.o(.text.Gimbal_Init) - Gimbal_Output 0x08003e25 Thumb Code 174 gimbal.o(.text.Gimbal_Output) - Gimbal_UpdateFeedback 0x08003f91 Thumb Code 360 gimbal.o(.text.Gimbal_UpdateFeedback) - Gimbal_UpdateIMU 0x080040f9 Thumb Code 74 gimbal.o(.text.Gimbal_UpdateIMU) - HAL_CAN_ActivateNotification 0x08004145 Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) - HAL_CAN_AddTxMessage 0x08004199 Thumb Code 342 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) - HAL_CAN_ConfigFilter 0x080042f1 Thumb Code 414 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) - HAL_CAN_ErrorCallback 0x08004491 Thumb Code 80 can_1.o(.text.HAL_CAN_ErrorCallback) - HAL_CAN_GetRxFifoFillLevel 0x080044e1 Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) - HAL_CAN_GetRxMessage 0x08004535 Thumb Code 530 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) - HAL_CAN_GetTxMailboxesFreeLevel 0x08004749 Thumb Code 112 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) - HAL_CAN_IRQHandler 0x080047b9 Thumb Code 1010 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) - HAL_CAN_Init 0x08004bad Thumb Code 478 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) - HAL_CAN_MspInit 0x08004d8d Thumb Code 464 can.o(.text.HAL_CAN_MspInit) - HAL_CAN_RxFifo0FullCallback 0x08004f5d Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) - HAL_CAN_RxFifo0MsgPendingCallback 0x08004fad Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) - HAL_CAN_RxFifo1FullCallback 0x08004ffd Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) - HAL_CAN_RxFifo1MsgPendingCallback 0x0800504d Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) - HAL_CAN_SleepCallback 0x0800509d Thumb Code 80 can_1.o(.text.HAL_CAN_SleepCallback) - HAL_CAN_Start 0x080050ed Thumb Code 138 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) - HAL_CAN_TxMailbox0AbortCallback 0x08005179 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) - HAL_CAN_TxMailbox0CompleteCallback 0x080051c9 Thumb Code 76 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) - HAL_CAN_TxMailbox1AbortCallback 0x08005215 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) - HAL_CAN_TxMailbox1CompleteCallback 0x08005265 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) - HAL_CAN_TxMailbox2AbortCallback 0x080052b5 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) - HAL_CAN_TxMailbox2CompleteCallback 0x08005305 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) - HAL_CAN_WakeUpFromRxMsgCallback 0x08005355 Thumb Code 80 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) - HAL_DMA_Abort 0x080053a5 Thumb Code 236 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) - HAL_DMA_Abort_IT 0x08005491 Thumb Code 68 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) - HAL_DMA_GetState 0x080054d5 Thumb Code 14 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) - HAL_DMA_IRQHandler 0x080054e5 Thumb Code 798 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) - HAL_DMA_Init 0x08005805 Thumb Code 366 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) - HAL_DMA_Start_IT 0x08005975 Thumb Code 194 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) - HAL_Delay 0x08005a39 Thumb Code 66 stm32f4xx_hal.o(.text.HAL_Delay) - HAL_GPIO_EXTI_Callback 0x08005a7d Thumb Code 102 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) - HAL_GPIO_EXTI_IRQHandler 0x08005ae5 Thumb Code 56 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) - HAL_GPIO_Init 0x08005b1d Thumb Code 950 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) - HAL_GPIO_ReadPin 0x08005ed5 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) - HAL_GPIO_WritePin 0x08005f05 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) - HAL_GetTick 0x08005f35 Thumb Code 12 stm32f4xx_hal.o(.text.HAL_GetTick) - HAL_I2C_AbortCpltCallback 0x08005f41 Thumb Code 84 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) - HAL_I2C_AddrCallback 0x08005f95 Thumb Code 16 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) - HAL_I2C_ER_IRQHandler 0x08005fa5 Thumb Code 378 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) - HAL_I2C_EV_IRQHandler 0x08006121 Thumb Code 970 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) - HAL_I2C_ErrorCallback 0x080064ed Thumb Code 84 i2c_1.o(.text.HAL_I2C_ErrorCallback) - HAL_I2C_Init 0x08006541 Thumb Code 676 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) - HAL_I2C_ListenCpltCallback 0x080067e5 Thumb Code 84 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) - HAL_I2C_MasterRxCpltCallback 0x08006839 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) - HAL_I2C_MasterTxCpltCallback 0x0800688d Thumb Code 80 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) - HAL_I2C_MemRxCpltCallback 0x080068dd Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) - HAL_I2C_MemTxCpltCallback 0x08006931 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) - HAL_I2C_MspInit 0x08006985 Thumb Code 308 i2c.o(.text.HAL_I2C_MspInit) - HAL_I2C_SlaveRxCpltCallback 0x08006ab9 Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) - HAL_I2C_SlaveTxCpltCallback 0x08006b0d Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) - HAL_IncTick 0x08006b61 Thumb Code 26 stm32f4xx_hal.o(.text.HAL_IncTick) - HAL_Init 0x08006b7d Thumb Code 54 stm32f4xx_hal.o(.text.HAL_Init) - HAL_InitTick 0x08006bb5 Thumb Code 112 stm32f4xx_hal.o(.text.HAL_InitTick) - HAL_MspInit 0x08006c25 Thumb Code 88 stm32f4xx_hal_msp.o(.text.HAL_MspInit) - HAL_NVIC_DisableIRQ 0x08006c7d Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) - HAL_NVIC_EnableIRQ 0x08006c91 Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) - HAL_NVIC_SetPriority 0x08006ca5 Thumb Code 50 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) - HAL_NVIC_SetPriorityGrouping 0x08006cd9 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) - HAL_RCC_ClockConfig 0x08006ce9 Thumb Code 610 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) - HAL_RCC_GetHCLKFreq 0x08006f4d Thumb Code 12 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) - HAL_RCC_GetPCLK1Freq 0x08006f59 Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) - HAL_RCC_GetPCLK2Freq 0x08006f7d Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) - HAL_RCC_GetSysClockFreq 0x08006fa1 Thumb Code 230 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) - HAL_RCC_OscConfig 0x08007089 Thumb Code 1726 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) - HAL_SPI_ErrorCallback 0x08007749 Thumb Code 84 spi_1.o(.text.HAL_SPI_ErrorCallback) - HAL_SPI_Init 0x0800779d Thumb Code 256 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) - HAL_SPI_MspInit 0x0800789d Thumb Code 528 spi.o(.text.HAL_SPI_MspInit) - HAL_SPI_Receive 0x08007aad Thumb Code 590 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) - HAL_SPI_Receive_DMA 0x08007cfd Thumb Code 408 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) - HAL_SPI_RxCpltCallback 0x08007e95 Thumb Code 84 spi_1.o(.text.HAL_SPI_RxCpltCallback) - HAL_SPI_RxHalfCpltCallback 0x08007ee9 Thumb Code 84 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) - HAL_SPI_Transmit 0x08007f3d Thumb Code 674 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) - HAL_SPI_TransmitReceive 0x080081e1 Thumb Code 930 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) - HAL_SPI_TransmitReceive_DMA 0x08008585 Thumb Code 532 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) - HAL_SPI_Transmit_DMA 0x08008799 Thumb Code 364 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) - HAL_SPI_TxCpltCallback 0x08008905 Thumb Code 72 spi_1.o(.text.HAL_SPI_TxCpltCallback) - HAL_SPI_TxHalfCpltCallback 0x0800894d Thumb Code 84 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) - HAL_SPI_TxRxCpltCallback 0x080089a1 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) - HAL_SPI_TxRxHalfCpltCallback 0x080089f5 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) - HAL_SYSTICK_Config 0x08008a49 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) - HAL_TIMEx_BreakCallback 0x08008a59 Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) - HAL_TIMEx_CommutCallback 0x08008a61 Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) - HAL_TIMEx_MasterConfigSynchronization 0x08008a69 Thumb Code 290 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) - HAL_TIM_Base_Init 0x08008b8d Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) - HAL_TIM_Base_MspInit 0x08008c29 Thumb Code 138 tim.o(.text.HAL_TIM_Base_MspInit) - HAL_TIM_IC_CaptureCallback 0x08008cb5 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) - HAL_TIM_IRQHandler 0x08008cbd Thumb Code 538 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) - HAL_TIM_MspPostInit 0x08008ed9 Thumb Code 108 tim.o(.text.HAL_TIM_MspPostInit) - HAL_TIM_OC_DelayElapsedCallback 0x08008f45 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) - HAL_TIM_PWM_ConfigChannel 0x08008f4d Thumb Code 322 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) - HAL_TIM_PWM_Init 0x08009091 Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) - HAL_TIM_PWM_MspInit 0x0800912d Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) - HAL_TIM_PWM_PulseFinishedCallback 0x08009135 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) - HAL_TIM_PWM_Start 0x0800913d Thumb Code 458 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) - HAL_TIM_PeriodElapsedCallback 0x08009309 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) - HAL_TIM_TriggerCallback 0x08009311 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) - HAL_UARTEx_RxEventCallback 0x08009319 Thumb Code 12 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) - HAL_UART_ErrorCallback 0x08009325 Thumb Code 84 uart.o(.text.HAL_UART_ErrorCallback) - HAL_UART_IRQHandler 0x08009379 Thumb Code 1116 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) - HAL_UART_Init 0x080097d5 Thumb Code 158 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) - HAL_UART_MspInit 0x08009875 Thumb Code 460 usart.o(.text.HAL_UART_MspInit) - HAL_UART_RxCpltCallback 0x08009a41 Thumb Code 84 uart.o(.text.HAL_UART_RxCpltCallback) - HAL_UART_TxCpltCallback 0x08009a95 Thumb Code 84 uart.o(.text.HAL_UART_TxCpltCallback) - HardFault_Handler 0x08009ae9 Thumb Code 4 stm32f4xx_it.o(.text.HardFault_Handler) - I2C1_ER_IRQHandler 0x08009aed Thumb Code 16 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) - I2C1_EV_IRQHandler 0x08009afd Thumb Code 16 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) - InvSqrt 0x0800afe9 Thumb Code 118 user_math.o(.text.InvSqrt) - LowPassFilter2p_Apply 0x0800b061 Thumb Code 184 filter.o(.text.LowPassFilter2p_Apply) - LowPassFilter2p_Init 0x0800b119 Thumb Code 316 filter.o(.text.LowPassFilter2p_Init) - LowPassFilter2p_Reset 0x0800b255 Thumb Code 146 filter.o(.text.LowPassFilter2p_Reset) - MOTOR_DM_Enable 0x0800b381 Thumb Code 122 motor_dm.o(.text.MOTOR_DM_Enable) - MOTOR_DM_GetMotor 0x0800b42d Thumb Code 134 motor_dm.o(.text.MOTOR_DM_GetMotor) - MOTOR_DM_MITCtrl 0x0800b4b5 Thumb Code 72 motor_dm.o(.text.MOTOR_DM_MITCtrl) - MOTOR_DM_Register 0x0800b655 Thumb Code 300 motor_dm.o(.text.MOTOR_DM_Register) - MOTOR_DM_Update 0x0800b8c5 Thumb Code 268 motor_dm.o(.text.MOTOR_DM_Update) - MOTOR_RM_Ctrl 0x0800ba69 Thumb Code 368 motor_rm.o(.text.MOTOR_RM_Ctrl) - MOTOR_RM_GetMotor 0x0800bcdd Thumb Code 120 motor_rm.o(.text.MOTOR_RM_GetMotor) - MOTOR_RM_Register 0x0800bda5 Thumb Code 288 motor_rm.o(.text.MOTOR_RM_Register) - MOTOR_RM_SetOutput 0x0800bec5 Thumb Code 282 motor_rm.o(.text.MOTOR_RM_SetOutput) - MOTOR_RM_Update 0x0800bfe1 Thumb Code 258 motor_rm.o(.text.MOTOR_RM_Update) - MX_CAN1_Init 0x0800c0e5 Thumb Code 78 can.o(.text.MX_CAN1_Init) - MX_CAN2_Init 0x0800c135 Thumb Code 78 can.o(.text.MX_CAN2_Init) - MX_DMA_Init 0x0800c185 Thumb Code 134 dma.o(.text.MX_DMA_Init) - MX_FREERTOS_Init 0x0800c20d Thumb Code 64 freertos.o(.text.MX_FREERTOS_Init) - MX_GPIO_Init 0x0800c24d Thumb Code 554 gpio.o(.text.MX_GPIO_Init) - MX_I2C1_Init 0x0800c479 Thumb Code 72 i2c.o(.text.MX_I2C1_Init) - MX_I2C2_Init 0x0800c4c1 Thumb Code 72 i2c.o(.text.MX_I2C2_Init) - MX_SPI1_Init 0x0800c509 Thumb Code 82 spi.o(.text.MX_SPI1_Init) - MX_SPI2_Init 0x0800c55d Thumb Code 84 spi.o(.text.MX_SPI2_Init) - MX_TIM10_Init 0x0800c5b1 Thumb Code 142 tim.o(.text.MX_TIM10_Init) - MX_TIM7_Init 0x0800c641 Thumb Code 88 tim.o(.text.MX_TIM7_Init) - MX_USART1_UART_Init 0x0800c699 Thumb Code 64 usart.o(.text.MX_USART1_UART_Init) - MX_USART3_UART_Init 0x0800c6d9 Thumb Code 76 usart.o(.text.MX_USART3_UART_Init) - MemManage_Handler 0x0800c725 Thumb Code 4 stm32f4xx_it.o(.text.MemManage_Handler) - NMI_Handler 0x0800c945 Thumb Code 4 stm32f4xx_it.o(.text.NMI_Handler) - PID_Calc 0x0800c9b5 Thumb Code 752 pid.o(.text.PID_Calc) - PID_Init 0x0800cca5 Thumb Code 406 pid.o(.text.PID_Init) - PID_Reset 0x0800ce3d Thumb Code 72 pid.o(.text.PID_Reset) - PendSV_Handler 0x0800ce91 Thumb Code 100 port.o(.text.PendSV_Handler) - RC_Init 0x0800cef5 Thumb Code 148 bsp_rc.o(.text.RC_Init) - RC_restart 0x0800cf89 Thumb Code 90 bsp_rc.o(.text.RC_restart) - SVC_Handler 0x0800d541 Thumb Code 36 port.o(.text.SVC_Handler) - StartDefaultTask 0x0800d575 Thumb Code 18 freertos.o(.text.StartDefaultTask) - SysTick_Handler 0x0800d5dd Thumb Code 24 stm32f4xx_it.o(.text.SysTick_Handler) - SystemClock_Config 0x0800d5f5 Thumb Code 188 main.o(.text.SystemClock_Config) - SystemInit 0x0800d6b1 Thumb Code 18 system_stm32f4xx.o(.text.SystemInit) - TIM7_IRQHandler 0x0800d6c5 Thumb Code 16 stm32f4xx_it.o(.text.TIM7_IRQHandler) - TIM_Base_SetConfig 0x0800d6d5 Thumb Code 420 stm32f4xx_hal_tim.o(.text.TIM_Base_SetConfig) - TIM_CCxChannelCmd 0x0800d879 Thumb Code 54 stm32f4xx_hal_tim.o(.text.TIM_CCxChannelCmd) - TIM_OC2_SetConfig 0x0800d99d Thumb Code 244 stm32f4xx_hal_tim.o(.text.TIM_OC2_SetConfig) - Task_Init 0x0800dc29 Thumb Code 184 init.o(.text.Task_Init) - Task_atti_esti 0x0800dce1 Thumb Code 400 atti_esti.o(.text.Task_atti_esti) - Task_gimbal_ctrl 0x0800de71 Thumb Code 220 gimbal_ctrl.o(.text.Task_gimbal_ctrl) - Task_remote 0x0800df51 Thumb Code 160 remote.o(.text.Task_remote) - USART3_IRQHandler 0x0800e431 Thumb Code 32 stm32f4xx_it.o(.text.USART3_IRQHandler) - USART3_IRQHandler1 0x0800e451 Thumb Code 34 remote_control.o(.text.USART3_IRQHandler1) - UsageFault_Handler 0x0800e475 Thumb Code 4 stm32f4xx_it.o(.text.UsageFault_Handler) - configureTimerForRunTimeStats 0x0800e675 Thumb Code 2 freertos.o(.text.configureTimerForRunTimeStats) - delay_init 0x0800e699 Thumb Code 62 bsp_delay.o(.text.delay_init) - eTaskGetState 0x0800e6d9 Thumb Code 246 tasks.o(.text.eTaskGetState) - getRunTimeCounterValue 0x0800e829 Thumb Code 4 freertos.o(.text.getRunTimeCounterValue) - main 0x0800e82d Thumb Code 80 main.o(.text.main) - map 0x0800e87d Thumb Code 42 calc_lib.o(.text.map) - osDelay 0x0800e8a9 Thumb Code 52 cmsis_os2.o(.text.osDelay) - osDelayUntil 0x0800e8dd Thumb Code 88 cmsis_os2.o(.text.osDelayUntil) - osKernelGetState 0x0800e935 Thumb Code 82 cmsis_os2.o(.text.osKernelGetState) - osKernelGetTickCount 0x0800e989 Thumb Code 38 cmsis_os2.o(.text.osKernelGetTickCount) - osKernelGetTickFreq 0x0800e9b1 Thumb Code 6 cmsis_os2.o(.text.osKernelGetTickFreq) - osKernelInitialize 0x0800e9b9 Thumb Code 70 cmsis_os2.o(.text.osKernelInitialize) - osKernelLock 0x0800ea01 Thumb Code 86 cmsis_os2.o(.text.osKernelLock) - osKernelStart 0x0800ea59 Thumb Code 82 cmsis_os2.o(.text.osKernelStart) - osKernelUnlock 0x0800eaad Thumb Code 110 cmsis_os2.o(.text.osKernelUnlock) - osMessageQueueGet 0x0800eb1d Thumb Code 192 cmsis_os2.o(.text.osMessageQueueGet) - osMessageQueueNew 0x0800ebdd Thumb Code 254 cmsis_os2.o(.text.osMessageQueueNew) - osMessageQueuePut 0x0800ecdd Thumb Code 196 cmsis_os2.o(.text.osMessageQueuePut) - osMessageQueueReset 0x0800eda1 Thumb Code 64 cmsis_os2.o(.text.osMessageQueueReset) - osMutexAcquire 0x0800ede1 Thumb Code 158 cmsis_os2.o(.text.osMutexAcquire) - osMutexNew 0x0800ee81 Thumb Code 296 cmsis_os2.o(.text.osMutexNew) - osMutexRelease 0x0800efa9 Thumb Code 126 cmsis_os2.o(.text.osMutexRelease) - osThreadFlagsSet 0x0800f029 Thumb Code 164 cmsis_os2.o(.text.osThreadFlagsSet) - osThreadFlagsWait 0x0800f0cd Thumb Code 282 cmsis_os2.o(.text.osThreadFlagsWait) - osThreadGetId 0x0800f1e9 Thumb Code 16 cmsis_os2.o(.text.osThreadGetId) - osThreadNew 0x0800f1f9 Thumb Code 346 cmsis_os2.o(.text.osThreadNew) - osThreadTerminate 0x0800f355 Thumb Code 94 cmsis_os2.o(.text.osThreadTerminate) - pvPortMalloc 0x080102b5 Thumb Code 492 heap_4.o(.text.pvPortMalloc) - pvTaskIncrementMutexHeldCount 0x080104a1 Thumb Code 44 tasks.o(.text.pvTaskIncrementMutexHeldCount) - pxPortInitialiseStack 0x080104cd Thumb Code 94 port.o(.text.pxPortInitialiseStack) - remote_ParseHost 0x08010531 Thumb Code 176 ai.o(.text.remote_ParseHost) - remote_control_init 0x080105e1 Thumb Code 18 remote_control.o(.text.remote_control_init) - user_delay_ms 0x080108dd Thumb Code 46 calc_lib.o(.text.user_delay_ms) - user_delay_us 0x0801090d Thumb Code 68 calc_lib.o(.text.user_delay_us) - uxListRemove 0x08010951 Thumb Code 72 list.o(.text.uxListRemove) - vApplicationGetIdleTaskMemory 0x08010999 Thumb Code 42 cmsis_os2.o(.text.vApplicationGetIdleTaskMemory) - vApplicationGetTimerTaskMemory 0x080109c5 Thumb Code 44 cmsis_os2.o(.text.vApplicationGetTimerTaskMemory) - vApplicationStackOverflowHook 0x080109f1 Thumb Code 10 freertos.o(.text.vApplicationStackOverflowHook) - vListInitialise 0x080109fd Thumb Code 46 list.o(.text.vListInitialise) - vListInitialiseItem 0x08010a2d Thumb Code 14 list.o(.text.vListInitialiseItem) - vListInsert 0x08010a3d Thumb Code 106 list.o(.text.vListInsert) - vListInsertEnd 0x08010aa9 Thumb Code 58 list.o(.text.vListInsertEnd) - vPortEnterCritical 0x08010af9 Thumb Code 86 port.o(.text.vPortEnterCritical) - vPortExitCritical 0x08010b51 Thumb Code 74 port.o(.text.vPortExitCritical) - vPortFree 0x08010b9d Thumb Code 206 heap_4.o(.text.vPortFree) - vPortSetupTimerInterrupt 0x08010c6d Thumb Code 68 port.o(.text.vPortSetupTimerInterrupt) - vPortValidateInterruptPriority 0x08010cb1 Thumb Code 132 port.o(.text.vPortValidateInterruptPriority) - vQueueAddToRegistry 0x08010d35 Thumb Code 82 queue.o(.text.vQueueAddToRegistry) - vQueueWaitForMessageRestricted 0x08010d89 Thumb Code 100 queue.o(.text.vQueueWaitForMessageRestricted) - vTaskDelay 0x08010ded Thumb Code 110 tasks.o(.text.vTaskDelay) - vTaskDelayUntil 0x08010e5d Thumb Code 276 tasks.o(.text.vTaskDelayUntil) - vTaskDelete 0x08010f71 Thumb Code 270 tasks.o(.text.vTaskDelete) - vTaskInternalSetTimeOutState 0x08011081 Thumb Code 36 tasks.o(.text.vTaskInternalSetTimeOutState) - vTaskMissedYield 0x080110a5 Thumb Code 14 tasks.o(.text.vTaskMissedYield) - vTaskPlaceOnEventList 0x080110b5 Thumb Code 66 tasks.o(.text.vTaskPlaceOnEventList) - vTaskPlaceOnEventListRestricted 0x080110f9 Thumb Code 82 tasks.o(.text.vTaskPlaceOnEventListRestricted) - vTaskPriorityDisinheritAfterTimeout 0x0801114d Thumb Code 308 tasks.o(.text.vTaskPriorityDisinheritAfterTimeout) - vTaskStartScheduler 0x08011281 Thumb Code 228 tasks.o(.text.vTaskStartScheduler) - vTaskSuspendAll 0x08011365 Thumb Code 16 tasks.o(.text.vTaskSuspendAll) - vTaskSwitchContext 0x08011375 Thumb Code 384 tasks.o(.text.vTaskSwitchContext) - xPortStartScheduler 0x080114f5 Thumb Code 342 port.o(.text.xPortStartScheduler) - xPortSysTickHandler 0x0801164d Thumb Code 60 port.o(.text.xPortSysTickHandler) - xQueueCreateMutex 0x08011689 Thumb Code 38 queue.o(.text.xQueueCreateMutex) - xQueueCreateMutexStatic 0x080116b1 Thumb Code 50 queue.o(.text.xQueueCreateMutexStatic) - xQueueGenericCreate 0x080116e5 Thumb Code 116 queue.o(.text.xQueueGenericCreate) - xQueueGenericCreateStatic 0x08011759 Thumb Code 270 queue.o(.text.xQueueGenericCreateStatic) - xQueueGenericReset 0x08011869 Thumb Code 186 queue.o(.text.xQueueGenericReset) - xQueueGenericSend 0x08011925 Thumb Code 556 queue.o(.text.xQueueGenericSend) - xQueueGenericSendFromISR 0x08011b51 Thumb Code 332 queue.o(.text.xQueueGenericSendFromISR) - xQueueGiveMutexRecursive 0x08011c9d Thumb Code 108 queue.o(.text.xQueueGiveMutexRecursive) - xQueueReceive 0x08011d09 Thumb Code 476 queue.o(.text.xQueueReceive) - xQueueReceiveFromISR 0x08011ee5 Thumb Code 264 queue.o(.text.xQueueReceiveFromISR) - xQueueSemaphoreTake 0x08011fed Thumb Code 556 queue.o(.text.xQueueSemaphoreTake) - xQueueTakeMutexRecursive 0x08012219 Thumb Code 110 queue.o(.text.xQueueTakeMutexRecursive) - xTaskCheckForTimeOut 0x08012289 Thumb Code 204 tasks.o(.text.xTaskCheckForTimeOut) - xTaskCreate 0x08012355 Thumb Code 158 tasks.o(.text.xTaskCreate) - xTaskCreateStatic 0x080123f5 Thumb Code 206 tasks.o(.text.xTaskCreateStatic) - xTaskGenericNotify 0x080124c5 Thumb Code 376 tasks.o(.text.xTaskGenericNotify) - xTaskGenericNotifyFromISR 0x0801263d Thumb Code 452 tasks.o(.text.xTaskGenericNotifyFromISR) - xTaskGetCurrentTaskHandle 0x08012801 Thumb Code 20 tasks.o(.text.xTaskGetCurrentTaskHandle) - xTaskGetSchedulerState 0x08012815 Thumb Code 56 tasks.o(.text.xTaskGetSchedulerState) - xTaskGetTickCount 0x0801284d Thumb Code 20 tasks.o(.text.xTaskGetTickCount) - xTaskGetTickCountFromISR 0x08012861 Thumb Code 30 tasks.o(.text.xTaskGetTickCountFromISR) - xTaskIncrementTick 0x08012881 Thumb Code 452 tasks.o(.text.xTaskIncrementTick) - xTaskNotifyWait 0x08012a45 Thumb Code 214 tasks.o(.text.xTaskNotifyWait) - xTaskPriorityDisinherit 0x08012b1d Thumb Code 236 tasks.o(.text.xTaskPriorityDisinherit) - xTaskPriorityInherit 0x08012c09 Thumb Code 270 tasks.o(.text.xTaskPriorityInherit) - xTaskRemoveFromEventList 0x08012d19 Thumb Code 206 tasks.o(.text.xTaskRemoveFromEventList) - xTaskResumeAll 0x08012de9 Thumb Code 390 tasks.o(.text.xTaskResumeAll) - xTimerCreateTimerTask 0x08012f71 Thumb Code 148 timers.o(.text.xTimerCreateTimerTask) - xTimerGenericCommand 0x08013005 Thumb Code 176 timers.o(.text.xTimerGenericCommand) - __ARM_fpclassify 0x080130b5 Thumb Code 48 fpclassify.o(i.__ARM_fpclassify) - __ARM_fpclassifyf 0x080130e5 Thumb Code 38 fpclassifyf.o(i.__ARM_fpclassifyf) - __hardfp_asinf 0x0801310d Thumb Code 258 asinf.o(i.__hardfp_asinf) - __hardfp_atan 0x08013239 Thumb Code 622 atan.o(i.__hardfp_atan) - __hardfp_atan2 0x08013511 Thumb Code 448 atan2.o(i.__hardfp_atan2) - __hardfp_atan2f 0x08013711 Thumb Code 594 atan2f.o(i.__hardfp_atan2f) - __hardfp_cosf 0x080139bd Thumb Code 280 cosf.o(i.__hardfp_cosf) - __hardfp_tanf 0x08013b0d Thumb Code 322 tanf.o(i.__hardfp_tanf) - __kernel_poly 0x08013c89 Thumb Code 248 poly.o(i.__kernel_poly) - __mathlib_dbl_infnan 0x08013d81 Thumb Code 20 dunder.o(i.__mathlib_dbl_infnan) - __mathlib_dbl_infnan2 0x08013d95 Thumb Code 20 dunder.o(i.__mathlib_dbl_infnan2) - __mathlib_dbl_underflow 0x08013da9 Thumb Code 24 dunder.o(i.__mathlib_dbl_underflow) - __mathlib_flt_infnan 0x08013dc9 Thumb Code 6 funder.o(i.__mathlib_flt_infnan) - __mathlib_flt_infnan2 0x08013dcf Thumb Code 6 funder.o(i.__mathlib_flt_infnan2) - __mathlib_flt_invalid 0x08013dd5 Thumb Code 10 funder.o(i.__mathlib_flt_invalid) - __mathlib_flt_underflow 0x08013de5 Thumb Code 10 funder.o(i.__mathlib_flt_underflow) - __mathlib_rredf2 0x08013df5 Thumb Code 316 rredf.o(i.__mathlib_rredf2) - atan 0x08013f49 Thumb Code 16 atan.o(i.atan) - fabs 0x08013f59 Thumb Code 24 fabs.o(i.fabs) - sqrtf 0x08013f71 Thumb Code 62 sqrtf.o(i.sqrtf) - __aeabi_dneg 0x08013faf Thumb Code 0 basic.o(x$fpl$basic) - _dneg 0x08013faf Thumb Code 6 basic.o(x$fpl$basic) - __aeabi_fneg 0x08013fb5 Thumb Code 0 basic.o(x$fpl$basic) - _fneg 0x08013fb5 Thumb Code 6 basic.o(x$fpl$basic) - _dabs 0x08013fbb Thumb Code 6 basic.o(x$fpl$basic) - _fabs 0x08013fc1 Thumb Code 6 basic.o(x$fpl$basic) - __aeabi_d2f 0x08013fc9 Thumb Code 0 d2f.o(x$fpl$d2f) - _d2f 0x08013fc9 Thumb Code 98 d2f.o(x$fpl$d2f) - __aeabi_dadd 0x0801402d Thumb Code 0 daddsub_clz.o(x$fpl$dadd) - _dadd 0x0801402d Thumb Code 332 daddsub_clz.o(x$fpl$dadd) - __fpl_dcmp_Inf 0x0801417d Thumb Code 24 dcmpi.o(x$fpl$dcmpinf) - __aeabi_ddiv 0x08014195 Thumb Code 0 ddiv.o(x$fpl$ddiv) - _ddiv 0x08014195 Thumb Code 556 ddiv.o(x$fpl$ddiv) - __aeabi_cdcmpeq 0x08014449 Thumb Code 0 deqf.o(x$fpl$deqf) - _dcmpeq 0x08014449 Thumb Code 120 deqf.o(x$fpl$deqf) - __aeabi_d2iz 0x080144c1 Thumb Code 0 dfix.o(x$fpl$dfix) - _dfix 0x080144c1 Thumb Code 94 dfix.o(x$fpl$dfix) - __aeabi_d2uiz 0x08014521 Thumb Code 0 dfixu.o(x$fpl$dfixu) - _dfixu 0x08014521 Thumb Code 90 dfixu.o(x$fpl$dfixu) - __aeabi_i2d 0x0801457b Thumb Code 0 dflt_clz.o(x$fpl$dflt) - _dflt 0x0801457b Thumb Code 46 dflt_clz.o(x$fpl$dflt) - __aeabi_ui2d 0x080145a9 Thumb Code 0 dflt_clz.o(x$fpl$dfltu) - _dfltu 0x080145a9 Thumb Code 38 dflt_clz.o(x$fpl$dfltu) - __aeabi_dmul 0x080145d1 Thumb Code 0 dmul.o(x$fpl$dmul) - _dmul 0x080145d1 Thumb Code 332 dmul.o(x$fpl$dmul) - __fpl_dnaninf 0x08014725 Thumb Code 156 dnaninf.o(x$fpl$dnaninf) - __fpl_dretinf 0x080147c1 Thumb Code 12 dretinf.o(x$fpl$dretinf) - __aeabi_drsub 0x080147cd Thumb Code 0 daddsub_clz.o(x$fpl$drsb) - _drsb 0x080147cd Thumb Code 22 daddsub_clz.o(x$fpl$drsb) - __aeabi_dsub 0x080147e5 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) - _dsub 0x080147e5 Thumb Code 472 daddsub_clz.o(x$fpl$dsub) - __aeabi_f2d 0x080149c1 Thumb Code 0 f2d.o(x$fpl$f2d) - _f2d 0x080149c1 Thumb Code 86 f2d.o(x$fpl$f2d) - __aeabi_ul2f 0x08014a17 Thumb Code 0 ffltll_clz.o(x$fpl$ffltll) - _ll_uto_f 0x08014a17 Thumb Code 6 ffltll_clz.o(x$fpl$ffltll) - __aeabi_l2f 0x08014a1d Thumb Code 0 ffltll_clz.o(x$fpl$ffltll) - _ll_sto_f 0x08014a1d Thumb Code 90 ffltll_clz.o(x$fpl$ffltll) - __fpl_fnaninf 0x08014a77 Thumb Code 140 fnaninf.o(x$fpl$fnaninf) - _fp_init 0x08014b03 Thumb Code 26 fpinit.o(x$fpl$fpinit) - __fplib_config_fpu_vfp 0x08014b1b Thumb Code 0 fpinit.o(x$fpl$fpinit) - __fplib_config_pureend_doubles 0x08014b1b Thumb Code 0 fpinit.o(x$fpl$fpinit) - __fpl_fretinf 0x08014b1d Thumb Code 10 fretinf.o(x$fpl$fretinf) - __I$use$fp 0x08014b26 Number 0 usenofp.o(x$fpl$usenofp) - __mathlib_zero 0x08014bc0 Data 8 qnan.o(.constdata) - AHBPrescTable 0x08014be8 Data 16 system_stm32f4xx.o(.rodata.AHBPrescTable) - APBPrescTable 0x08014bf8 Data 8 system_stm32f4xx.o(.rodata.APBPrescTable) - attr_atti_esti 0x08014c48 Data 36 user_task.o(.rodata.attr_atti_esti) - attr_gimbal_ctrl 0x08014c6c Data 36 user_task.o(.rodata.attr_gimbal_ctrl) - attr_init 0x08014c90 Data 36 user_task.o(.rodata.attr_init) - attr_remote 0x08014cb4 Data 36 user_task.o(.rodata.attr_remote) - defaultTask_attributes 0x08014cd8 Data 36 freertos.o(.rodata.defaultTask_attributes) - Region$$Table$$Base 0x08014d64 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08014d84 Number 0 anon$$obj.o(Region$$Table) + Gimbal_Control 0x08003855 Thumb Code 1000 gimbal.o(.text.Gimbal_Control) + Gimbal_Init 0x08003c3d Thumb Code 472 gimbal.o(.text.Gimbal_Init) + Gimbal_Output 0x08003e15 Thumb Code 274 gimbal.o(.text.Gimbal_Output) + Gimbal_UpdateFeedback 0x08003fdd Thumb Code 360 gimbal.o(.text.Gimbal_UpdateFeedback) + Gimbal_UpdateIMU 0x08004145 Thumb Code 74 gimbal.o(.text.Gimbal_UpdateIMU) + HAL_CAN_ActivateNotification 0x08004191 Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) + HAL_CAN_AddTxMessage 0x080041e5 Thumb Code 342 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) + HAL_CAN_ConfigFilter 0x0800433d Thumb Code 414 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) + HAL_CAN_ErrorCallback 0x080044dd Thumb Code 80 can_1.o(.text.HAL_CAN_ErrorCallback) + HAL_CAN_GetRxFifoFillLevel 0x0800452d Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) + HAL_CAN_GetRxMessage 0x08004581 Thumb Code 530 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) + HAL_CAN_GetTxMailboxesFreeLevel 0x08004795 Thumb Code 112 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) + HAL_CAN_IRQHandler 0x08004805 Thumb Code 1010 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) + HAL_CAN_Init 0x08004bf9 Thumb Code 478 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) + HAL_CAN_MspInit 0x08004dd9 Thumb Code 464 can.o(.text.HAL_CAN_MspInit) + HAL_CAN_RxFifo0FullCallback 0x08004fa9 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) + HAL_CAN_RxFifo0MsgPendingCallback 0x08004ff9 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) + HAL_CAN_RxFifo1FullCallback 0x08005049 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) + HAL_CAN_RxFifo1MsgPendingCallback 0x08005099 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) + HAL_CAN_SleepCallback 0x080050e9 Thumb Code 80 can_1.o(.text.HAL_CAN_SleepCallback) + HAL_CAN_Start 0x08005139 Thumb Code 138 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) + HAL_CAN_TxMailbox0AbortCallback 0x080051c5 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) + HAL_CAN_TxMailbox0CompleteCallback 0x08005215 Thumb Code 76 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) + HAL_CAN_TxMailbox1AbortCallback 0x08005261 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) + HAL_CAN_TxMailbox1CompleteCallback 0x080052b1 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) + HAL_CAN_TxMailbox2AbortCallback 0x08005301 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) + HAL_CAN_TxMailbox2CompleteCallback 0x08005351 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) + HAL_CAN_WakeUpFromRxMsgCallback 0x080053a1 Thumb Code 80 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) + HAL_DMA_Abort 0x080053f1 Thumb Code 236 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) + HAL_DMA_Abort_IT 0x080054dd Thumb Code 68 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) + HAL_DMA_GetState 0x08005521 Thumb Code 14 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) + HAL_DMA_IRQHandler 0x08005531 Thumb Code 798 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) + HAL_DMA_Init 0x08005851 Thumb Code 366 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) + HAL_DMA_Start_IT 0x080059c1 Thumb Code 194 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) + HAL_Delay 0x08005a85 Thumb Code 66 stm32f4xx_hal.o(.text.HAL_Delay) + HAL_GPIO_EXTI_Callback 0x08005ac9 Thumb Code 102 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) + HAL_GPIO_EXTI_IRQHandler 0x08005b31 Thumb Code 56 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) + HAL_GPIO_Init 0x08005b69 Thumb Code 950 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) + HAL_GPIO_ReadPin 0x08005f21 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) + HAL_GPIO_WritePin 0x08005f51 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) + HAL_GetTick 0x08005f81 Thumb Code 12 stm32f4xx_hal.o(.text.HAL_GetTick) + HAL_I2C_AbortCpltCallback 0x08005f8d Thumb Code 84 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) + HAL_I2C_AddrCallback 0x08005fe1 Thumb Code 16 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) + HAL_I2C_ER_IRQHandler 0x08005ff1 Thumb Code 378 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) + HAL_I2C_EV_IRQHandler 0x0800616d Thumb Code 970 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) + HAL_I2C_ErrorCallback 0x08006539 Thumb Code 84 i2c_1.o(.text.HAL_I2C_ErrorCallback) + HAL_I2C_Init 0x0800658d Thumb Code 676 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) + HAL_I2C_ListenCpltCallback 0x08006831 Thumb Code 84 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) + HAL_I2C_MasterRxCpltCallback 0x08006885 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) + HAL_I2C_MasterTxCpltCallback 0x080068d9 Thumb Code 80 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) + HAL_I2C_MemRxCpltCallback 0x08006929 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) + HAL_I2C_MemTxCpltCallback 0x0800697d Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) + HAL_I2C_MspInit 0x080069d1 Thumb Code 308 i2c.o(.text.HAL_I2C_MspInit) + HAL_I2C_SlaveRxCpltCallback 0x08006b05 Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) + HAL_I2C_SlaveTxCpltCallback 0x08006b59 Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) + HAL_IncTick 0x08006bad Thumb Code 26 stm32f4xx_hal.o(.text.HAL_IncTick) + HAL_Init 0x08006bc9 Thumb Code 54 stm32f4xx_hal.o(.text.HAL_Init) + HAL_InitTick 0x08006c01 Thumb Code 112 stm32f4xx_hal.o(.text.HAL_InitTick) + HAL_MspInit 0x08006c71 Thumb Code 88 stm32f4xx_hal_msp.o(.text.HAL_MspInit) + HAL_NVIC_DisableIRQ 0x08006cc9 Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) + HAL_NVIC_EnableIRQ 0x08006cdd Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) + HAL_NVIC_SetPriority 0x08006cf1 Thumb Code 50 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) + HAL_NVIC_SetPriorityGrouping 0x08006d25 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) + HAL_RCC_ClockConfig 0x08006d35 Thumb Code 610 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) + HAL_RCC_GetHCLKFreq 0x08006f99 Thumb Code 12 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) + HAL_RCC_GetPCLK1Freq 0x08006fa5 Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) + HAL_RCC_GetPCLK2Freq 0x08006fc9 Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) + HAL_RCC_GetSysClockFreq 0x08006fed Thumb Code 230 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) + HAL_RCC_OscConfig 0x080070d5 Thumb Code 1726 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) + HAL_SPI_ErrorCallback 0x08007795 Thumb Code 84 spi_1.o(.text.HAL_SPI_ErrorCallback) + HAL_SPI_Init 0x080077e9 Thumb Code 256 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) + HAL_SPI_MspInit 0x080078e9 Thumb Code 528 spi.o(.text.HAL_SPI_MspInit) + HAL_SPI_Receive 0x08007af9 Thumb Code 590 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) + HAL_SPI_Receive_DMA 0x08007d49 Thumb Code 408 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) + HAL_SPI_RxCpltCallback 0x08007ee1 Thumb Code 84 spi_1.o(.text.HAL_SPI_RxCpltCallback) + HAL_SPI_RxHalfCpltCallback 0x08007f35 Thumb Code 84 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) + HAL_SPI_Transmit 0x08007f89 Thumb Code 674 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) + HAL_SPI_TransmitReceive 0x0800822d Thumb Code 930 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) + HAL_SPI_TransmitReceive_DMA 0x080085d1 Thumb Code 532 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) + HAL_SPI_Transmit_DMA 0x080087e5 Thumb Code 364 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) + HAL_SPI_TxCpltCallback 0x08008951 Thumb Code 72 spi_1.o(.text.HAL_SPI_TxCpltCallback) + HAL_SPI_TxHalfCpltCallback 0x08008999 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) + HAL_SPI_TxRxCpltCallback 0x080089ed Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) + HAL_SPI_TxRxHalfCpltCallback 0x08008a41 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) + HAL_SYSTICK_Config 0x08008a95 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) + HAL_TIMEx_BreakCallback 0x08008aa5 Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) + HAL_TIMEx_CommutCallback 0x08008aad Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) + HAL_TIMEx_MasterConfigSynchronization 0x08008ab5 Thumb Code 290 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) + HAL_TIM_Base_Init 0x08008bd9 Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) + HAL_TIM_Base_MspInit 0x08008c75 Thumb Code 138 tim.o(.text.HAL_TIM_Base_MspInit) + HAL_TIM_IC_CaptureCallback 0x08008d01 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) + HAL_TIM_IRQHandler 0x08008d09 Thumb Code 538 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) + HAL_TIM_MspPostInit 0x08008f25 Thumb Code 108 tim.o(.text.HAL_TIM_MspPostInit) + HAL_TIM_OC_DelayElapsedCallback 0x08008f91 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) + HAL_TIM_PWM_ConfigChannel 0x08008f99 Thumb Code 322 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) + HAL_TIM_PWM_Init 0x080090dd Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) + HAL_TIM_PWM_MspInit 0x08009179 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) + HAL_TIM_PWM_PulseFinishedCallback 0x08009181 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) + HAL_TIM_PWM_Start 0x08009189 Thumb Code 458 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) + HAL_TIM_PeriodElapsedCallback 0x08009355 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) + HAL_TIM_TriggerCallback 0x0800935d Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) + HAL_UARTEx_RxEventCallback 0x08009365 Thumb Code 12 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) + HAL_UART_ErrorCallback 0x08009371 Thumb Code 84 uart.o(.text.HAL_UART_ErrorCallback) + HAL_UART_IRQHandler 0x080093c5 Thumb Code 1116 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) + HAL_UART_Init 0x08009821 Thumb Code 158 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) + HAL_UART_MspInit 0x080098c1 Thumb Code 460 usart.o(.text.HAL_UART_MspInit) + HAL_UART_RxCpltCallback 0x08009a8d Thumb Code 84 uart.o(.text.HAL_UART_RxCpltCallback) + HAL_UART_TxCpltCallback 0x08009ae1 Thumb Code 84 uart.o(.text.HAL_UART_TxCpltCallback) + HardFault_Handler 0x08009b35 Thumb Code 4 stm32f4xx_it.o(.text.HardFault_Handler) + I2C1_ER_IRQHandler 0x08009b39 Thumb Code 16 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) + I2C1_EV_IRQHandler 0x08009b49 Thumb Code 16 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) + InvSqrt 0x0800b035 Thumb Code 118 user_math.o(.text.InvSqrt) + LowPassFilter2p_Apply 0x0800b0ad Thumb Code 184 filter.o(.text.LowPassFilter2p_Apply) + LowPassFilter2p_Init 0x0800b165 Thumb Code 316 filter.o(.text.LowPassFilter2p_Init) + LowPassFilter2p_Reset 0x0800b2a1 Thumb Code 146 filter.o(.text.LowPassFilter2p_Reset) + MOTOR_DM_Enable 0x0800b3cd Thumb Code 122 motor_dm.o(.text.MOTOR_DM_Enable) + MOTOR_DM_GetMotor 0x0800b479 Thumb Code 134 motor_dm.o(.text.MOTOR_DM_GetMotor) + MOTOR_DM_MITCtrl 0x0800b501 Thumb Code 72 motor_dm.o(.text.MOTOR_DM_MITCtrl) + MOTOR_DM_Register 0x0800b6a1 Thumb Code 300 motor_dm.o(.text.MOTOR_DM_Register) + MOTOR_DM_Update 0x0800b911 Thumb Code 268 motor_dm.o(.text.MOTOR_DM_Update) + MOTOR_RM_Ctrl 0x0800bab5 Thumb Code 368 motor_rm.o(.text.MOTOR_RM_Ctrl) + MOTOR_RM_GetMotor 0x0800bd29 Thumb Code 120 motor_rm.o(.text.MOTOR_RM_GetMotor) + MOTOR_RM_Register 0x0800bdf1 Thumb Code 288 motor_rm.o(.text.MOTOR_RM_Register) + MOTOR_RM_SetOutput 0x0800bf11 Thumb Code 282 motor_rm.o(.text.MOTOR_RM_SetOutput) + MOTOR_RM_Update 0x0800c02d Thumb Code 258 motor_rm.o(.text.MOTOR_RM_Update) + MX_CAN1_Init 0x0800c131 Thumb Code 78 can.o(.text.MX_CAN1_Init) + MX_CAN2_Init 0x0800c181 Thumb Code 78 can.o(.text.MX_CAN2_Init) + MX_DMA_Init 0x0800c1d1 Thumb Code 134 dma.o(.text.MX_DMA_Init) + MX_FREERTOS_Init 0x0800c259 Thumb Code 64 freertos.o(.text.MX_FREERTOS_Init) + MX_GPIO_Init 0x0800c299 Thumb Code 554 gpio.o(.text.MX_GPIO_Init) + MX_I2C1_Init 0x0800c4c5 Thumb Code 72 i2c.o(.text.MX_I2C1_Init) + MX_I2C2_Init 0x0800c50d Thumb Code 72 i2c.o(.text.MX_I2C2_Init) + MX_SPI1_Init 0x0800c555 Thumb Code 82 spi.o(.text.MX_SPI1_Init) + MX_SPI2_Init 0x0800c5a9 Thumb Code 84 spi.o(.text.MX_SPI2_Init) + MX_TIM10_Init 0x0800c5fd Thumb Code 142 tim.o(.text.MX_TIM10_Init) + MX_TIM7_Init 0x0800c68d Thumb Code 88 tim.o(.text.MX_TIM7_Init) + MX_USART1_UART_Init 0x0800c6e5 Thumb Code 64 usart.o(.text.MX_USART1_UART_Init) + MX_USART3_UART_Init 0x0800c725 Thumb Code 76 usart.o(.text.MX_USART3_UART_Init) + MemManage_Handler 0x0800c771 Thumb Code 4 stm32f4xx_it.o(.text.MemManage_Handler) + NMI_Handler 0x0800c991 Thumb Code 4 stm32f4xx_it.o(.text.NMI_Handler) + PID_Calc 0x0800ca01 Thumb Code 752 pid.o(.text.PID_Calc) + PID_Init 0x0800ccf1 Thumb Code 406 pid.o(.text.PID_Init) + PID_Reset 0x0800ce89 Thumb Code 72 pid.o(.text.PID_Reset) + PendSV_Handler 0x0800ced1 Thumb Code 100 port.o(.text.PendSV_Handler) + RC_Init 0x0800cf35 Thumb Code 148 bsp_rc.o(.text.RC_Init) + RC_restart 0x0800cfc9 Thumb Code 90 bsp_rc.o(.text.RC_restart) + SVC_Handler 0x0800d581 Thumb Code 36 port.o(.text.SVC_Handler) + StartDefaultTask 0x0800d5b5 Thumb Code 18 freertos.o(.text.StartDefaultTask) + SysTick_Handler 0x0800d61d Thumb Code 24 stm32f4xx_it.o(.text.SysTick_Handler) + SystemClock_Config 0x0800d635 Thumb Code 188 main.o(.text.SystemClock_Config) + SystemInit 0x0800d6f1 Thumb Code 18 system_stm32f4xx.o(.text.SystemInit) + TIM7_IRQHandler 0x0800d705 Thumb Code 16 stm32f4xx_it.o(.text.TIM7_IRQHandler) + TIM_Base_SetConfig 0x0800d715 Thumb Code 420 stm32f4xx_hal_tim.o(.text.TIM_Base_SetConfig) + TIM_CCxChannelCmd 0x0800d8b9 Thumb Code 54 stm32f4xx_hal_tim.o(.text.TIM_CCxChannelCmd) + TIM_OC2_SetConfig 0x0800d9dd Thumb Code 244 stm32f4xx_hal_tim.o(.text.TIM_OC2_SetConfig) + Task_Init 0x0800dc69 Thumb Code 184 init.o(.text.Task_Init) + Task_atti_esti 0x0800dd21 Thumb Code 400 atti_esti.o(.text.Task_atti_esti) + Task_gimbal_ctrl 0x0800deb1 Thumb Code 220 gimbal_ctrl.o(.text.Task_gimbal_ctrl) + Task_remote 0x0800df91 Thumb Code 160 remote.o(.text.Task_remote) + USART3_IRQHandler 0x0800e471 Thumb Code 32 stm32f4xx_it.o(.text.USART3_IRQHandler) + USART3_IRQHandler1 0x0800e491 Thumb Code 34 remote_control.o(.text.USART3_IRQHandler1) + UsageFault_Handler 0x0800e4b5 Thumb Code 4 stm32f4xx_it.o(.text.UsageFault_Handler) + configureTimerForRunTimeStats 0x0800e6b5 Thumb Code 2 freertos.o(.text.configureTimerForRunTimeStats) + delay_init 0x0800e6d9 Thumb Code 62 bsp_delay.o(.text.delay_init) + eTaskGetState 0x0800e719 Thumb Code 246 tasks.o(.text.eTaskGetState) + getRunTimeCounterValue 0x0800e869 Thumb Code 4 freertos.o(.text.getRunTimeCounterValue) + main 0x0800e86d Thumb Code 80 main.o(.text.main) + map 0x0800e8bd Thumb Code 42 calc_lib.o(.text.map) + osDelay 0x0800e8e9 Thumb Code 52 cmsis_os2.o(.text.osDelay) + osDelayUntil 0x0800e91d Thumb Code 88 cmsis_os2.o(.text.osDelayUntil) + osKernelGetState 0x0800e975 Thumb Code 82 cmsis_os2.o(.text.osKernelGetState) + osKernelGetTickCount 0x0800e9c9 Thumb Code 38 cmsis_os2.o(.text.osKernelGetTickCount) + osKernelGetTickFreq 0x0800e9f1 Thumb Code 6 cmsis_os2.o(.text.osKernelGetTickFreq) + osKernelInitialize 0x0800e9f9 Thumb Code 70 cmsis_os2.o(.text.osKernelInitialize) + osKernelLock 0x0800ea41 Thumb Code 86 cmsis_os2.o(.text.osKernelLock) + osKernelStart 0x0800ea99 Thumb Code 82 cmsis_os2.o(.text.osKernelStart) + osKernelUnlock 0x0800eaed Thumb Code 110 cmsis_os2.o(.text.osKernelUnlock) + osMessageQueueGet 0x0800eb5d Thumb Code 192 cmsis_os2.o(.text.osMessageQueueGet) + osMessageQueueNew 0x0800ec1d Thumb Code 254 cmsis_os2.o(.text.osMessageQueueNew) + osMessageQueuePut 0x0800ed1d Thumb Code 196 cmsis_os2.o(.text.osMessageQueuePut) + osMessageQueueReset 0x0800ede1 Thumb Code 64 cmsis_os2.o(.text.osMessageQueueReset) + osMutexAcquire 0x0800ee21 Thumb Code 158 cmsis_os2.o(.text.osMutexAcquire) + osMutexNew 0x0800eec1 Thumb Code 296 cmsis_os2.o(.text.osMutexNew) + osMutexRelease 0x0800efe9 Thumb Code 126 cmsis_os2.o(.text.osMutexRelease) + osThreadFlagsSet 0x0800f069 Thumb Code 164 cmsis_os2.o(.text.osThreadFlagsSet) + osThreadFlagsWait 0x0800f10d Thumb Code 282 cmsis_os2.o(.text.osThreadFlagsWait) + osThreadGetId 0x0800f229 Thumb Code 16 cmsis_os2.o(.text.osThreadGetId) + osThreadNew 0x0800f239 Thumb Code 346 cmsis_os2.o(.text.osThreadNew) + osThreadTerminate 0x0800f395 Thumb Code 94 cmsis_os2.o(.text.osThreadTerminate) + pvPortMalloc 0x080102f5 Thumb Code 492 heap_4.o(.text.pvPortMalloc) + pvTaskIncrementMutexHeldCount 0x080104e1 Thumb Code 44 tasks.o(.text.pvTaskIncrementMutexHeldCount) + pxPortInitialiseStack 0x0801050d Thumb Code 94 port.o(.text.pxPortInitialiseStack) + remote_ParseHost 0x08010571 Thumb Code 176 ai.o(.text.remote_ParseHost) + remote_control_init 0x08010621 Thumb Code 18 remote_control.o(.text.remote_control_init) + user_delay_ms 0x0801091d Thumb Code 46 calc_lib.o(.text.user_delay_ms) + user_delay_us 0x0801094d Thumb Code 68 calc_lib.o(.text.user_delay_us) + uxListRemove 0x08010991 Thumb Code 72 list.o(.text.uxListRemove) + vApplicationGetIdleTaskMemory 0x080109d9 Thumb Code 42 cmsis_os2.o(.text.vApplicationGetIdleTaskMemory) + vApplicationGetTimerTaskMemory 0x08010a05 Thumb Code 44 cmsis_os2.o(.text.vApplicationGetTimerTaskMemory) + vApplicationStackOverflowHook 0x08010a31 Thumb Code 10 freertos.o(.text.vApplicationStackOverflowHook) + vListInitialise 0x08010a3d Thumb Code 46 list.o(.text.vListInitialise) + vListInitialiseItem 0x08010a6d Thumb Code 14 list.o(.text.vListInitialiseItem) + vListInsert 0x08010a7d Thumb Code 106 list.o(.text.vListInsert) + vListInsertEnd 0x08010ae9 Thumb Code 58 list.o(.text.vListInsertEnd) + vPortEnterCritical 0x08010b39 Thumb Code 86 port.o(.text.vPortEnterCritical) + vPortExitCritical 0x08010b91 Thumb Code 74 port.o(.text.vPortExitCritical) + vPortFree 0x08010bdd Thumb Code 206 heap_4.o(.text.vPortFree) + vPortSetupTimerInterrupt 0x08010cad Thumb Code 68 port.o(.text.vPortSetupTimerInterrupt) + vPortValidateInterruptPriority 0x08010cf1 Thumb Code 132 port.o(.text.vPortValidateInterruptPriority) + vQueueAddToRegistry 0x08010d75 Thumb Code 82 queue.o(.text.vQueueAddToRegistry) + vQueueWaitForMessageRestricted 0x08010dc9 Thumb Code 100 queue.o(.text.vQueueWaitForMessageRestricted) + vTaskDelay 0x08010e2d Thumb Code 110 tasks.o(.text.vTaskDelay) + vTaskDelayUntil 0x08010e9d Thumb Code 276 tasks.o(.text.vTaskDelayUntil) + vTaskDelete 0x08010fb1 Thumb Code 270 tasks.o(.text.vTaskDelete) + vTaskInternalSetTimeOutState 0x080110c1 Thumb Code 36 tasks.o(.text.vTaskInternalSetTimeOutState) + vTaskMissedYield 0x080110e5 Thumb Code 14 tasks.o(.text.vTaskMissedYield) + vTaskPlaceOnEventList 0x080110f5 Thumb Code 66 tasks.o(.text.vTaskPlaceOnEventList) + vTaskPlaceOnEventListRestricted 0x08011139 Thumb Code 82 tasks.o(.text.vTaskPlaceOnEventListRestricted) + vTaskPriorityDisinheritAfterTimeout 0x0801118d Thumb Code 308 tasks.o(.text.vTaskPriorityDisinheritAfterTimeout) + vTaskStartScheduler 0x080112c1 Thumb Code 228 tasks.o(.text.vTaskStartScheduler) + vTaskSuspendAll 0x080113a5 Thumb Code 16 tasks.o(.text.vTaskSuspendAll) + vTaskSwitchContext 0x080113b5 Thumb Code 384 tasks.o(.text.vTaskSwitchContext) + xPortStartScheduler 0x08011535 Thumb Code 342 port.o(.text.xPortStartScheduler) + xPortSysTickHandler 0x0801168d Thumb Code 60 port.o(.text.xPortSysTickHandler) + xQueueCreateMutex 0x080116c9 Thumb Code 38 queue.o(.text.xQueueCreateMutex) + xQueueCreateMutexStatic 0x080116f1 Thumb Code 50 queue.o(.text.xQueueCreateMutexStatic) + xQueueGenericCreate 0x08011725 Thumb Code 116 queue.o(.text.xQueueGenericCreate) + xQueueGenericCreateStatic 0x08011799 Thumb Code 270 queue.o(.text.xQueueGenericCreateStatic) + xQueueGenericReset 0x080118a9 Thumb Code 186 queue.o(.text.xQueueGenericReset) + xQueueGenericSend 0x08011965 Thumb Code 556 queue.o(.text.xQueueGenericSend) + xQueueGenericSendFromISR 0x08011b91 Thumb Code 332 queue.o(.text.xQueueGenericSendFromISR) + xQueueGiveMutexRecursive 0x08011cdd Thumb Code 108 queue.o(.text.xQueueGiveMutexRecursive) + xQueueReceive 0x08011d49 Thumb Code 476 queue.o(.text.xQueueReceive) + xQueueReceiveFromISR 0x08011f25 Thumb Code 264 queue.o(.text.xQueueReceiveFromISR) + xQueueSemaphoreTake 0x0801202d Thumb Code 556 queue.o(.text.xQueueSemaphoreTake) + xQueueTakeMutexRecursive 0x08012259 Thumb Code 110 queue.o(.text.xQueueTakeMutexRecursive) + xTaskCheckForTimeOut 0x080122c9 Thumb Code 204 tasks.o(.text.xTaskCheckForTimeOut) + xTaskCreate 0x08012395 Thumb Code 158 tasks.o(.text.xTaskCreate) + xTaskCreateStatic 0x08012435 Thumb Code 206 tasks.o(.text.xTaskCreateStatic) + xTaskGenericNotify 0x08012505 Thumb Code 376 tasks.o(.text.xTaskGenericNotify) + xTaskGenericNotifyFromISR 0x0801267d Thumb Code 452 tasks.o(.text.xTaskGenericNotifyFromISR) + xTaskGetCurrentTaskHandle 0x08012841 Thumb Code 20 tasks.o(.text.xTaskGetCurrentTaskHandle) + xTaskGetSchedulerState 0x08012855 Thumb Code 56 tasks.o(.text.xTaskGetSchedulerState) + xTaskGetTickCount 0x0801288d Thumb Code 20 tasks.o(.text.xTaskGetTickCount) + xTaskGetTickCountFromISR 0x080128a1 Thumb Code 30 tasks.o(.text.xTaskGetTickCountFromISR) + xTaskIncrementTick 0x080128c1 Thumb Code 452 tasks.o(.text.xTaskIncrementTick) + xTaskNotifyWait 0x08012a85 Thumb Code 214 tasks.o(.text.xTaskNotifyWait) + xTaskPriorityDisinherit 0x08012b5d Thumb Code 236 tasks.o(.text.xTaskPriorityDisinherit) + xTaskPriorityInherit 0x08012c49 Thumb Code 270 tasks.o(.text.xTaskPriorityInherit) + xTaskRemoveFromEventList 0x08012d59 Thumb Code 206 tasks.o(.text.xTaskRemoveFromEventList) + xTaskResumeAll 0x08012e29 Thumb Code 390 tasks.o(.text.xTaskResumeAll) + xTimerCreateTimerTask 0x08012fb1 Thumb Code 148 timers.o(.text.xTimerCreateTimerTask) + xTimerGenericCommand 0x08013045 Thumb Code 176 timers.o(.text.xTimerGenericCommand) + __ARM_fpclassify 0x080130f5 Thumb Code 48 fpclassify.o(i.__ARM_fpclassify) + __ARM_fpclassifyf 0x08013125 Thumb Code 38 fpclassifyf.o(i.__ARM_fpclassifyf) + __hardfp_asinf 0x0801314d Thumb Code 258 asinf.o(i.__hardfp_asinf) + __hardfp_atan 0x08013279 Thumb Code 622 atan.o(i.__hardfp_atan) + __hardfp_atan2 0x08013551 Thumb Code 448 atan2.o(i.__hardfp_atan2) + __hardfp_atan2f 0x08013751 Thumb Code 594 atan2f.o(i.__hardfp_atan2f) + __hardfp_cosf 0x080139fd Thumb Code 280 cosf.o(i.__hardfp_cosf) + __hardfp_tanf 0x08013b4d Thumb Code 322 tanf.o(i.__hardfp_tanf) + __kernel_poly 0x08013cc9 Thumb Code 248 poly.o(i.__kernel_poly) + __mathlib_dbl_infnan 0x08013dc1 Thumb Code 20 dunder.o(i.__mathlib_dbl_infnan) + __mathlib_dbl_infnan2 0x08013dd5 Thumb Code 20 dunder.o(i.__mathlib_dbl_infnan2) + __mathlib_dbl_underflow 0x08013de9 Thumb Code 24 dunder.o(i.__mathlib_dbl_underflow) + __mathlib_flt_infnan 0x08013e09 Thumb Code 6 funder.o(i.__mathlib_flt_infnan) + __mathlib_flt_infnan2 0x08013e0f Thumb Code 6 funder.o(i.__mathlib_flt_infnan2) + __mathlib_flt_invalid 0x08013e15 Thumb Code 10 funder.o(i.__mathlib_flt_invalid) + __mathlib_flt_underflow 0x08013e25 Thumb Code 10 funder.o(i.__mathlib_flt_underflow) + __mathlib_rredf2 0x08013e35 Thumb Code 316 rredf.o(i.__mathlib_rredf2) + atan 0x08013f89 Thumb Code 16 atan.o(i.atan) + fabs 0x08013f99 Thumb Code 24 fabs.o(i.fabs) + sqrtf 0x08013fb1 Thumb Code 62 sqrtf.o(i.sqrtf) + __aeabi_dneg 0x08013fef Thumb Code 0 basic.o(x$fpl$basic) + _dneg 0x08013fef Thumb Code 6 basic.o(x$fpl$basic) + __aeabi_fneg 0x08013ff5 Thumb Code 0 basic.o(x$fpl$basic) + _fneg 0x08013ff5 Thumb Code 6 basic.o(x$fpl$basic) + _dabs 0x08013ffb Thumb Code 6 basic.o(x$fpl$basic) + _fabs 0x08014001 Thumb Code 6 basic.o(x$fpl$basic) + __aeabi_d2f 0x08014009 Thumb Code 0 d2f.o(x$fpl$d2f) + _d2f 0x08014009 Thumb Code 98 d2f.o(x$fpl$d2f) + __aeabi_dadd 0x0801406d Thumb Code 0 daddsub_clz.o(x$fpl$dadd) + _dadd 0x0801406d Thumb Code 332 daddsub_clz.o(x$fpl$dadd) + __fpl_dcmp_Inf 0x080141bd Thumb Code 24 dcmpi.o(x$fpl$dcmpinf) + __aeabi_ddiv 0x080141d5 Thumb Code 0 ddiv.o(x$fpl$ddiv) + _ddiv 0x080141d5 Thumb Code 556 ddiv.o(x$fpl$ddiv) + __aeabi_cdcmpeq 0x08014489 Thumb Code 0 deqf.o(x$fpl$deqf) + _dcmpeq 0x08014489 Thumb Code 120 deqf.o(x$fpl$deqf) + __aeabi_d2iz 0x08014501 Thumb Code 0 dfix.o(x$fpl$dfix) + _dfix 0x08014501 Thumb Code 94 dfix.o(x$fpl$dfix) + __aeabi_d2uiz 0x08014561 Thumb Code 0 dfixu.o(x$fpl$dfixu) + _dfixu 0x08014561 Thumb Code 90 dfixu.o(x$fpl$dfixu) + __aeabi_i2d 0x080145bb Thumb Code 0 dflt_clz.o(x$fpl$dflt) + _dflt 0x080145bb Thumb Code 46 dflt_clz.o(x$fpl$dflt) + __aeabi_ui2d 0x080145e9 Thumb Code 0 dflt_clz.o(x$fpl$dfltu) + _dfltu 0x080145e9 Thumb Code 38 dflt_clz.o(x$fpl$dfltu) + __aeabi_dmul 0x08014611 Thumb Code 0 dmul.o(x$fpl$dmul) + _dmul 0x08014611 Thumb Code 332 dmul.o(x$fpl$dmul) + __fpl_dnaninf 0x08014765 Thumb Code 156 dnaninf.o(x$fpl$dnaninf) + __fpl_dretinf 0x08014801 Thumb Code 12 dretinf.o(x$fpl$dretinf) + __aeabi_drsub 0x0801480d Thumb Code 0 daddsub_clz.o(x$fpl$drsb) + _drsb 0x0801480d Thumb Code 22 daddsub_clz.o(x$fpl$drsb) + __aeabi_dsub 0x08014825 Thumb Code 0 daddsub_clz.o(x$fpl$dsub) + _dsub 0x08014825 Thumb Code 472 daddsub_clz.o(x$fpl$dsub) + __aeabi_f2d 0x08014a01 Thumb Code 0 f2d.o(x$fpl$f2d) + _f2d 0x08014a01 Thumb Code 86 f2d.o(x$fpl$f2d) + __aeabi_ul2f 0x08014a57 Thumb Code 0 ffltll_clz.o(x$fpl$ffltll) + _ll_uto_f 0x08014a57 Thumb Code 6 ffltll_clz.o(x$fpl$ffltll) + __aeabi_l2f 0x08014a5d Thumb Code 0 ffltll_clz.o(x$fpl$ffltll) + _ll_sto_f 0x08014a5d Thumb Code 90 ffltll_clz.o(x$fpl$ffltll) + __fpl_fnaninf 0x08014ab7 Thumb Code 140 fnaninf.o(x$fpl$fnaninf) + _fp_init 0x08014b43 Thumb Code 26 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x08014b5b Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x08014b5b Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fpl_fretinf 0x08014b5d Thumb Code 10 fretinf.o(x$fpl$fretinf) + __I$use$fp 0x08014b66 Number 0 usenofp.o(x$fpl$usenofp) + __mathlib_zero 0x08014c00 Data 8 qnan.o(.constdata) + AHBPrescTable 0x08014c28 Data 16 system_stm32f4xx.o(.rodata.AHBPrescTable) + APBPrescTable 0x08014c38 Data 8 system_stm32f4xx.o(.rodata.APBPrescTable) + attr_atti_esti 0x08014c88 Data 36 user_task.o(.rodata.attr_atti_esti) + attr_gimbal_ctrl 0x08014cac Data 36 user_task.o(.rodata.attr_gimbal_ctrl) + attr_init 0x08014cd0 Data 36 user_task.o(.rodata.attr_init) + attr_remote 0x08014cf4 Data 36 user_task.o(.rodata.attr_remote) + defaultTask_attributes 0x08014d18 Data 36 freertos.o(.rodata.defaultTask_attributes) + Region$$Table$$Base 0x08014da4 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08014dc4 Number 0 anon$$obj.o(Region$$Table) SystemCoreClock 0x20000000 Data 4 system_stm32f4xx.o(.data.SystemCoreClock) - robot_config 0x20000008 Data 396 config.o(.data.robot_config) - uwTickFreq 0x20000194 Data 1 stm32f4xx_hal.o(.data.uwTickFreq) - uwTickPrio 0x20000198 Data 4 stm32f4xx_hal.o(.data.uwTickPrio) - __libspace_start 0x200001a0 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x20000200 Data 0 libspace.o(.bss) - bmi088 0x20000360 Data 48 atti_esti.o(.bss.bmi088) - cali_bmi088 0x200003a8 Data 12 atti_esti.o(.bss.cali_bmi088) - defaultTaskHandle 0x200003c4 Data 4 freertos.o(.bss.defaultTaskHandle) - eulr_to_send 0x200003c8 Data 12 atti_esti.o(.bss.eulr_to_send) - gimbal 0x200003e0 Data 752 gimbal_ctrl.o(.bss.gimbal) + robot_config 0x20000008 Data 404 config.o(.data.robot_config) + uwTickFreq 0x2000019c Data 1 stm32f4xx_hal.o(.data.uwTickFreq) + uwTickPrio 0x200001a0 Data 4 stm32f4xx_hal.o(.data.uwTickPrio) + __libspace_start 0x200001a8 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x20000208 Data 0 libspace.o(.bss) + bmi088 0x20000368 Data 48 atti_esti.o(.bss.bmi088) + 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 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) @@ -7777,9 +7777,9 @@ Memory Map of the image Image Entry point : 0x08000189 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00014f28, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00014e00]) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00014f70, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00014e50]) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00014d84, Max: 0x00100000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00014dc4, Max: 0x00100000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -7963,620 +7963,619 @@ Memory Map of the image 0x0800384a 0x0800384a 0x00000002 PAD 0x0800384c 0x0800384c 0x00000006 Code RO 15 .text.Error_Handler main.o 0x08003852 0x08003852 0x00000002 PAD - 0x08003854 0x08003854 0x000003f8 Code RO 3049 .text.Gimbal_Control gimbal.o - 0x08003c4c 0x08003c4c 0x000001d8 Code RO 3043 .text.Gimbal_Init gimbal.o - 0x08003e24 0x08003e24 0x000000ae Code RO 3053 .text.Gimbal_Output gimbal.o - 0x08003ed2 0x08003ed2 0x00000002 PAD - 0x08003ed4 0x08003ed4 0x000000bc Code RO 3051 .text.Gimbal_SetMode gimbal.o - 0x08003f90 0x08003f90 0x00000168 Code RO 3045 .text.Gimbal_UpdateFeedback gimbal.o - 0x080040f8 0x080040f8 0x0000004a Code RO 3047 .text.Gimbal_UpdateIMU gimbal.o - 0x08004142 0x08004142 0x00000002 PAD - 0x08004144 0x08004144 0x00000052 Code RO 249 .text.HAL_CAN_ActivateNotification stm32f4xx_hal_can.o - 0x08004196 0x08004196 0x00000002 PAD - 0x08004198 0x08004198 0x00000156 Code RO 235 .text.HAL_CAN_AddTxMessage stm32f4xx_hal_can.o - 0x080042ee 0x080042ee 0x00000002 PAD - 0x080042f0 0x080042f0 0x0000019e Code RO 225 .text.HAL_CAN_ConfigFilter stm32f4xx_hal_can.o - 0x0800448e 0x0800448e 0x00000002 PAD - 0x08004490 0x08004490 0x00000050 Code RO 2212 .text.HAL_CAN_ErrorCallback can_1.o - 0x080044e0 0x080044e0 0x00000052 Code RO 247 .text.HAL_CAN_GetRxFifoFillLevel stm32f4xx_hal_can.o - 0x08004532 0x08004532 0x00000002 PAD - 0x08004534 0x08004534 0x00000212 Code RO 245 .text.HAL_CAN_GetRxMessage stm32f4xx_hal_can.o - 0x08004746 0x08004746 0x00000002 PAD - 0x08004748 0x08004748 0x00000070 Code RO 239 .text.HAL_CAN_GetTxMailboxesFreeLevel stm32f4xx_hal_can.o - 0x080047b8 0x080047b8 0x000003f2 Code RO 253 .text.HAL_CAN_IRQHandler stm32f4xx_hal_can.o - 0x08004baa 0x08004baa 0x00000002 PAD - 0x08004bac 0x08004bac 0x000001de Code RO 215 .text.HAL_CAN_Init stm32f4xx_hal_can.o - 0x08004d8a 0x08004d8a 0x00000002 PAD - 0x08004d8c 0x08004d8c 0x000001d0 Code RO 57 .text.HAL_CAN_MspInit can.o - 0x08004f5c 0x08004f5c 0x00000050 Code RO 2202 .text.HAL_CAN_RxFifo0FullCallback can_1.o - 0x08004fac 0x08004fac 0x00000050 Code RO 2200 .text.HAL_CAN_RxFifo0MsgPendingCallback can_1.o - 0x08004ffc 0x08004ffc 0x00000050 Code RO 2206 .text.HAL_CAN_RxFifo1FullCallback can_1.o - 0x0800504c 0x0800504c 0x00000050 Code RO 2204 .text.HAL_CAN_RxFifo1MsgPendingCallback can_1.o - 0x0800509c 0x0800509c 0x00000050 Code RO 2208 .text.HAL_CAN_SleepCallback can_1.o - 0x080050ec 0x080050ec 0x0000008a Code RO 227 .text.HAL_CAN_Start stm32f4xx_hal_can.o - 0x08005176 0x08005176 0x00000002 PAD - 0x08005178 0x08005178 0x00000050 Code RO 2194 .text.HAL_CAN_TxMailbox0AbortCallback can_1.o - 0x080051c8 0x080051c8 0x0000004c Code RO 2186 .text.HAL_CAN_TxMailbox0CompleteCallback can_1.o - 0x08005214 0x08005214 0x00000050 Code RO 2196 .text.HAL_CAN_TxMailbox1AbortCallback can_1.o - 0x08005264 0x08005264 0x00000050 Code RO 2190 .text.HAL_CAN_TxMailbox1CompleteCallback can_1.o - 0x080052b4 0x080052b4 0x00000050 Code RO 2198 .text.HAL_CAN_TxMailbox2AbortCallback can_1.o - 0x08005304 0x08005304 0x00000050 Code RO 2192 .text.HAL_CAN_TxMailbox2CompleteCallback can_1.o - 0x08005354 0x08005354 0x00000050 Code RO 2210 .text.HAL_CAN_WakeUpFromRxMsgCallback can_1.o - 0x080053a4 0x080053a4 0x000000ec Code RO 482 .text.HAL_DMA_Abort stm32f4xx_hal_dma.o - 0x08005490 0x08005490 0x00000044 Code RO 484 .text.HAL_DMA_Abort_IT stm32f4xx_hal_dma.o - 0x080054d4 0x080054d4 0x0000000e Code RO 494 .text.HAL_DMA_GetState stm32f4xx_hal_dma.o - 0x080054e2 0x080054e2 0x00000002 PAD - 0x080054e4 0x080054e4 0x0000031e Code RO 488 .text.HAL_DMA_IRQHandler stm32f4xx_hal_dma.o - 0x08005802 0x08005802 0x00000002 PAD - 0x08005804 0x08005804 0x0000016e Code RO 468 .text.HAL_DMA_Init stm32f4xx_hal_dma.o - 0x08005972 0x08005972 0x00000002 PAD - 0x08005974 0x08005974 0x000000c2 Code RO 480 .text.HAL_DMA_Start_IT stm32f4xx_hal_dma.o - 0x08005a36 0x08005a36 0x00000002 PAD - 0x08005a38 0x08005a38 0x00000042 Code RO 663 .text.HAL_Delay stm32f4xx_hal.o - 0x08005a7a 0x08005a7a 0x00000002 PAD - 0x08005a7c 0x08005a7c 0x00000066 Code RO 2275 .text.HAL_GPIO_EXTI_Callback gpio_1.o - 0x08005ae2 0x08005ae2 0x00000002 PAD - 0x08005ae4 0x08005ae4 0x00000038 Code RO 442 .text.HAL_GPIO_EXTI_IRQHandler stm32f4xx_hal_gpio.o - 0x08005b1c 0x08005b1c 0x000003b6 Code RO 430 .text.HAL_GPIO_Init stm32f4xx_hal_gpio.o - 0x08005ed2 0x08005ed2 0x00000002 PAD - 0x08005ed4 0x08005ed4 0x0000002e Code RO 434 .text.HAL_GPIO_ReadPin stm32f4xx_hal_gpio.o - 0x08005f02 0x08005f02 0x00000002 PAD - 0x08005f04 0x08005f04 0x0000002e Code RO 436 .text.HAL_GPIO_WritePin stm32f4xx_hal_gpio.o - 0x08005f32 0x08005f32 0x00000002 PAD - 0x08005f34 0x08005f34 0x0000000c Code RO 655 .text.HAL_GetTick stm32f4xx_hal.o - 0x08005f40 0x08005f40 0x00000054 Code RO 2316 .text.HAL_I2C_AbortCpltCallback i2c_1.o - 0x08005f94 0x08005f94 0x00000010 Code RO 870 .text.HAL_I2C_AddrCallback stm32f4xx_hal_i2c.o - 0x08005fa4 0x08005fa4 0x0000017a Code RO 858 .text.HAL_I2C_ER_IRQHandler stm32f4xx_hal_i2c.o - 0x0800611e 0x0800611e 0x00000002 PAD - 0x08006120 0x08006120 0x000003ca Code RO 826 .text.HAL_I2C_EV_IRQHandler stm32f4xx_hal_i2c.o - 0x080064ea 0x080064ea 0x00000002 PAD - 0x080064ec 0x080064ec 0x00000054 Code RO 2314 .text.HAL_I2C_ErrorCallback i2c_1.o - 0x08006540 0x08006540 0x000002a4 Code RO 732 .text.HAL_I2C_Init stm32f4xx_hal_i2c.o - 0x080067e4 0x080067e4 0x00000054 Code RO 2308 .text.HAL_I2C_ListenCpltCallback i2c_1.o - 0x08006838 0x08006838 0x00000054 Code RO 2302 .text.HAL_I2C_MasterRxCpltCallback i2c_1.o - 0x0800688c 0x0800688c 0x00000050 Code RO 2298 .text.HAL_I2C_MasterTxCpltCallback i2c_1.o - 0x080068dc 0x080068dc 0x00000054 Code RO 2312 .text.HAL_I2C_MemRxCpltCallback i2c_1.o - 0x08006930 0x08006930 0x00000054 Code RO 2310 .text.HAL_I2C_MemTxCpltCallback i2c_1.o - 0x08006984 0x08006984 0x00000134 Code RO 83 .text.HAL_I2C_MspInit i2c.o - 0x08006ab8 0x08006ab8 0x00000054 Code RO 2306 .text.HAL_I2C_SlaveRxCpltCallback i2c_1.o - 0x08006b0c 0x08006b0c 0x00000054 Code RO 2304 .text.HAL_I2C_SlaveTxCpltCallback i2c_1.o - 0x08006b60 0x08006b60 0x0000001a Code RO 653 .text.HAL_IncTick stm32f4xx_hal.o - 0x08006b7a 0x08006b7a 0x00000002 PAD - 0x08006b7c 0x08006b7c 0x00000036 Code RO 643 .text.HAL_Init stm32f4xx_hal.o - 0x08006bb2 0x08006bb2 0x00000002 PAD - 0x08006bb4 0x08006bb4 0x00000070 Code RO 645 .text.HAL_InitTick stm32f4xx_hal.o - 0x08006c24 0x08006c24 0x00000058 Code RO 207 .text.HAL_MspInit stm32f4xx_hal_msp.o - 0x08006c7c 0x08006c7c 0x00000014 Code RO 582 .text.HAL_NVIC_DisableIRQ stm32f4xx_hal_cortex.o - 0x08006c90 0x08006c90 0x00000014 Code RO 578 .text.HAL_NVIC_EnableIRQ stm32f4xx_hal_cortex.o - 0x08006ca4 0x08006ca4 0x00000032 Code RO 570 .text.HAL_NVIC_SetPriority stm32f4xx_hal_cortex.o - 0x08006cd6 0x08006cd6 0x00000002 PAD - 0x08006cd8 0x08006cd8 0x00000010 Code RO 566 .text.HAL_NVIC_SetPriorityGrouping stm32f4xx_hal_cortex.o - 0x08006ce8 0x08006ce8 0x00000262 Code RO 298 .text.HAL_RCC_ClockConfig stm32f4xx_hal_rcc.o - 0x08006f4a 0x08006f4a 0x00000002 PAD - 0x08006f4c 0x08006f4c 0x0000000c Code RO 308 .text.HAL_RCC_GetHCLKFreq stm32f4xx_hal_rcc.o - 0x08006f58 0x08006f58 0x00000022 Code RO 310 .text.HAL_RCC_GetPCLK1Freq stm32f4xx_hal_rcc.o - 0x08006f7a 0x08006f7a 0x00000002 PAD - 0x08006f7c 0x08006f7c 0x00000022 Code RO 312 .text.HAL_RCC_GetPCLK2Freq stm32f4xx_hal_rcc.o - 0x08006f9e 0x08006f9e 0x00000002 PAD - 0x08006fa0 0x08006fa0 0x000000e6 Code RO 300 .text.HAL_RCC_GetSysClockFreq stm32f4xx_hal_rcc.o - 0x08007086 0x08007086 0x00000002 PAD - 0x08007088 0x08007088 0x000006be Code RO 296 .text.HAL_RCC_OscConfig stm32f4xx_hal_rcc.o - 0x08007746 0x08007746 0x00000002 PAD - 0x08007748 0x08007748 0x00000054 Code RO 2393 .text.HAL_SPI_ErrorCallback spi_1.o - 0x0800779c 0x0800779c 0x00000100 Code RO 904 .text.HAL_SPI_Init stm32f4xx_hal_spi.o - 0x0800789c 0x0800789c 0x00000210 Code RO 100 .text.HAL_SPI_MspInit spi.o - 0x08007aac 0x08007aac 0x0000024e Code RO 916 .text.HAL_SPI_Receive stm32f4xx_hal_spi.o - 0x08007cfa 0x08007cfa 0x00000002 PAD - 0x08007cfc 0x08007cfc 0x00000198 Code RO 952 .text.HAL_SPI_Receive_DMA stm32f4xx_hal_spi.o - 0x08007e94 0x08007e94 0x00000054 Code RO 2383 .text.HAL_SPI_RxCpltCallback spi_1.o - 0x08007ee8 0x08007ee8 0x00000054 Code RO 2389 .text.HAL_SPI_RxHalfCpltCallback spi_1.o - 0x08007f3c 0x08007f3c 0x000002a2 Code RO 912 .text.HAL_SPI_Transmit stm32f4xx_hal_spi.o - 0x080081de 0x080081de 0x00000002 PAD - 0x080081e0 0x080081e0 0x000003a2 Code RO 918 .text.HAL_SPI_TransmitReceive stm32f4xx_hal_spi.o - 0x08008582 0x08008582 0x00000002 PAD - 0x08008584 0x08008584 0x00000214 Code RO 954 .text.HAL_SPI_TransmitReceive_DMA stm32f4xx_hal_spi.o - 0x08008798 0x08008798 0x0000016c Code RO 944 .text.HAL_SPI_Transmit_DMA stm32f4xx_hal_spi.o - 0x08008904 0x08008904 0x00000048 Code RO 2379 .text.HAL_SPI_TxCpltCallback spi_1.o - 0x0800894c 0x0800894c 0x00000054 Code RO 2387 .text.HAL_SPI_TxHalfCpltCallback spi_1.o - 0x080089a0 0x080089a0 0x00000054 Code RO 2385 .text.HAL_SPI_TxRxCpltCallback spi_1.o - 0x080089f4 0x080089f4 0x00000054 Code RO 2391 .text.HAL_SPI_TxRxHalfCpltCallback spi_1.o - 0x08008a48 0x08008a48 0x00000010 Code RO 590 .text.HAL_SYSTICK_Config stm32f4xx_hal_cortex.o - 0x08008a58 0x08008a58 0x00000008 Code RO 1344 .text.HAL_TIMEx_BreakCallback stm32f4xx_hal_tim_ex.o - 0x08008a60 0x08008a60 0x00000008 Code RO 1340 .text.HAL_TIMEx_CommutCallback stm32f4xx_hal_tim_ex.o - 0x08008a68 0x08008a68 0x00000122 Code RO 1334 .text.HAL_TIMEx_MasterConfigSynchronization stm32f4xx_hal_tim_ex.o - 0x08008b8a 0x08008b8a 0x00000002 PAD - 0x08008b8c 0x08008b8c 0x0000009c Code RO 1021 .text.HAL_TIM_Base_Init stm32f4xx_hal_tim.o - 0x08008c28 0x08008c28 0x0000008a Code RO 121 .text.HAL_TIM_Base_MspInit tim.o - 0x08008cb2 0x08008cb2 0x00000002 PAD - 0x08008cb4 0x08008cb4 0x00000008 Code RO 1157 .text.HAL_TIM_IC_CaptureCallback stm32f4xx_hal_tim.o - 0x08008cbc 0x08008cbc 0x0000021a Code RO 1155 .text.HAL_TIM_IRQHandler stm32f4xx_hal_tim.o - 0x08008ed6 0x08008ed6 0x00000002 PAD - 0x08008ed8 0x08008ed8 0x0000006c Code RO 119 .text.HAL_TIM_MspPostInit tim.o - 0x08008f44 0x08008f44 0x00000008 Code RO 1159 .text.HAL_TIM_OC_DelayElapsedCallback stm32f4xx_hal_tim.o - 0x08008f4c 0x08008f4c 0x00000142 Code RO 1187 .text.HAL_TIM_PWM_ConfigChannel stm32f4xx_hal_tim.o - 0x0800908e 0x0800908e 0x00000002 PAD - 0x08009090 0x08009090 0x0000009c Code RO 1075 .text.HAL_TIM_PWM_Init stm32f4xx_hal_tim.o - 0x0800912c 0x0800912c 0x00000008 Code RO 1077 .text.HAL_TIM_PWM_MspInit stm32f4xx_hal_tim.o - 0x08009134 0x08009134 0x00000008 Code RO 1161 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f4xx_hal_tim.o - 0x0800913c 0x0800913c 0x000001ca Code RO 1083 .text.HAL_TIM_PWM_Start stm32f4xx_hal_tim.o - 0x08009306 0x08009306 0x00000002 PAD - 0x08009308 0x08009308 0x00000008 Code RO 1163 .text.HAL_TIM_PeriodElapsedCallback stm32f4xx_hal_tim.o - 0x08009310 0x08009310 0x00000008 Code RO 1165 .text.HAL_TIM_TriggerCallback stm32f4xx_hal_tim.o - 0x08009318 0x08009318 0x0000000c Code RO 1449 .text.HAL_UARTEx_RxEventCallback stm32f4xx_hal_uart.o - 0x08009324 0x08009324 0x00000054 Code RO 2448 .text.HAL_UART_ErrorCallback uart.o - 0x08009378 0x08009378 0x0000045c Code RO 1441 .text.HAL_UART_IRQHandler stm32f4xx_hal_uart.o - 0x080097d4 0x080097d4 0x0000009e Code RO 1357 .text.HAL_UART_Init stm32f4xx_hal_uart.o - 0x08009872 0x08009872 0x00000002 PAD - 0x08009874 0x08009874 0x000001cc Code RO 138 .text.HAL_UART_MspInit usart.o - 0x08009a40 0x08009a40 0x00000054 Code RO 2444 .text.HAL_UART_RxCpltCallback uart.o - 0x08009a94 0x08009a94 0x00000054 Code RO 2438 .text.HAL_UART_TxCpltCallback uart.o - 0x08009ae8 0x08009ae8 0x00000004 Code RO 154 .text.HardFault_Handler stm32f4xx_it.o - 0x08009aec 0x08009aec 0x00000010 Code RO 184 .text.I2C1_ER_IRQHandler stm32f4xx_it.o - 0x08009afc 0x08009afc 0x00000010 Code RO 182 .text.I2C1_EV_IRQHandler stm32f4xx_it.o - 0x08009b0c 0x08009b0c 0x00000034 Code RO 828 .text.I2C_ConvertOtherXferOptions stm32f4xx_hal_i2c.o - 0x08009b40 0x08009b40 0x00000156 Code RO 812 .text.I2C_DMAAbort stm32f4xx_hal_i2c.o - 0x08009c96 0x08009c96 0x00000002 PAD - 0x08009c98 0x08009c98 0x00000024 Code RO 888 .text.I2C_Flush_DR stm32f4xx_hal_i2c.o - 0x08009cbc 0x08009cbc 0x00000048 Code RO 2300 .text.I2C_Get i2c_1.o - 0x08009d04 0x08009d04 0x0000027a Code RO 824 .text.I2C_ITError stm32f4xx_hal_i2c.o - 0x08009f7e 0x08009f7e 0x00000002 PAD - 0x08009f80 0x08009f80 0x000001ac Code RO 844 .text.I2C_MasterReceive_BTF stm32f4xx_hal_i2c.o - 0x0800a12c 0x0800a12c 0x0000016a Code RO 842 .text.I2C_MasterReceive_RXNE stm32f4xx_hal_i2c.o - 0x0800a296 0x0800a296 0x00000002 PAD - 0x0800a298 0x0800a298 0x000000de Code RO 838 .text.I2C_MasterTransmit_BTF stm32f4xx_hal_i2c.o - 0x0800a376 0x0800a376 0x00000002 PAD - 0x0800a378 0x0800a378 0x0000013e Code RO 836 .text.I2C_MasterTransmit_TXE stm32f4xx_hal_i2c.o - 0x0800a4b6 0x0800a4b6 0x00000002 PAD - 0x0800a4b8 0x0800a4b8 0x00000046 Code RO 832 .text.I2C_Master_ADD10 stm32f4xx_hal_i2c.o - 0x0800a4fe 0x0800a4fe 0x00000002 PAD - 0x0800a500 0x0800a500 0x0000033e Code RO 834 .text.I2C_Master_ADDR stm32f4xx_hal_i2c.o - 0x0800a83e 0x0800a83e 0x00000002 PAD - 0x0800a840 0x0800a840 0x000000f0 Code RO 830 .text.I2C_Master_SB stm32f4xx_hal_i2c.o - 0x0800a930 0x0800a930 0x00000128 Code RO 840 .text.I2C_MemoryTransmit_TXE_BTF stm32f4xx_hal_i2c.o - 0x0800aa58 0x0800aa58 0x0000002e Code RO 856 .text.I2C_SlaveReceive_BTF stm32f4xx_hal_i2c.o - 0x0800aa86 0x0800aa86 0x00000002 PAD - 0x0800aa88 0x0800aa88 0x0000006e Code RO 854 .text.I2C_SlaveReceive_RXNE stm32f4xx_hal_i2c.o - 0x0800aaf6 0x0800aaf6 0x00000002 PAD - 0x0800aaf8 0x0800aaf8 0x0000002c Code RO 852 .text.I2C_SlaveTransmit_BTF stm32f4xx_hal_i2c.o - 0x0800ab24 0x0800ab24 0x0000006c Code RO 850 .text.I2C_SlaveTransmit_TXE stm32f4xx_hal_i2c.o - 0x0800ab90 0x0800ab90 0x000000ae Code RO 846 .text.I2C_Slave_ADDR stm32f4xx_hal_i2c.o - 0x0800ac3e 0x0800ac3e 0x00000002 PAD - 0x0800ac40 0x0800ac40 0x000000e4 Code RO 860 .text.I2C_Slave_AF stm32f4xx_hal_i2c.o - 0x0800ad24 0x0800ad24 0x0000024a Code RO 848 .text.I2C_Slave_STOPF stm32f4xx_hal_i2c.o - 0x0800af6e 0x0800af6e 0x00000002 PAD - 0x0800af70 0x0800af70 0x00000078 Code RO 890 .text.I2C_WaitOnSTOPRequestThroughIT stm32f4xx_hal_i2c.o - 0x0800afe8 0x0800afe8 0x00000076 Code RO 2675 .text.InvSqrt user_math.o - 0x0800b05e 0x0800b05e 0x00000002 PAD - 0x0800b060 0x0800b060 0x000000b8 Code RO 2527 .text.LowPassFilter2p_Apply filter.o - 0x0800b118 0x0800b118 0x0000013c Code RO 2525 .text.LowPassFilter2p_Init filter.o - 0x0800b254 0x0800b254 0x00000092 Code RO 2533 .text.LowPassFilter2p_Reset filter.o - 0x0800b2e6 0x0800b2e6 0x00000002 PAD - 0x0800b2e8 0x0800b2e8 0x00000096 Code RO 2944 .text.MOTOR_DM_CreateCANManager motor_dm.o - 0x0800b37e 0x0800b37e 0x00000002 PAD - 0x0800b380 0x0800b380 0x0000007a Code RO 2968 .text.MOTOR_DM_Enable motor_dm.o - 0x0800b3fa 0x0800b3fa 0x00000002 PAD - 0x0800b3fc 0x0800b3fc 0x00000030 Code RO 2946 .text.MOTOR_DM_GetCANManager motor_dm.o - 0x0800b42c 0x0800b42c 0x00000086 Code RO 2956 .text.MOTOR_DM_GetMotor motor_dm.o - 0x0800b4b2 0x0800b4b2 0x00000002 PAD - 0x0800b4b4 0x0800b4b4 0x00000048 Code RO 2954 .text.MOTOR_DM_MITCtrl motor_dm.o - 0x0800b4fc 0x0800b4fc 0x00000158 Code RO 2950 .text.MOTOR_DM_ParseFeedbackFrame motor_dm.o - 0x0800b654 0x0800b654 0x0000012c Code RO 2942 .text.MOTOR_DM_Register motor_dm.o - 0x0800b780 0x0800b780 0x00000144 Code RO 2958 .text.MOTOR_DM_SendMITCmd motor_dm.o - 0x0800b8c4 0x0800b8c4 0x0000010c Code RO 2948 .text.MOTOR_DM_Update motor_dm.o - 0x0800b9d0 0x0800b9d0 0x00000096 Code RO 2843 .text.MOTOR_RM_CreateCANManager motor_rm.o - 0x0800ba66 0x0800ba66 0x00000002 PAD - 0x0800ba68 0x0800ba68 0x00000170 Code RO 2861 .text.MOTOR_RM_Ctrl motor_rm.o - 0x0800bbd8 0x0800bbd8 0x00000030 Code RO 2845 .text.MOTOR_RM_GetCANManager motor_rm.o - 0x0800bc08 0x0800bc08 0x00000052 Code RO 2859 .text.MOTOR_RM_GetLSB motor_rm.o - 0x0800bc5a 0x0800bc5a 0x00000002 PAD - 0x0800bc5c 0x0800bc5c 0x00000080 Code RO 2857 .text.MOTOR_RM_GetLogicalIndex motor_rm.o - 0x0800bcdc 0x0800bcdc 0x00000078 Code RO 2855 .text.MOTOR_RM_GetMotor motor_rm.o - 0x0800bd54 0x0800bd54 0x00000050 Code RO 2867 .text.MOTOR_RM_GetRatio motor_rm.o - 0x0800bda4 0x0800bda4 0x00000120 Code RO 2841 .text.MOTOR_RM_Register motor_rm.o - 0x0800bec4 0x0800bec4 0x0000011a Code RO 2853 .text.MOTOR_RM_SetOutput motor_rm.o - 0x0800bfde 0x0800bfde 0x00000002 PAD - 0x0800bfe0 0x0800bfe0 0x00000102 Code RO 2847 .text.MOTOR_RM_Update motor_rm.o - 0x0800c0e2 0x0800c0e2 0x00000002 PAD - 0x0800c0e4 0x0800c0e4 0x0000004e Code RO 53 .text.MX_CAN1_Init can.o - 0x0800c132 0x0800c132 0x00000002 PAD - 0x0800c134 0x0800c134 0x0000004e Code RO 55 .text.MX_CAN2_Init can.o - 0x0800c182 0x0800c182 0x00000002 PAD - 0x0800c184 0x0800c184 0x00000086 Code RO 71 .text.MX_DMA_Init dma.o - 0x0800c20a 0x0800c20a 0x00000002 PAD - 0x0800c20c 0x0800c20c 0x00000040 Code RO 39 .text.MX_FREERTOS_Init freertos.o - 0x0800c24c 0x0800c24c 0x0000022a Code RO 25 .text.MX_GPIO_Init gpio.o - 0x0800c476 0x0800c476 0x00000002 PAD - 0x0800c478 0x0800c478 0x00000048 Code RO 79 .text.MX_I2C1_Init i2c.o - 0x0800c4c0 0x0800c4c0 0x00000048 Code RO 81 .text.MX_I2C2_Init i2c.o - 0x0800c508 0x0800c508 0x00000052 Code RO 96 .text.MX_SPI1_Init spi.o - 0x0800c55a 0x0800c55a 0x00000002 PAD - 0x0800c55c 0x0800c55c 0x00000054 Code RO 98 .text.MX_SPI2_Init spi.o - 0x0800c5b0 0x0800c5b0 0x0000008e Code RO 117 .text.MX_TIM10_Init tim.o - 0x0800c63e 0x0800c63e 0x00000002 PAD - 0x0800c640 0x0800c640 0x00000058 Code RO 115 .text.MX_TIM7_Init tim.o - 0x0800c698 0x0800c698 0x00000040 Code RO 134 .text.MX_USART1_UART_Init usart.o - 0x0800c6d8 0x0800c6d8 0x0000004c Code RO 136 .text.MX_USART3_UART_Init usart.o - 0x0800c724 0x0800c724 0x00000004 Code RO 156 .text.MemManage_Handler stm32f4xx_it.o - 0x0800c728 0x0800c728 0x0000021c Code RO 2849 .text.Motor_RM_Decode motor_rm.o - 0x0800c944 0x0800c944 0x00000004 Code RO 152 .text.NMI_Handler stm32f4xx_it.o - 0x0800c948 0x0800c948 0x0000006c Code RO 576 .text.NVIC_EncodePriority stm32f4xx_hal_cortex.o - 0x0800c9b4 0x0800c9b4 0x000002f0 Code RO 2638 .text.PID_Calc pid.o - 0x0800cca4 0x0800cca4 0x00000196 Code RO 2630 .text.PID_Init pid.o - 0x0800ce3a 0x0800ce3a 0x00000002 PAD - 0x0800ce3c 0x0800ce3c 0x00000048 Code RO 2636 .text.PID_Reset pid.o - 0x0800ce84 0x0800ce84 0x0000000c PAD - 0x0800ce90 0x0800ce90 0x00000064 Code RO 2170 .text.PendSV_Handler port.o - 0x0800cef4 0x0800cef4 0x00000094 Code RO 2717 .text.RC_Init bsp_rc.o - 0x0800cf88 0x0800cf88 0x0000005a Code RO 2721 .text.RC_restart bsp_rc.o - 0x0800cfe2 0x0800cfe2 0x00000002 PAD - 0x0800cfe4 0x0800cfe4 0x00000034 Code RO 950 .text.SPI_DMAError stm32f4xx_hal_spi.o - 0x0800d018 0x0800d018 0x00000016 Code RO 956 .text.SPI_DMAHalfReceiveCplt stm32f4xx_hal_spi.o - 0x0800d02e 0x0800d02e 0x00000002 PAD - 0x0800d030 0x0800d030 0x00000016 Code RO 946 .text.SPI_DMAHalfTransmitCplt stm32f4xx_hal_spi.o - 0x0800d046 0x0800d046 0x00000002 PAD - 0x0800d048 0x0800d048 0x00000016 Code RO 960 .text.SPI_DMAHalfTransmitReceiveCplt stm32f4xx_hal_spi.o - 0x0800d05e 0x0800d05e 0x00000002 PAD - 0x0800d060 0x0800d060 0x000000a2 Code RO 958 .text.SPI_DMAReceiveCplt stm32f4xx_hal_spi.o - 0x0800d102 0x0800d102 0x00000002 PAD - 0x0800d104 0x0800d104 0x000000a6 Code RO 948 .text.SPI_DMATransmitCplt stm32f4xx_hal_spi.o - 0x0800d1aa 0x0800d1aa 0x00000002 PAD - 0x0800d1ac 0x0800d1ac 0x00000086 Code RO 962 .text.SPI_DMATransmitReceiveCplt stm32f4xx_hal_spi.o - 0x0800d232 0x0800d232 0x00000002 PAD - 0x0800d234 0x0800d234 0x000000e4 Code RO 920 .text.SPI_EndRxTransaction stm32f4xx_hal_spi.o - 0x0800d318 0x0800d318 0x000000cc Code RO 914 .text.SPI_EndRxTxTransaction stm32f4xx_hal_spi.o - 0x0800d3e4 0x0800d3e4 0x0000002e Code RO 2381 .text.SPI_Get spi_1.o - 0x0800d412 0x0800d412 0x00000002 PAD - 0x0800d414 0x0800d414 0x0000012c Code RO 1012 .text.SPI_WaitFlagStateUntilTimeout stm32f4xx_hal_spi.o - 0x0800d540 0x0800d540 0x00000024 Code RO 2154 .text.SVC_Handler port.o - 0x0800d564 0x0800d564 0x0000000e Code RO 1948 .text.SVC_Setup cmsis_os2.o - 0x0800d572 0x0800d572 0x00000002 PAD - 0x0800d574 0x0800d574 0x00000012 Code RO 41 .text.StartDefaultTask freertos.o - 0x0800d586 0x0800d586 0x00000002 PAD - 0x0800d588 0x0800d588 0x00000052 Code RO 592 .text.SysTick_Config stm32f4xx_hal_cortex.o - 0x0800d5da 0x0800d5da 0x00000002 PAD - 0x0800d5dc 0x0800d5dc 0x00000018 Code RO 164 .text.SysTick_Handler stm32f4xx_it.o - 0x0800d5f4 0x0800d5f4 0x000000bc Code RO 13 .text.SystemClock_Config main.o - 0x0800d6b0 0x0800d6b0 0x00000012 Code RO 1488 .text.SystemInit system_stm32f4xx.o - 0x0800d6c2 0x0800d6c2 0x00000002 PAD - 0x0800d6c4 0x0800d6c4 0x00000010 Code RO 188 .text.TIM7_IRQHandler stm32f4xx_it.o - 0x0800d6d4 0x0800d6d4 0x000001a4 Code RO 1025 .text.TIM_Base_SetConfig stm32f4xx_hal_tim.o - 0x0800d878 0x0800d878 0x00000036 Code RO 1059 .text.TIM_CCxChannelCmd stm32f4xx_hal_tim.o - 0x0800d8ae 0x0800d8ae 0x00000002 PAD - 0x0800d8b0 0x0800d8b0 0x000000ea Code RO 1169 .text.TIM_OC1_SetConfig stm32f4xx_hal_tim.o - 0x0800d99a 0x0800d99a 0x00000002 PAD - 0x0800d99c 0x0800d99c 0x000000f4 Code RO 1171 .text.TIM_OC2_SetConfig stm32f4xx_hal_tim.o - 0x0800da90 0x0800da90 0x000000f2 Code RO 1173 .text.TIM_OC3_SetConfig stm32f4xx_hal_tim.o - 0x0800db82 0x0800db82 0x00000002 PAD - 0x0800db84 0x0800db84 0x000000a4 Code RO 1175 .text.TIM_OC4_SetConfig stm32f4xx_hal_tim.o - 0x0800dc28 0x0800dc28 0x000000b8 Code RO 2986 .text.Task_Init init.o - 0x0800dce0 0x0800dce0 0x00000190 Code RO 2994 .text.Task_atti_esti atti_esti.o - 0x0800de70 0x0800de70 0x000000dc Code RO 3032 .text.Task_gimbal_ctrl gimbal_ctrl.o - 0x0800df4c 0x0800df4c 0x00000004 PAD - 0x0800df50 0x0800df50 0x000000a0 Code RO 3011 .text.Task_remote remote.o - 0x0800dff0 0x0800dff0 0x0000001c Code RO 1445 .text.UART_DMAAbortOnError stm32f4xx_hal_uart.o - 0x0800e00c 0x0800e00c 0x00000094 Code RO 1405 .text.UART_EndRxTransfer stm32f4xx_hal_uart.o - 0x0800e0a0 0x0800e0a0 0x00000026 Code RO 1453 .text.UART_EndTransmit_IT stm32f4xx_hal_uart.o - 0x0800e0c6 0x0800e0c6 0x00000002 PAD - 0x0800e0c8 0x0800e0c8 0x0000002e Code RO 2440 .text.UART_Get uart.o - 0x0800e0f6 0x0800e0f6 0x00000002 PAD - 0x0800e0f8 0x0800e0f8 0x00000168 Code RO 1443 .text.UART_Receive_IT stm32f4xx_hal_uart.o - 0x0800e260 0x0800e260 0x0000013a Code RO 1361 .text.UART_SetConfig stm32f4xx_hal_uart.o - 0x0800e39a 0x0800e39a 0x00000002 PAD - 0x0800e39c 0x0800e39c 0x00000094 Code RO 1451 .text.UART_Transmit_IT stm32f4xx_hal_uart.o - 0x0800e430 0x0800e430 0x00000020 Code RO 186 .text.USART3_IRQHandler stm32f4xx_it.o - 0x0800e450 0x0800e450 0x00000022 Code RO 2919 .text.USART3_IRQHandler1 remote_control.o - 0x0800e472 0x0800e472 0x00000002 PAD - 0x0800e474 0x0800e474 0x00000004 Code RO 160 .text.UsageFault_Handler stm32f4xx_it.o - 0x0800e478 0x0800e478 0x0000001e Code RO 2537 .text.__ARM_isfinite filter.o - 0x0800e496 0x0800e496 0x00000002 PAD - 0x0800e498 0x0800e498 0x0000001e Code RO 2634 .text.__ARM_isfinite pid.o - 0x0800e4b6 0x0800e4b6 0x00000002 PAD - 0x0800e4b8 0x0800e4b8 0x00000018 Code RO 2535 .text.__ARM_isfinitef filter.o - 0x0800e4d0 0x0800e4d0 0x00000018 Code RO 2632 .text.__ARM_isfinitef pid.o - 0x0800e4e8 0x0800e4e8 0x00000034 Code RO 2531 .text.__ARM_isinf filter.o - 0x0800e51c 0x0800e51c 0x0000001c Code RO 2529 .text.__ARM_isinff filter.o - 0x0800e538 0x0800e538 0x00000038 Code RO 584 .text.__NVIC_DisableIRQ stm32f4xx_hal_cortex.o - 0x0800e570 0x0800e570 0x00000030 Code RO 580 .text.__NVIC_EnableIRQ stm32f4xx_hal_cortex.o - 0x0800e5a0 0x0800e5a0 0x00000010 Code RO 572 .text.__NVIC_GetPriorityGrouping stm32f4xx_hal_cortex.o - 0x0800e5b0 0x0800e5b0 0x00000042 Code RO 574 .text.__NVIC_SetPriority stm32f4xx_hal_cortex.o - 0x0800e5f2 0x0800e5f2 0x00000002 PAD - 0x0800e5f4 0x0800e5f4 0x00000042 Code RO 2104 .text.__NVIC_SetPriority cmsis_os2.o - 0x0800e636 0x0800e636 0x00000002 PAD - 0x0800e638 0x0800e638 0x0000003c Code RO 568 .text.__NVIC_SetPriorityGrouping stm32f4xx_hal_cortex.o - 0x0800e674 0x0800e674 0x00000002 Code RO 33 .text.configureTimerForRunTimeStats freertos.o + 0x08003854 0x08003854 0x000003e8 Code RO 3049 .text.Gimbal_Control gimbal.o + 0x08003c3c 0x08003c3c 0x000001d8 Code RO 3043 .text.Gimbal_Init gimbal.o + 0x08003e14 0x08003e14 0x00000112 Code RO 3053 .text.Gimbal_Output gimbal.o + 0x08003f26 0x08003f26 0x00000002 PAD + 0x08003f28 0x08003f28 0x000000b4 Code RO 3051 .text.Gimbal_SetMode gimbal.o + 0x08003fdc 0x08003fdc 0x00000168 Code RO 3045 .text.Gimbal_UpdateFeedback gimbal.o + 0x08004144 0x08004144 0x0000004a Code RO 3047 .text.Gimbal_UpdateIMU gimbal.o + 0x0800418e 0x0800418e 0x00000002 PAD + 0x08004190 0x08004190 0x00000052 Code RO 249 .text.HAL_CAN_ActivateNotification stm32f4xx_hal_can.o + 0x080041e2 0x080041e2 0x00000002 PAD + 0x080041e4 0x080041e4 0x00000156 Code RO 235 .text.HAL_CAN_AddTxMessage stm32f4xx_hal_can.o + 0x0800433a 0x0800433a 0x00000002 PAD + 0x0800433c 0x0800433c 0x0000019e Code RO 225 .text.HAL_CAN_ConfigFilter stm32f4xx_hal_can.o + 0x080044da 0x080044da 0x00000002 PAD + 0x080044dc 0x080044dc 0x00000050 Code RO 2212 .text.HAL_CAN_ErrorCallback can_1.o + 0x0800452c 0x0800452c 0x00000052 Code RO 247 .text.HAL_CAN_GetRxFifoFillLevel stm32f4xx_hal_can.o + 0x0800457e 0x0800457e 0x00000002 PAD + 0x08004580 0x08004580 0x00000212 Code RO 245 .text.HAL_CAN_GetRxMessage stm32f4xx_hal_can.o + 0x08004792 0x08004792 0x00000002 PAD + 0x08004794 0x08004794 0x00000070 Code RO 239 .text.HAL_CAN_GetTxMailboxesFreeLevel stm32f4xx_hal_can.o + 0x08004804 0x08004804 0x000003f2 Code RO 253 .text.HAL_CAN_IRQHandler stm32f4xx_hal_can.o + 0x08004bf6 0x08004bf6 0x00000002 PAD + 0x08004bf8 0x08004bf8 0x000001de Code RO 215 .text.HAL_CAN_Init stm32f4xx_hal_can.o + 0x08004dd6 0x08004dd6 0x00000002 PAD + 0x08004dd8 0x08004dd8 0x000001d0 Code RO 57 .text.HAL_CAN_MspInit can.o + 0x08004fa8 0x08004fa8 0x00000050 Code RO 2202 .text.HAL_CAN_RxFifo0FullCallback can_1.o + 0x08004ff8 0x08004ff8 0x00000050 Code RO 2200 .text.HAL_CAN_RxFifo0MsgPendingCallback can_1.o + 0x08005048 0x08005048 0x00000050 Code RO 2206 .text.HAL_CAN_RxFifo1FullCallback can_1.o + 0x08005098 0x08005098 0x00000050 Code RO 2204 .text.HAL_CAN_RxFifo1MsgPendingCallback can_1.o + 0x080050e8 0x080050e8 0x00000050 Code RO 2208 .text.HAL_CAN_SleepCallback can_1.o + 0x08005138 0x08005138 0x0000008a Code RO 227 .text.HAL_CAN_Start stm32f4xx_hal_can.o + 0x080051c2 0x080051c2 0x00000002 PAD + 0x080051c4 0x080051c4 0x00000050 Code RO 2194 .text.HAL_CAN_TxMailbox0AbortCallback can_1.o + 0x08005214 0x08005214 0x0000004c Code RO 2186 .text.HAL_CAN_TxMailbox0CompleteCallback can_1.o + 0x08005260 0x08005260 0x00000050 Code RO 2196 .text.HAL_CAN_TxMailbox1AbortCallback can_1.o + 0x080052b0 0x080052b0 0x00000050 Code RO 2190 .text.HAL_CAN_TxMailbox1CompleteCallback can_1.o + 0x08005300 0x08005300 0x00000050 Code RO 2198 .text.HAL_CAN_TxMailbox2AbortCallback can_1.o + 0x08005350 0x08005350 0x00000050 Code RO 2192 .text.HAL_CAN_TxMailbox2CompleteCallback can_1.o + 0x080053a0 0x080053a0 0x00000050 Code RO 2210 .text.HAL_CAN_WakeUpFromRxMsgCallback can_1.o + 0x080053f0 0x080053f0 0x000000ec Code RO 482 .text.HAL_DMA_Abort stm32f4xx_hal_dma.o + 0x080054dc 0x080054dc 0x00000044 Code RO 484 .text.HAL_DMA_Abort_IT stm32f4xx_hal_dma.o + 0x08005520 0x08005520 0x0000000e Code RO 494 .text.HAL_DMA_GetState stm32f4xx_hal_dma.o + 0x0800552e 0x0800552e 0x00000002 PAD + 0x08005530 0x08005530 0x0000031e Code RO 488 .text.HAL_DMA_IRQHandler stm32f4xx_hal_dma.o + 0x0800584e 0x0800584e 0x00000002 PAD + 0x08005850 0x08005850 0x0000016e Code RO 468 .text.HAL_DMA_Init stm32f4xx_hal_dma.o + 0x080059be 0x080059be 0x00000002 PAD + 0x080059c0 0x080059c0 0x000000c2 Code RO 480 .text.HAL_DMA_Start_IT stm32f4xx_hal_dma.o + 0x08005a82 0x08005a82 0x00000002 PAD + 0x08005a84 0x08005a84 0x00000042 Code RO 663 .text.HAL_Delay stm32f4xx_hal.o + 0x08005ac6 0x08005ac6 0x00000002 PAD + 0x08005ac8 0x08005ac8 0x00000066 Code RO 2275 .text.HAL_GPIO_EXTI_Callback gpio_1.o + 0x08005b2e 0x08005b2e 0x00000002 PAD + 0x08005b30 0x08005b30 0x00000038 Code RO 442 .text.HAL_GPIO_EXTI_IRQHandler stm32f4xx_hal_gpio.o + 0x08005b68 0x08005b68 0x000003b6 Code RO 430 .text.HAL_GPIO_Init stm32f4xx_hal_gpio.o + 0x08005f1e 0x08005f1e 0x00000002 PAD + 0x08005f20 0x08005f20 0x0000002e Code RO 434 .text.HAL_GPIO_ReadPin stm32f4xx_hal_gpio.o + 0x08005f4e 0x08005f4e 0x00000002 PAD + 0x08005f50 0x08005f50 0x0000002e Code RO 436 .text.HAL_GPIO_WritePin stm32f4xx_hal_gpio.o + 0x08005f7e 0x08005f7e 0x00000002 PAD + 0x08005f80 0x08005f80 0x0000000c Code RO 655 .text.HAL_GetTick stm32f4xx_hal.o + 0x08005f8c 0x08005f8c 0x00000054 Code RO 2316 .text.HAL_I2C_AbortCpltCallback i2c_1.o + 0x08005fe0 0x08005fe0 0x00000010 Code RO 870 .text.HAL_I2C_AddrCallback stm32f4xx_hal_i2c.o + 0x08005ff0 0x08005ff0 0x0000017a Code RO 858 .text.HAL_I2C_ER_IRQHandler stm32f4xx_hal_i2c.o + 0x0800616a 0x0800616a 0x00000002 PAD + 0x0800616c 0x0800616c 0x000003ca Code RO 826 .text.HAL_I2C_EV_IRQHandler stm32f4xx_hal_i2c.o + 0x08006536 0x08006536 0x00000002 PAD + 0x08006538 0x08006538 0x00000054 Code RO 2314 .text.HAL_I2C_ErrorCallback i2c_1.o + 0x0800658c 0x0800658c 0x000002a4 Code RO 732 .text.HAL_I2C_Init stm32f4xx_hal_i2c.o + 0x08006830 0x08006830 0x00000054 Code RO 2308 .text.HAL_I2C_ListenCpltCallback i2c_1.o + 0x08006884 0x08006884 0x00000054 Code RO 2302 .text.HAL_I2C_MasterRxCpltCallback i2c_1.o + 0x080068d8 0x080068d8 0x00000050 Code RO 2298 .text.HAL_I2C_MasterTxCpltCallback i2c_1.o + 0x08006928 0x08006928 0x00000054 Code RO 2312 .text.HAL_I2C_MemRxCpltCallback i2c_1.o + 0x0800697c 0x0800697c 0x00000054 Code RO 2310 .text.HAL_I2C_MemTxCpltCallback i2c_1.o + 0x080069d0 0x080069d0 0x00000134 Code RO 83 .text.HAL_I2C_MspInit i2c.o + 0x08006b04 0x08006b04 0x00000054 Code RO 2306 .text.HAL_I2C_SlaveRxCpltCallback i2c_1.o + 0x08006b58 0x08006b58 0x00000054 Code RO 2304 .text.HAL_I2C_SlaveTxCpltCallback i2c_1.o + 0x08006bac 0x08006bac 0x0000001a Code RO 653 .text.HAL_IncTick stm32f4xx_hal.o + 0x08006bc6 0x08006bc6 0x00000002 PAD + 0x08006bc8 0x08006bc8 0x00000036 Code RO 643 .text.HAL_Init stm32f4xx_hal.o + 0x08006bfe 0x08006bfe 0x00000002 PAD + 0x08006c00 0x08006c00 0x00000070 Code RO 645 .text.HAL_InitTick stm32f4xx_hal.o + 0x08006c70 0x08006c70 0x00000058 Code RO 207 .text.HAL_MspInit stm32f4xx_hal_msp.o + 0x08006cc8 0x08006cc8 0x00000014 Code RO 582 .text.HAL_NVIC_DisableIRQ stm32f4xx_hal_cortex.o + 0x08006cdc 0x08006cdc 0x00000014 Code RO 578 .text.HAL_NVIC_EnableIRQ stm32f4xx_hal_cortex.o + 0x08006cf0 0x08006cf0 0x00000032 Code RO 570 .text.HAL_NVIC_SetPriority stm32f4xx_hal_cortex.o + 0x08006d22 0x08006d22 0x00000002 PAD + 0x08006d24 0x08006d24 0x00000010 Code RO 566 .text.HAL_NVIC_SetPriorityGrouping stm32f4xx_hal_cortex.o + 0x08006d34 0x08006d34 0x00000262 Code RO 298 .text.HAL_RCC_ClockConfig stm32f4xx_hal_rcc.o + 0x08006f96 0x08006f96 0x00000002 PAD + 0x08006f98 0x08006f98 0x0000000c Code RO 308 .text.HAL_RCC_GetHCLKFreq stm32f4xx_hal_rcc.o + 0x08006fa4 0x08006fa4 0x00000022 Code RO 310 .text.HAL_RCC_GetPCLK1Freq stm32f4xx_hal_rcc.o + 0x08006fc6 0x08006fc6 0x00000002 PAD + 0x08006fc8 0x08006fc8 0x00000022 Code RO 312 .text.HAL_RCC_GetPCLK2Freq stm32f4xx_hal_rcc.o + 0x08006fea 0x08006fea 0x00000002 PAD + 0x08006fec 0x08006fec 0x000000e6 Code RO 300 .text.HAL_RCC_GetSysClockFreq stm32f4xx_hal_rcc.o + 0x080070d2 0x080070d2 0x00000002 PAD + 0x080070d4 0x080070d4 0x000006be Code RO 296 .text.HAL_RCC_OscConfig stm32f4xx_hal_rcc.o + 0x08007792 0x08007792 0x00000002 PAD + 0x08007794 0x08007794 0x00000054 Code RO 2393 .text.HAL_SPI_ErrorCallback spi_1.o + 0x080077e8 0x080077e8 0x00000100 Code RO 904 .text.HAL_SPI_Init stm32f4xx_hal_spi.o + 0x080078e8 0x080078e8 0x00000210 Code RO 100 .text.HAL_SPI_MspInit spi.o + 0x08007af8 0x08007af8 0x0000024e Code RO 916 .text.HAL_SPI_Receive stm32f4xx_hal_spi.o + 0x08007d46 0x08007d46 0x00000002 PAD + 0x08007d48 0x08007d48 0x00000198 Code RO 952 .text.HAL_SPI_Receive_DMA stm32f4xx_hal_spi.o + 0x08007ee0 0x08007ee0 0x00000054 Code RO 2383 .text.HAL_SPI_RxCpltCallback spi_1.o + 0x08007f34 0x08007f34 0x00000054 Code RO 2389 .text.HAL_SPI_RxHalfCpltCallback spi_1.o + 0x08007f88 0x08007f88 0x000002a2 Code RO 912 .text.HAL_SPI_Transmit stm32f4xx_hal_spi.o + 0x0800822a 0x0800822a 0x00000002 PAD + 0x0800822c 0x0800822c 0x000003a2 Code RO 918 .text.HAL_SPI_TransmitReceive stm32f4xx_hal_spi.o + 0x080085ce 0x080085ce 0x00000002 PAD + 0x080085d0 0x080085d0 0x00000214 Code RO 954 .text.HAL_SPI_TransmitReceive_DMA stm32f4xx_hal_spi.o + 0x080087e4 0x080087e4 0x0000016c Code RO 944 .text.HAL_SPI_Transmit_DMA stm32f4xx_hal_spi.o + 0x08008950 0x08008950 0x00000048 Code RO 2379 .text.HAL_SPI_TxCpltCallback spi_1.o + 0x08008998 0x08008998 0x00000054 Code RO 2387 .text.HAL_SPI_TxHalfCpltCallback spi_1.o + 0x080089ec 0x080089ec 0x00000054 Code RO 2385 .text.HAL_SPI_TxRxCpltCallback spi_1.o + 0x08008a40 0x08008a40 0x00000054 Code RO 2391 .text.HAL_SPI_TxRxHalfCpltCallback spi_1.o + 0x08008a94 0x08008a94 0x00000010 Code RO 590 .text.HAL_SYSTICK_Config stm32f4xx_hal_cortex.o + 0x08008aa4 0x08008aa4 0x00000008 Code RO 1344 .text.HAL_TIMEx_BreakCallback stm32f4xx_hal_tim_ex.o + 0x08008aac 0x08008aac 0x00000008 Code RO 1340 .text.HAL_TIMEx_CommutCallback stm32f4xx_hal_tim_ex.o + 0x08008ab4 0x08008ab4 0x00000122 Code RO 1334 .text.HAL_TIMEx_MasterConfigSynchronization stm32f4xx_hal_tim_ex.o + 0x08008bd6 0x08008bd6 0x00000002 PAD + 0x08008bd8 0x08008bd8 0x0000009c Code RO 1021 .text.HAL_TIM_Base_Init stm32f4xx_hal_tim.o + 0x08008c74 0x08008c74 0x0000008a Code RO 121 .text.HAL_TIM_Base_MspInit tim.o + 0x08008cfe 0x08008cfe 0x00000002 PAD + 0x08008d00 0x08008d00 0x00000008 Code RO 1157 .text.HAL_TIM_IC_CaptureCallback stm32f4xx_hal_tim.o + 0x08008d08 0x08008d08 0x0000021a Code RO 1155 .text.HAL_TIM_IRQHandler stm32f4xx_hal_tim.o + 0x08008f22 0x08008f22 0x00000002 PAD + 0x08008f24 0x08008f24 0x0000006c Code RO 119 .text.HAL_TIM_MspPostInit tim.o + 0x08008f90 0x08008f90 0x00000008 Code RO 1159 .text.HAL_TIM_OC_DelayElapsedCallback stm32f4xx_hal_tim.o + 0x08008f98 0x08008f98 0x00000142 Code RO 1187 .text.HAL_TIM_PWM_ConfigChannel stm32f4xx_hal_tim.o + 0x080090da 0x080090da 0x00000002 PAD + 0x080090dc 0x080090dc 0x0000009c Code RO 1075 .text.HAL_TIM_PWM_Init stm32f4xx_hal_tim.o + 0x08009178 0x08009178 0x00000008 Code RO 1077 .text.HAL_TIM_PWM_MspInit stm32f4xx_hal_tim.o + 0x08009180 0x08009180 0x00000008 Code RO 1161 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f4xx_hal_tim.o + 0x08009188 0x08009188 0x000001ca Code RO 1083 .text.HAL_TIM_PWM_Start stm32f4xx_hal_tim.o + 0x08009352 0x08009352 0x00000002 PAD + 0x08009354 0x08009354 0x00000008 Code RO 1163 .text.HAL_TIM_PeriodElapsedCallback stm32f4xx_hal_tim.o + 0x0800935c 0x0800935c 0x00000008 Code RO 1165 .text.HAL_TIM_TriggerCallback stm32f4xx_hal_tim.o + 0x08009364 0x08009364 0x0000000c Code RO 1449 .text.HAL_UARTEx_RxEventCallback stm32f4xx_hal_uart.o + 0x08009370 0x08009370 0x00000054 Code RO 2448 .text.HAL_UART_ErrorCallback uart.o + 0x080093c4 0x080093c4 0x0000045c Code RO 1441 .text.HAL_UART_IRQHandler stm32f4xx_hal_uart.o + 0x08009820 0x08009820 0x0000009e Code RO 1357 .text.HAL_UART_Init stm32f4xx_hal_uart.o + 0x080098be 0x080098be 0x00000002 PAD + 0x080098c0 0x080098c0 0x000001cc Code RO 138 .text.HAL_UART_MspInit usart.o + 0x08009a8c 0x08009a8c 0x00000054 Code RO 2444 .text.HAL_UART_RxCpltCallback uart.o + 0x08009ae0 0x08009ae0 0x00000054 Code RO 2438 .text.HAL_UART_TxCpltCallback uart.o + 0x08009b34 0x08009b34 0x00000004 Code RO 154 .text.HardFault_Handler stm32f4xx_it.o + 0x08009b38 0x08009b38 0x00000010 Code RO 184 .text.I2C1_ER_IRQHandler stm32f4xx_it.o + 0x08009b48 0x08009b48 0x00000010 Code RO 182 .text.I2C1_EV_IRQHandler stm32f4xx_it.o + 0x08009b58 0x08009b58 0x00000034 Code RO 828 .text.I2C_ConvertOtherXferOptions stm32f4xx_hal_i2c.o + 0x08009b8c 0x08009b8c 0x00000156 Code RO 812 .text.I2C_DMAAbort stm32f4xx_hal_i2c.o + 0x08009ce2 0x08009ce2 0x00000002 PAD + 0x08009ce4 0x08009ce4 0x00000024 Code RO 888 .text.I2C_Flush_DR stm32f4xx_hal_i2c.o + 0x08009d08 0x08009d08 0x00000048 Code RO 2300 .text.I2C_Get i2c_1.o + 0x08009d50 0x08009d50 0x0000027a Code RO 824 .text.I2C_ITError stm32f4xx_hal_i2c.o + 0x08009fca 0x08009fca 0x00000002 PAD + 0x08009fcc 0x08009fcc 0x000001ac Code RO 844 .text.I2C_MasterReceive_BTF stm32f4xx_hal_i2c.o + 0x0800a178 0x0800a178 0x0000016a Code RO 842 .text.I2C_MasterReceive_RXNE stm32f4xx_hal_i2c.o + 0x0800a2e2 0x0800a2e2 0x00000002 PAD + 0x0800a2e4 0x0800a2e4 0x000000de Code RO 838 .text.I2C_MasterTransmit_BTF stm32f4xx_hal_i2c.o + 0x0800a3c2 0x0800a3c2 0x00000002 PAD + 0x0800a3c4 0x0800a3c4 0x0000013e Code RO 836 .text.I2C_MasterTransmit_TXE stm32f4xx_hal_i2c.o + 0x0800a502 0x0800a502 0x00000002 PAD + 0x0800a504 0x0800a504 0x00000046 Code RO 832 .text.I2C_Master_ADD10 stm32f4xx_hal_i2c.o + 0x0800a54a 0x0800a54a 0x00000002 PAD + 0x0800a54c 0x0800a54c 0x0000033e Code RO 834 .text.I2C_Master_ADDR stm32f4xx_hal_i2c.o + 0x0800a88a 0x0800a88a 0x00000002 PAD + 0x0800a88c 0x0800a88c 0x000000f0 Code RO 830 .text.I2C_Master_SB stm32f4xx_hal_i2c.o + 0x0800a97c 0x0800a97c 0x00000128 Code RO 840 .text.I2C_MemoryTransmit_TXE_BTF stm32f4xx_hal_i2c.o + 0x0800aaa4 0x0800aaa4 0x0000002e Code RO 856 .text.I2C_SlaveReceive_BTF stm32f4xx_hal_i2c.o + 0x0800aad2 0x0800aad2 0x00000002 PAD + 0x0800aad4 0x0800aad4 0x0000006e Code RO 854 .text.I2C_SlaveReceive_RXNE stm32f4xx_hal_i2c.o + 0x0800ab42 0x0800ab42 0x00000002 PAD + 0x0800ab44 0x0800ab44 0x0000002c Code RO 852 .text.I2C_SlaveTransmit_BTF stm32f4xx_hal_i2c.o + 0x0800ab70 0x0800ab70 0x0000006c Code RO 850 .text.I2C_SlaveTransmit_TXE stm32f4xx_hal_i2c.o + 0x0800abdc 0x0800abdc 0x000000ae Code RO 846 .text.I2C_Slave_ADDR stm32f4xx_hal_i2c.o + 0x0800ac8a 0x0800ac8a 0x00000002 PAD + 0x0800ac8c 0x0800ac8c 0x000000e4 Code RO 860 .text.I2C_Slave_AF stm32f4xx_hal_i2c.o + 0x0800ad70 0x0800ad70 0x0000024a Code RO 848 .text.I2C_Slave_STOPF stm32f4xx_hal_i2c.o + 0x0800afba 0x0800afba 0x00000002 PAD + 0x0800afbc 0x0800afbc 0x00000078 Code RO 890 .text.I2C_WaitOnSTOPRequestThroughIT stm32f4xx_hal_i2c.o + 0x0800b034 0x0800b034 0x00000076 Code RO 2675 .text.InvSqrt user_math.o + 0x0800b0aa 0x0800b0aa 0x00000002 PAD + 0x0800b0ac 0x0800b0ac 0x000000b8 Code RO 2527 .text.LowPassFilter2p_Apply filter.o + 0x0800b164 0x0800b164 0x0000013c Code RO 2525 .text.LowPassFilter2p_Init filter.o + 0x0800b2a0 0x0800b2a0 0x00000092 Code RO 2533 .text.LowPassFilter2p_Reset filter.o + 0x0800b332 0x0800b332 0x00000002 PAD + 0x0800b334 0x0800b334 0x00000096 Code RO 2944 .text.MOTOR_DM_CreateCANManager motor_dm.o + 0x0800b3ca 0x0800b3ca 0x00000002 PAD + 0x0800b3cc 0x0800b3cc 0x0000007a Code RO 2968 .text.MOTOR_DM_Enable motor_dm.o + 0x0800b446 0x0800b446 0x00000002 PAD + 0x0800b448 0x0800b448 0x00000030 Code RO 2946 .text.MOTOR_DM_GetCANManager motor_dm.o + 0x0800b478 0x0800b478 0x00000086 Code RO 2956 .text.MOTOR_DM_GetMotor motor_dm.o + 0x0800b4fe 0x0800b4fe 0x00000002 PAD + 0x0800b500 0x0800b500 0x00000048 Code RO 2954 .text.MOTOR_DM_MITCtrl motor_dm.o + 0x0800b548 0x0800b548 0x00000158 Code RO 2950 .text.MOTOR_DM_ParseFeedbackFrame motor_dm.o + 0x0800b6a0 0x0800b6a0 0x0000012c Code RO 2942 .text.MOTOR_DM_Register motor_dm.o + 0x0800b7cc 0x0800b7cc 0x00000144 Code RO 2958 .text.MOTOR_DM_SendMITCmd motor_dm.o + 0x0800b910 0x0800b910 0x0000010c Code RO 2948 .text.MOTOR_DM_Update motor_dm.o + 0x0800ba1c 0x0800ba1c 0x00000096 Code RO 2843 .text.MOTOR_RM_CreateCANManager motor_rm.o + 0x0800bab2 0x0800bab2 0x00000002 PAD + 0x0800bab4 0x0800bab4 0x00000170 Code RO 2861 .text.MOTOR_RM_Ctrl motor_rm.o + 0x0800bc24 0x0800bc24 0x00000030 Code RO 2845 .text.MOTOR_RM_GetCANManager motor_rm.o + 0x0800bc54 0x0800bc54 0x00000052 Code RO 2859 .text.MOTOR_RM_GetLSB motor_rm.o + 0x0800bca6 0x0800bca6 0x00000002 PAD + 0x0800bca8 0x0800bca8 0x00000080 Code RO 2857 .text.MOTOR_RM_GetLogicalIndex motor_rm.o + 0x0800bd28 0x0800bd28 0x00000078 Code RO 2855 .text.MOTOR_RM_GetMotor motor_rm.o + 0x0800bda0 0x0800bda0 0x00000050 Code RO 2867 .text.MOTOR_RM_GetRatio motor_rm.o + 0x0800bdf0 0x0800bdf0 0x00000120 Code RO 2841 .text.MOTOR_RM_Register motor_rm.o + 0x0800bf10 0x0800bf10 0x0000011a Code RO 2853 .text.MOTOR_RM_SetOutput motor_rm.o + 0x0800c02a 0x0800c02a 0x00000002 PAD + 0x0800c02c 0x0800c02c 0x00000102 Code RO 2847 .text.MOTOR_RM_Update motor_rm.o + 0x0800c12e 0x0800c12e 0x00000002 PAD + 0x0800c130 0x0800c130 0x0000004e Code RO 53 .text.MX_CAN1_Init can.o + 0x0800c17e 0x0800c17e 0x00000002 PAD + 0x0800c180 0x0800c180 0x0000004e Code RO 55 .text.MX_CAN2_Init can.o + 0x0800c1ce 0x0800c1ce 0x00000002 PAD + 0x0800c1d0 0x0800c1d0 0x00000086 Code RO 71 .text.MX_DMA_Init dma.o + 0x0800c256 0x0800c256 0x00000002 PAD + 0x0800c258 0x0800c258 0x00000040 Code RO 39 .text.MX_FREERTOS_Init freertos.o + 0x0800c298 0x0800c298 0x0000022a Code RO 25 .text.MX_GPIO_Init gpio.o + 0x0800c4c2 0x0800c4c2 0x00000002 PAD + 0x0800c4c4 0x0800c4c4 0x00000048 Code RO 79 .text.MX_I2C1_Init i2c.o + 0x0800c50c 0x0800c50c 0x00000048 Code RO 81 .text.MX_I2C2_Init i2c.o + 0x0800c554 0x0800c554 0x00000052 Code RO 96 .text.MX_SPI1_Init spi.o + 0x0800c5a6 0x0800c5a6 0x00000002 PAD + 0x0800c5a8 0x0800c5a8 0x00000054 Code RO 98 .text.MX_SPI2_Init spi.o + 0x0800c5fc 0x0800c5fc 0x0000008e Code RO 117 .text.MX_TIM10_Init tim.o + 0x0800c68a 0x0800c68a 0x00000002 PAD + 0x0800c68c 0x0800c68c 0x00000058 Code RO 115 .text.MX_TIM7_Init tim.o + 0x0800c6e4 0x0800c6e4 0x00000040 Code RO 134 .text.MX_USART1_UART_Init usart.o + 0x0800c724 0x0800c724 0x0000004c Code RO 136 .text.MX_USART3_UART_Init usart.o + 0x0800c770 0x0800c770 0x00000004 Code RO 156 .text.MemManage_Handler stm32f4xx_it.o + 0x0800c774 0x0800c774 0x0000021c Code RO 2849 .text.Motor_RM_Decode motor_rm.o + 0x0800c990 0x0800c990 0x00000004 Code RO 152 .text.NMI_Handler stm32f4xx_it.o + 0x0800c994 0x0800c994 0x0000006c Code RO 576 .text.NVIC_EncodePriority stm32f4xx_hal_cortex.o + 0x0800ca00 0x0800ca00 0x000002f0 Code RO 2638 .text.PID_Calc pid.o + 0x0800ccf0 0x0800ccf0 0x00000196 Code RO 2630 .text.PID_Init pid.o + 0x0800ce86 0x0800ce86 0x00000002 PAD + 0x0800ce88 0x0800ce88 0x00000048 Code RO 2636 .text.PID_Reset pid.o + 0x0800ced0 0x0800ced0 0x00000064 Code RO 2170 .text.PendSV_Handler port.o + 0x0800cf34 0x0800cf34 0x00000094 Code RO 2717 .text.RC_Init bsp_rc.o + 0x0800cfc8 0x0800cfc8 0x0000005a Code RO 2721 .text.RC_restart bsp_rc.o + 0x0800d022 0x0800d022 0x00000002 PAD + 0x0800d024 0x0800d024 0x00000034 Code RO 950 .text.SPI_DMAError stm32f4xx_hal_spi.o + 0x0800d058 0x0800d058 0x00000016 Code RO 956 .text.SPI_DMAHalfReceiveCplt stm32f4xx_hal_spi.o + 0x0800d06e 0x0800d06e 0x00000002 PAD + 0x0800d070 0x0800d070 0x00000016 Code RO 946 .text.SPI_DMAHalfTransmitCplt stm32f4xx_hal_spi.o + 0x0800d086 0x0800d086 0x00000002 PAD + 0x0800d088 0x0800d088 0x00000016 Code RO 960 .text.SPI_DMAHalfTransmitReceiveCplt stm32f4xx_hal_spi.o + 0x0800d09e 0x0800d09e 0x00000002 PAD + 0x0800d0a0 0x0800d0a0 0x000000a2 Code RO 958 .text.SPI_DMAReceiveCplt stm32f4xx_hal_spi.o + 0x0800d142 0x0800d142 0x00000002 PAD + 0x0800d144 0x0800d144 0x000000a6 Code RO 948 .text.SPI_DMATransmitCplt stm32f4xx_hal_spi.o + 0x0800d1ea 0x0800d1ea 0x00000002 PAD + 0x0800d1ec 0x0800d1ec 0x00000086 Code RO 962 .text.SPI_DMATransmitReceiveCplt stm32f4xx_hal_spi.o + 0x0800d272 0x0800d272 0x00000002 PAD + 0x0800d274 0x0800d274 0x000000e4 Code RO 920 .text.SPI_EndRxTransaction stm32f4xx_hal_spi.o + 0x0800d358 0x0800d358 0x000000cc Code RO 914 .text.SPI_EndRxTxTransaction stm32f4xx_hal_spi.o + 0x0800d424 0x0800d424 0x0000002e Code RO 2381 .text.SPI_Get spi_1.o + 0x0800d452 0x0800d452 0x00000002 PAD + 0x0800d454 0x0800d454 0x0000012c Code RO 1012 .text.SPI_WaitFlagStateUntilTimeout stm32f4xx_hal_spi.o + 0x0800d580 0x0800d580 0x00000024 Code RO 2154 .text.SVC_Handler port.o + 0x0800d5a4 0x0800d5a4 0x0000000e Code RO 1948 .text.SVC_Setup cmsis_os2.o + 0x0800d5b2 0x0800d5b2 0x00000002 PAD + 0x0800d5b4 0x0800d5b4 0x00000012 Code RO 41 .text.StartDefaultTask freertos.o + 0x0800d5c6 0x0800d5c6 0x00000002 PAD + 0x0800d5c8 0x0800d5c8 0x00000052 Code RO 592 .text.SysTick_Config stm32f4xx_hal_cortex.o + 0x0800d61a 0x0800d61a 0x00000002 PAD + 0x0800d61c 0x0800d61c 0x00000018 Code RO 164 .text.SysTick_Handler stm32f4xx_it.o + 0x0800d634 0x0800d634 0x000000bc Code RO 13 .text.SystemClock_Config main.o + 0x0800d6f0 0x0800d6f0 0x00000012 Code RO 1488 .text.SystemInit system_stm32f4xx.o + 0x0800d702 0x0800d702 0x00000002 PAD + 0x0800d704 0x0800d704 0x00000010 Code RO 188 .text.TIM7_IRQHandler stm32f4xx_it.o + 0x0800d714 0x0800d714 0x000001a4 Code RO 1025 .text.TIM_Base_SetConfig stm32f4xx_hal_tim.o + 0x0800d8b8 0x0800d8b8 0x00000036 Code RO 1059 .text.TIM_CCxChannelCmd stm32f4xx_hal_tim.o + 0x0800d8ee 0x0800d8ee 0x00000002 PAD + 0x0800d8f0 0x0800d8f0 0x000000ea Code RO 1169 .text.TIM_OC1_SetConfig stm32f4xx_hal_tim.o + 0x0800d9da 0x0800d9da 0x00000002 PAD + 0x0800d9dc 0x0800d9dc 0x000000f4 Code RO 1171 .text.TIM_OC2_SetConfig stm32f4xx_hal_tim.o + 0x0800dad0 0x0800dad0 0x000000f2 Code RO 1173 .text.TIM_OC3_SetConfig stm32f4xx_hal_tim.o + 0x0800dbc2 0x0800dbc2 0x00000002 PAD + 0x0800dbc4 0x0800dbc4 0x000000a4 Code RO 1175 .text.TIM_OC4_SetConfig stm32f4xx_hal_tim.o + 0x0800dc68 0x0800dc68 0x000000b8 Code RO 2986 .text.Task_Init init.o + 0x0800dd20 0x0800dd20 0x00000190 Code RO 2994 .text.Task_atti_esti atti_esti.o + 0x0800deb0 0x0800deb0 0x000000dc Code RO 3032 .text.Task_gimbal_ctrl gimbal_ctrl.o + 0x0800df8c 0x0800df8c 0x00000004 PAD + 0x0800df90 0x0800df90 0x000000a0 Code RO 3011 .text.Task_remote remote.o + 0x0800e030 0x0800e030 0x0000001c Code RO 1445 .text.UART_DMAAbortOnError stm32f4xx_hal_uart.o + 0x0800e04c 0x0800e04c 0x00000094 Code RO 1405 .text.UART_EndRxTransfer stm32f4xx_hal_uart.o + 0x0800e0e0 0x0800e0e0 0x00000026 Code RO 1453 .text.UART_EndTransmit_IT stm32f4xx_hal_uart.o + 0x0800e106 0x0800e106 0x00000002 PAD + 0x0800e108 0x0800e108 0x0000002e Code RO 2440 .text.UART_Get uart.o + 0x0800e136 0x0800e136 0x00000002 PAD + 0x0800e138 0x0800e138 0x00000168 Code RO 1443 .text.UART_Receive_IT stm32f4xx_hal_uart.o + 0x0800e2a0 0x0800e2a0 0x0000013a Code RO 1361 .text.UART_SetConfig stm32f4xx_hal_uart.o + 0x0800e3da 0x0800e3da 0x00000002 PAD + 0x0800e3dc 0x0800e3dc 0x00000094 Code RO 1451 .text.UART_Transmit_IT stm32f4xx_hal_uart.o + 0x0800e470 0x0800e470 0x00000020 Code RO 186 .text.USART3_IRQHandler stm32f4xx_it.o + 0x0800e490 0x0800e490 0x00000022 Code RO 2919 .text.USART3_IRQHandler1 remote_control.o + 0x0800e4b2 0x0800e4b2 0x00000002 PAD + 0x0800e4b4 0x0800e4b4 0x00000004 Code RO 160 .text.UsageFault_Handler stm32f4xx_it.o + 0x0800e4b8 0x0800e4b8 0x0000001e Code RO 2537 .text.__ARM_isfinite filter.o + 0x0800e4d6 0x0800e4d6 0x00000002 PAD + 0x0800e4d8 0x0800e4d8 0x0000001e Code RO 2634 .text.__ARM_isfinite pid.o + 0x0800e4f6 0x0800e4f6 0x00000002 PAD + 0x0800e4f8 0x0800e4f8 0x00000018 Code RO 2535 .text.__ARM_isfinitef filter.o + 0x0800e510 0x0800e510 0x00000018 Code RO 2632 .text.__ARM_isfinitef pid.o + 0x0800e528 0x0800e528 0x00000034 Code RO 2531 .text.__ARM_isinf filter.o + 0x0800e55c 0x0800e55c 0x0000001c Code RO 2529 .text.__ARM_isinff filter.o + 0x0800e578 0x0800e578 0x00000038 Code RO 584 .text.__NVIC_DisableIRQ stm32f4xx_hal_cortex.o + 0x0800e5b0 0x0800e5b0 0x00000030 Code RO 580 .text.__NVIC_EnableIRQ stm32f4xx_hal_cortex.o + 0x0800e5e0 0x0800e5e0 0x00000010 Code RO 572 .text.__NVIC_GetPriorityGrouping stm32f4xx_hal_cortex.o + 0x0800e5f0 0x0800e5f0 0x00000042 Code RO 574 .text.__NVIC_SetPriority stm32f4xx_hal_cortex.o + 0x0800e632 0x0800e632 0x00000002 PAD + 0x0800e634 0x0800e634 0x00000042 Code RO 2104 .text.__NVIC_SetPriority cmsis_os2.o 0x0800e676 0x0800e676 0x00000002 PAD - 0x0800e678 0x0800e678 0x0000001e Code RO 2482 .text.copysignf ahrs.o - 0x0800e696 0x0800e696 0x00000002 PAD - 0x0800e698 0x0800e698 0x0000003e Code RO 2702 .text.delay_init bsp_delay.o + 0x0800e678 0x0800e678 0x0000003c Code RO 568 .text.__NVIC_SetPriorityGrouping stm32f4xx_hal_cortex.o + 0x0800e6b4 0x0800e6b4 0x00000002 Code RO 33 .text.configureTimerForRunTimeStats freertos.o + 0x0800e6b6 0x0800e6b6 0x00000002 PAD + 0x0800e6b8 0x0800e6b8 0x0000001e Code RO 2482 .text.copysignf ahrs.o 0x0800e6d6 0x0800e6d6 0x00000002 PAD - 0x0800e6d8 0x0800e6d8 0x000000f6 Code RO 1726 .text.eTaskGetState tasks.o - 0x0800e7ce 0x0800e7ce 0x00000002 PAD - 0x0800e7d0 0x0800e7d0 0x00000058 Code RO 2976 .text.float_to_uint motor_dm.o - 0x0800e828 0x0800e828 0x00000004 Code RO 35 .text.getRunTimeCounterValue freertos.o - 0x0800e82c 0x0800e82c 0x00000050 Code RO 11 .text.main main.o - 0x0800e87c 0x0800e87c 0x0000002a Code RO 2742 .text.map calc_lib.o - 0x0800e8a6 0x0800e8a6 0x00000002 PAD - 0x0800e8a8 0x0800e8a8 0x00000034 Code RO 2006 .text.osDelay cmsis_os2.o - 0x0800e8dc 0x0800e8dc 0x00000058 Code RO 2008 .text.osDelayUntil cmsis_os2.o - 0x0800e934 0x0800e934 0x00000052 Code RO 1944 .text.osKernelGetState cmsis_os2.o - 0x0800e986 0x0800e986 0x00000002 PAD - 0x0800e988 0x0800e988 0x00000026 Code RO 1956 .text.osKernelGetTickCount cmsis_os2.o - 0x0800e9ae 0x0800e9ae 0x00000002 PAD - 0x0800e9b0 0x0800e9b0 0x00000006 Code RO 1958 .text.osKernelGetTickFreq cmsis_os2.o - 0x0800e9b6 0x0800e9b6 0x00000002 PAD - 0x0800e9b8 0x0800e9b8 0x00000046 Code RO 1940 .text.osKernelInitialize cmsis_os2.o - 0x0800e9fe 0x0800e9fe 0x00000002 PAD - 0x0800ea00 0x0800ea00 0x00000056 Code RO 1950 .text.osKernelLock cmsis_os2.o - 0x0800ea56 0x0800ea56 0x00000002 PAD - 0x0800ea58 0x0800ea58 0x00000052 Code RO 1946 .text.osKernelStart cmsis_os2.o - 0x0800eaaa 0x0800eaaa 0x00000002 PAD - 0x0800eaac 0x0800eaac 0x0000006e Code RO 1952 .text.osKernelUnlock cmsis_os2.o - 0x0800eb1a 0x0800eb1a 0x00000002 PAD - 0x0800eb1c 0x0800eb1c 0x000000c0 Code RO 2060 .text.osMessageQueueGet cmsis_os2.o - 0x0800ebdc 0x0800ebdc 0x000000fe Code RO 2056 .text.osMessageQueueNew cmsis_os2.o - 0x0800ecda 0x0800ecda 0x00000002 PAD - 0x0800ecdc 0x0800ecdc 0x000000c4 Code RO 2058 .text.osMessageQueuePut cmsis_os2.o - 0x0800eda0 0x0800eda0 0x00000040 Code RO 2070 .text.osMessageQueueReset cmsis_os2.o - 0x0800ede0 0x0800ede0 0x0000009e Code RO 2038 .text.osMutexAcquire cmsis_os2.o - 0x0800ee7e 0x0800ee7e 0x00000002 PAD - 0x0800ee80 0x0800ee80 0x00000128 Code RO 2036 .text.osMutexNew cmsis_os2.o - 0x0800efa8 0x0800efa8 0x0000007e Code RO 2040 .text.osMutexRelease cmsis_os2.o - 0x0800f026 0x0800f026 0x00000002 PAD - 0x0800f028 0x0800f028 0x000000a4 Code RO 1998 .text.osThreadFlagsSet cmsis_os2.o - 0x0800f0cc 0x0800f0cc 0x0000011a Code RO 2004 .text.osThreadFlagsWait cmsis_os2.o - 0x0800f1e6 0x0800f1e6 0x00000002 PAD - 0x0800f1e8 0x0800f1e8 0x00000010 Code RO 1974 .text.osThreadGetId cmsis_os2.o - 0x0800f1f8 0x0800f1f8 0x0000015a Code RO 1970 .text.osThreadNew cmsis_os2.o - 0x0800f352 0x0800f352 0x00000002 PAD - 0x0800f354 0x0800f354 0x0000005e Code RO 1992 .text.osThreadTerminate cmsis_os2.o - 0x0800f3b2 0x0800f3b2 0x00000002 PAD - 0x0800f3b4 0x0800f3b4 0x000000d4 Code RO 1720 .text.prvAddCurrentTaskToDelayedList tasks.o - 0x0800f488 0x0800f488 0x00000122 Code RO 1706 .text.prvAddNewTaskToReadyList tasks.o - 0x0800f5aa 0x0800f5aa 0x00000002 PAD - 0x0800f5ac 0x0800f5ac 0x000000a2 Code RO 1871 .text.prvCheckForValidListAndQueue timers.o - 0x0800f64e 0x0800f64e 0x00000002 PAD - 0x0800f650 0x0800f650 0x0000005a Code RO 1836 .text.prvCheckTasksWaitingTermination tasks.o - 0x0800f6aa 0x0800f6aa 0x00000002 PAD - 0x0800f6ac 0x0800f6ac 0x00000042 Code RO 1599 .text.prvCopyDataFromQueue queue.o - 0x0800f6ee 0x0800f6ee 0x00000002 PAD - 0x0800f6f0 0x0800f6f0 0x000000cc Code RO 1587 .text.prvCopyDataToQueue queue.o - 0x0800f7bc 0x0800f7bc 0x0000005e Code RO 1712 .text.prvDeleteTCB tasks.o - 0x0800f81a 0x0800f81a 0x00000002 PAD - 0x0800f81c 0x0800f81c 0x00000026 Code RO 1603 .text.prvGetDisinheritPriorityAfterTimeout queue.o - 0x0800f842 0x0800f842 0x00000002 PAD - 0x0800f844 0x0800f844 0x00000040 Code RO 1909 .text.prvGetNextExpireTime timers.o - 0x0800f884 0x0800f884 0x000000bc Code RO 2121 .text.prvHeapInit heap_4.o - 0x0800f940 0x0800f940 0x00000038 Code RO 1746 .text.prvIdleTask tasks.o - 0x0800f978 0x0800f978 0x0000002c Code RO 1567 .text.prvInitialiseMutex queue.o - 0x0800f9a4 0x0800f9a4 0x00000048 Code RO 1561 .text.prvInitialiseNewQueue queue.o - 0x0800f9ec 0x0800f9ec 0x0000012c Code RO 1704 .text.prvInitialiseNewTask tasks.o - 0x0800fb18 0x0800fb18 0x0000008e Code RO 1834 .text.prvInitialiseTaskLists tasks.o - 0x0800fba6 0x0800fba6 0x00000002 PAD - 0x0800fba8 0x0800fba8 0x000000c6 Code RO 2123 .text.prvInsertBlockIntoFreeList heap_4.o - 0x0800fc6e 0x0800fc6e 0x00000002 PAD - 0x0800fc70 0x0800fc70 0x00000086 Code RO 1921 .text.prvInsertTimerInActiveList timers.o - 0x0800fcf6 0x0800fcf6 0x00000002 PAD - 0x0800fcf8 0x0800fcf8 0x00000028 Code RO 1601 .text.prvIsQueueEmpty queue.o - 0x0800fd20 0x0800fd20 0x0000002e Code RO 1589 .text.prvIsQueueFull queue.o - 0x0800fd4e 0x0800fd4e 0x00000002 PAD - 0x0800fd50 0x0800fd50 0x00000028 Code RO 2162 .text.prvPortStartFirstTask port.o - 0x0800fd78 0x0800fd78 0x0000008e Code RO 1917 .text.prvProcessExpiredTimer timers.o - 0x0800fe06 0x0800fe06 0x00000002 PAD - 0x0800fe08 0x0800fe08 0x00000192 Code RO 1913 .text.prvProcessReceivedCommands timers.o - 0x0800ff9a 0x0800ff9a 0x00000002 PAD - 0x0800ff9c 0x0800ff9c 0x0000009a Code RO 1911 .text.prvProcessTimerOrBlockTask timers.o - 0x08010036 0x08010036 0x00000002 PAD - 0x08010038 0x08010038 0x00000046 Code RO 1714 .text.prvResetNextTaskUnblockTime tasks.o - 0x0801007e 0x0801007e 0x00000002 PAD - 0x08010080 0x08010080 0x00000044 Code RO 1915 .text.prvSampleTimeNow timers.o - 0x080100c4 0x080100c4 0x000000d4 Code RO 1919 .text.prvSwitchTimerLists timers.o - 0x08010198 0x08010198 0x0000004c Code RO 2152 .text.prvTaskExitError port.o - 0x080101e4 0x080101e4 0x0000001e Code RO 1873 .text.prvTimerTask timers.o - 0x08010202 0x08010202 0x00000002 PAD - 0x08010204 0x08010204 0x000000ae Code RO 1591 .text.prvUnlockQueue queue.o - 0x080102b2 0x080102b2 0x00000002 PAD - 0x080102b4 0x080102b4 0x000001ec Code RO 2119 .text.pvPortMalloc heap_4.o - 0x080104a0 0x080104a0 0x0000002c Code RO 1818 .text.pvTaskIncrementMutexHeldCount tasks.o - 0x080104cc 0x080104cc 0x0000005e Code RO 2150 .text.pxPortInitialiseStack port.o - 0x0801052a 0x0801052a 0x00000006 PAD - 0x08010530 0x08010530 0x000000b0 Code RO 2934 .text.remote_ParseHost ai.o - 0x080105e0 0x080105e0 0x00000012 Code RO 2915 .text.remote_control_init remote_control.o - 0x080105f2 0x080105f2 0x00000006 PAD - 0x080105f8 0x080105f8 0x00000290 Code RO 2923 .text.sbus_to_rc remote_control.o - 0x08010888 0x08010888 0x00000052 Code RO 2974 .text.uint_to_float motor_dm.o - 0x080108da 0x080108da 0x00000002 PAD - 0x080108dc 0x080108dc 0x0000002e Code RO 2732 .text.user_delay_ms calc_lib.o - 0x0801090a 0x0801090a 0x00000002 PAD - 0x0801090c 0x0801090c 0x00000044 Code RO 2730 .text.user_delay_us calc_lib.o - 0x08010950 0x08010950 0x00000048 Code RO 1548 .text.uxListRemove list.o - 0x08010998 0x08010998 0x0000002a Code RO 2100 .text.vApplicationGetIdleTaskMemory cmsis_os2.o - 0x080109c2 0x080109c2 0x00000002 PAD - 0x080109c4 0x080109c4 0x0000002c Code RO 2102 .text.vApplicationGetTimerTaskMemory cmsis_os2.o - 0x080109f0 0x080109f0 0x0000000a Code RO 37 .text.vApplicationStackOverflowHook freertos.o - 0x080109fa 0x080109fa 0x00000002 PAD - 0x080109fc 0x080109fc 0x0000002e Code RO 1540 .text.vListInitialise list.o - 0x08010a2a 0x08010a2a 0x00000002 PAD - 0x08010a2c 0x08010a2c 0x0000000e Code RO 1542 .text.vListInitialiseItem list.o + 0x0800e6d8 0x0800e6d8 0x0000003e Code RO 2702 .text.delay_init bsp_delay.o + 0x0800e716 0x0800e716 0x00000002 PAD + 0x0800e718 0x0800e718 0x000000f6 Code RO 1726 .text.eTaskGetState tasks.o + 0x0800e80e 0x0800e80e 0x00000002 PAD + 0x0800e810 0x0800e810 0x00000058 Code RO 2976 .text.float_to_uint motor_dm.o + 0x0800e868 0x0800e868 0x00000004 Code RO 35 .text.getRunTimeCounterValue freertos.o + 0x0800e86c 0x0800e86c 0x00000050 Code RO 11 .text.main main.o + 0x0800e8bc 0x0800e8bc 0x0000002a Code RO 2742 .text.map calc_lib.o + 0x0800e8e6 0x0800e8e6 0x00000002 PAD + 0x0800e8e8 0x0800e8e8 0x00000034 Code RO 2006 .text.osDelay cmsis_os2.o + 0x0800e91c 0x0800e91c 0x00000058 Code RO 2008 .text.osDelayUntil cmsis_os2.o + 0x0800e974 0x0800e974 0x00000052 Code RO 1944 .text.osKernelGetState cmsis_os2.o + 0x0800e9c6 0x0800e9c6 0x00000002 PAD + 0x0800e9c8 0x0800e9c8 0x00000026 Code RO 1956 .text.osKernelGetTickCount cmsis_os2.o + 0x0800e9ee 0x0800e9ee 0x00000002 PAD + 0x0800e9f0 0x0800e9f0 0x00000006 Code RO 1958 .text.osKernelGetTickFreq cmsis_os2.o + 0x0800e9f6 0x0800e9f6 0x00000002 PAD + 0x0800e9f8 0x0800e9f8 0x00000046 Code RO 1940 .text.osKernelInitialize cmsis_os2.o + 0x0800ea3e 0x0800ea3e 0x00000002 PAD + 0x0800ea40 0x0800ea40 0x00000056 Code RO 1950 .text.osKernelLock cmsis_os2.o + 0x0800ea96 0x0800ea96 0x00000002 PAD + 0x0800ea98 0x0800ea98 0x00000052 Code RO 1946 .text.osKernelStart cmsis_os2.o + 0x0800eaea 0x0800eaea 0x00000002 PAD + 0x0800eaec 0x0800eaec 0x0000006e Code RO 1952 .text.osKernelUnlock cmsis_os2.o + 0x0800eb5a 0x0800eb5a 0x00000002 PAD + 0x0800eb5c 0x0800eb5c 0x000000c0 Code RO 2060 .text.osMessageQueueGet cmsis_os2.o + 0x0800ec1c 0x0800ec1c 0x000000fe Code RO 2056 .text.osMessageQueueNew cmsis_os2.o + 0x0800ed1a 0x0800ed1a 0x00000002 PAD + 0x0800ed1c 0x0800ed1c 0x000000c4 Code RO 2058 .text.osMessageQueuePut cmsis_os2.o + 0x0800ede0 0x0800ede0 0x00000040 Code RO 2070 .text.osMessageQueueReset cmsis_os2.o + 0x0800ee20 0x0800ee20 0x0000009e Code RO 2038 .text.osMutexAcquire cmsis_os2.o + 0x0800eebe 0x0800eebe 0x00000002 PAD + 0x0800eec0 0x0800eec0 0x00000128 Code RO 2036 .text.osMutexNew cmsis_os2.o + 0x0800efe8 0x0800efe8 0x0000007e Code RO 2040 .text.osMutexRelease cmsis_os2.o + 0x0800f066 0x0800f066 0x00000002 PAD + 0x0800f068 0x0800f068 0x000000a4 Code RO 1998 .text.osThreadFlagsSet cmsis_os2.o + 0x0800f10c 0x0800f10c 0x0000011a Code RO 2004 .text.osThreadFlagsWait cmsis_os2.o + 0x0800f226 0x0800f226 0x00000002 PAD + 0x0800f228 0x0800f228 0x00000010 Code RO 1974 .text.osThreadGetId cmsis_os2.o + 0x0800f238 0x0800f238 0x0000015a Code RO 1970 .text.osThreadNew cmsis_os2.o + 0x0800f392 0x0800f392 0x00000002 PAD + 0x0800f394 0x0800f394 0x0000005e Code RO 1992 .text.osThreadTerminate cmsis_os2.o + 0x0800f3f2 0x0800f3f2 0x00000002 PAD + 0x0800f3f4 0x0800f3f4 0x000000d4 Code RO 1720 .text.prvAddCurrentTaskToDelayedList tasks.o + 0x0800f4c8 0x0800f4c8 0x00000122 Code RO 1706 .text.prvAddNewTaskToReadyList tasks.o + 0x0800f5ea 0x0800f5ea 0x00000002 PAD + 0x0800f5ec 0x0800f5ec 0x000000a2 Code RO 1871 .text.prvCheckForValidListAndQueue timers.o + 0x0800f68e 0x0800f68e 0x00000002 PAD + 0x0800f690 0x0800f690 0x0000005a Code RO 1836 .text.prvCheckTasksWaitingTermination tasks.o + 0x0800f6ea 0x0800f6ea 0x00000002 PAD + 0x0800f6ec 0x0800f6ec 0x00000042 Code RO 1599 .text.prvCopyDataFromQueue queue.o + 0x0800f72e 0x0800f72e 0x00000002 PAD + 0x0800f730 0x0800f730 0x000000cc Code RO 1587 .text.prvCopyDataToQueue queue.o + 0x0800f7fc 0x0800f7fc 0x0000005e Code RO 1712 .text.prvDeleteTCB tasks.o + 0x0800f85a 0x0800f85a 0x00000002 PAD + 0x0800f85c 0x0800f85c 0x00000026 Code RO 1603 .text.prvGetDisinheritPriorityAfterTimeout queue.o + 0x0800f882 0x0800f882 0x00000002 PAD + 0x0800f884 0x0800f884 0x00000040 Code RO 1909 .text.prvGetNextExpireTime timers.o + 0x0800f8c4 0x0800f8c4 0x000000bc Code RO 2121 .text.prvHeapInit heap_4.o + 0x0800f980 0x0800f980 0x00000038 Code RO 1746 .text.prvIdleTask tasks.o + 0x0800f9b8 0x0800f9b8 0x0000002c Code RO 1567 .text.prvInitialiseMutex queue.o + 0x0800f9e4 0x0800f9e4 0x00000048 Code RO 1561 .text.prvInitialiseNewQueue queue.o + 0x0800fa2c 0x0800fa2c 0x0000012c Code RO 1704 .text.prvInitialiseNewTask tasks.o + 0x0800fb58 0x0800fb58 0x0000008e Code RO 1834 .text.prvInitialiseTaskLists tasks.o + 0x0800fbe6 0x0800fbe6 0x00000002 PAD + 0x0800fbe8 0x0800fbe8 0x000000c6 Code RO 2123 .text.prvInsertBlockIntoFreeList heap_4.o + 0x0800fcae 0x0800fcae 0x00000002 PAD + 0x0800fcb0 0x0800fcb0 0x00000086 Code RO 1921 .text.prvInsertTimerInActiveList timers.o + 0x0800fd36 0x0800fd36 0x00000002 PAD + 0x0800fd38 0x0800fd38 0x00000028 Code RO 1601 .text.prvIsQueueEmpty queue.o + 0x0800fd60 0x0800fd60 0x0000002e Code RO 1589 .text.prvIsQueueFull queue.o + 0x0800fd8e 0x0800fd8e 0x00000002 PAD + 0x0800fd90 0x0800fd90 0x00000028 Code RO 2162 .text.prvPortStartFirstTask port.o + 0x0800fdb8 0x0800fdb8 0x0000008e Code RO 1917 .text.prvProcessExpiredTimer timers.o + 0x0800fe46 0x0800fe46 0x00000002 PAD + 0x0800fe48 0x0800fe48 0x00000192 Code RO 1913 .text.prvProcessReceivedCommands timers.o + 0x0800ffda 0x0800ffda 0x00000002 PAD + 0x0800ffdc 0x0800ffdc 0x0000009a Code RO 1911 .text.prvProcessTimerOrBlockTask timers.o + 0x08010076 0x08010076 0x00000002 PAD + 0x08010078 0x08010078 0x00000046 Code RO 1714 .text.prvResetNextTaskUnblockTime tasks.o + 0x080100be 0x080100be 0x00000002 PAD + 0x080100c0 0x080100c0 0x00000044 Code RO 1915 .text.prvSampleTimeNow timers.o + 0x08010104 0x08010104 0x000000d4 Code RO 1919 .text.prvSwitchTimerLists timers.o + 0x080101d8 0x080101d8 0x0000004c Code RO 2152 .text.prvTaskExitError port.o + 0x08010224 0x08010224 0x0000001e Code RO 1873 .text.prvTimerTask timers.o + 0x08010242 0x08010242 0x00000002 PAD + 0x08010244 0x08010244 0x000000ae Code RO 1591 .text.prvUnlockQueue queue.o + 0x080102f2 0x080102f2 0x00000002 PAD + 0x080102f4 0x080102f4 0x000001ec Code RO 2119 .text.pvPortMalloc heap_4.o + 0x080104e0 0x080104e0 0x0000002c Code RO 1818 .text.pvTaskIncrementMutexHeldCount tasks.o + 0x0801050c 0x0801050c 0x0000005e Code RO 2150 .text.pxPortInitialiseStack port.o + 0x0801056a 0x0801056a 0x00000006 PAD + 0x08010570 0x08010570 0x000000b0 Code RO 2934 .text.remote_ParseHost ai.o + 0x08010620 0x08010620 0x00000012 Code RO 2915 .text.remote_control_init remote_control.o + 0x08010632 0x08010632 0x00000006 PAD + 0x08010638 0x08010638 0x00000290 Code RO 2923 .text.sbus_to_rc remote_control.o + 0x080108c8 0x080108c8 0x00000052 Code RO 2974 .text.uint_to_float motor_dm.o + 0x0801091a 0x0801091a 0x00000002 PAD + 0x0801091c 0x0801091c 0x0000002e Code RO 2732 .text.user_delay_ms calc_lib.o + 0x0801094a 0x0801094a 0x00000002 PAD + 0x0801094c 0x0801094c 0x00000044 Code RO 2730 .text.user_delay_us calc_lib.o + 0x08010990 0x08010990 0x00000048 Code RO 1548 .text.uxListRemove list.o + 0x080109d8 0x080109d8 0x0000002a Code RO 2100 .text.vApplicationGetIdleTaskMemory cmsis_os2.o + 0x08010a02 0x08010a02 0x00000002 PAD + 0x08010a04 0x08010a04 0x0000002c Code RO 2102 .text.vApplicationGetTimerTaskMemory cmsis_os2.o + 0x08010a30 0x08010a30 0x0000000a Code RO 37 .text.vApplicationStackOverflowHook freertos.o 0x08010a3a 0x08010a3a 0x00000002 PAD - 0x08010a3c 0x08010a3c 0x0000006a Code RO 1546 .text.vListInsert list.o - 0x08010aa6 0x08010aa6 0x00000002 PAD - 0x08010aa8 0x08010aa8 0x0000003a Code RO 1544 .text.vListInsertEnd list.o - 0x08010ae2 0x08010ae2 0x00000002 PAD - 0x08010ae4 0x08010ae4 0x00000014 Code RO 2160 .text.vPortEnableVFP port.o - 0x08010af8 0x08010af8 0x00000056 Code RO 2166 .text.vPortEnterCritical port.o - 0x08010b4e 0x08010b4e 0x00000002 PAD - 0x08010b50 0x08010b50 0x0000004a Code RO 2168 .text.vPortExitCritical port.o - 0x08010b9a 0x08010b9a 0x00000002 PAD - 0x08010b9c 0x08010b9c 0x000000ce Code RO 2125 .text.vPortFree heap_4.o - 0x08010c6a 0x08010c6a 0x00000002 PAD - 0x08010c6c 0x08010c6c 0x00000044 Code RO 2158 .text.vPortSetupTimerInterrupt port.o - 0x08010cb0 0x08010cb0 0x00000084 Code RO 2174 .text.vPortValidateInterruptPriority port.o - 0x08010d34 0x08010d34 0x00000052 Code RO 1631 .text.vQueueAddToRegistry queue.o - 0x08010d86 0x08010d86 0x00000002 PAD - 0x08010d88 0x08010d88 0x00000064 Code RO 1635 .text.vQueueWaitForMessageRestricted queue.o - 0x08010dec 0x08010dec 0x0000006e Code RO 1724 .text.vTaskDelay tasks.o - 0x08010e5a 0x08010e5a 0x00000002 PAD - 0x08010e5c 0x08010e5c 0x00000114 Code RO 1716 .text.vTaskDelayUntil tasks.o - 0x08010f70 0x08010f70 0x0000010e Code RO 1710 .text.vTaskDelete tasks.o - 0x0801107e 0x0801107e 0x00000002 PAD - 0x08011080 0x08011080 0x00000024 Code RO 1782 .text.vTaskInternalSetTimeOutState tasks.o - 0x080110a4 0x080110a4 0x0000000e Code RO 1786 .text.vTaskMissedYield tasks.o - 0x080110b2 0x080110b2 0x00000002 PAD - 0x080110b4 0x080110b4 0x00000042 Code RO 1770 .text.vTaskPlaceOnEventList tasks.o - 0x080110f6 0x080110f6 0x00000002 PAD - 0x080110f8 0x080110f8 0x00000052 Code RO 1774 .text.vTaskPlaceOnEventListRestricted tasks.o - 0x0801114a 0x0801114a 0x00000002 PAD - 0x0801114c 0x0801114c 0x00000134 Code RO 1808 .text.vTaskPriorityDisinheritAfterTimeout tasks.o - 0x08011280 0x08011280 0x000000e4 Code RO 1744 .text.vTaskStartScheduler tasks.o - 0x08011364 0x08011364 0x00000010 Code RO 1718 .text.vTaskSuspendAll tasks.o - 0x08011374 0x08011374 0x00000180 Code RO 1736 .text.vTaskSwitchContext tasks.o - 0x080114f4 0x080114f4 0x00000156 Code RO 2156 .text.xPortStartScheduler port.o - 0x0801164a 0x0801164a 0x00000002 PAD - 0x0801164c 0x0801164c 0x0000003c Code RO 2172 .text.xPortSysTickHandler port.o - 0x08011688 0x08011688 0x00000026 Code RO 1565 .text.xQueueCreateMutex queue.o - 0x080116ae 0x080116ae 0x00000002 PAD - 0x080116b0 0x080116b0 0x00000032 Code RO 1569 .text.xQueueCreateMutexStatic queue.o - 0x080116e2 0x080116e2 0x00000002 PAD - 0x080116e4 0x080116e4 0x00000074 Code RO 1563 .text.xQueueGenericCreate queue.o - 0x08011758 0x08011758 0x0000010e Code RO 1559 .text.xQueueGenericCreateStatic queue.o - 0x08011866 0x08011866 0x00000002 PAD - 0x08011868 0x08011868 0x000000ba Code RO 1557 .text.xQueueGenericReset queue.o - 0x08011922 0x08011922 0x00000002 PAD - 0x08011924 0x08011924 0x0000022c Code RO 1577 .text.xQueueGenericSend queue.o - 0x08011b50 0x08011b50 0x0000014c Code RO 1593 .text.xQueueGenericSendFromISR queue.o - 0x08011c9c 0x08011c9c 0x0000006c Code RO 1575 .text.xQueueGiveMutexRecursive queue.o - 0x08011d08 0x08011d08 0x000001dc Code RO 1597 .text.xQueueReceive queue.o - 0x08011ee4 0x08011ee4 0x00000108 Code RO 1607 .text.xQueueReceiveFromISR queue.o - 0x08011fec 0x08011fec 0x0000022c Code RO 1581 .text.xQueueSemaphoreTake queue.o - 0x08012218 0x08012218 0x0000006e Code RO 1579 .text.xQueueTakeMutexRecursive queue.o - 0x08012286 0x08012286 0x00000002 PAD - 0x08012288 0x08012288 0x000000cc Code RO 1784 .text.xTaskCheckForTimeOut tasks.o - 0x08012354 0x08012354 0x0000009e Code RO 1708 .text.xTaskCreate tasks.o - 0x080123f2 0x080123f2 0x00000002 PAD - 0x080123f4 0x080123f4 0x000000ce Code RO 1702 .text.xTaskCreateStatic tasks.o - 0x080124c2 0x080124c2 0x00000002 PAD - 0x080124c4 0x080124c4 0x00000178 Code RO 1824 .text.xTaskGenericNotify tasks.o - 0x0801263c 0x0801263c 0x000001c4 Code RO 1826 .text.xTaskGenericNotifyFromISR tasks.o - 0x08012800 0x08012800 0x00000014 Code RO 1800 .text.xTaskGetCurrentTaskHandle tasks.o - 0x08012814 0x08012814 0x00000038 Code RO 1802 .text.xTaskGetSchedulerState tasks.o - 0x0801284c 0x0801284c 0x00000014 Code RO 1752 .text.xTaskGetTickCount tasks.o - 0x08012860 0x08012860 0x0000001e Code RO 1754 .text.xTaskGetTickCountFromISR tasks.o - 0x0801287e 0x0801287e 0x00000002 PAD - 0x08012880 0x08012880 0x000001c4 Code RO 1750 .text.xTaskIncrementTick tasks.o - 0x08012a44 0x08012a44 0x000000d6 Code RO 1822 .text.xTaskNotifyWait tasks.o - 0x08012b1a 0x08012b1a 0x00000002 PAD - 0x08012b1c 0x08012b1c 0x000000ec Code RO 1806 .text.xTaskPriorityDisinherit tasks.o - 0x08012c08 0x08012c08 0x0000010e Code RO 1804 .text.xTaskPriorityInherit tasks.o - 0x08012d16 0x08012d16 0x00000002 PAD - 0x08012d18 0x08012d18 0x000000ce Code RO 1776 .text.xTaskRemoveFromEventList tasks.o - 0x08012de6 0x08012de6 0x00000002 PAD - 0x08012de8 0x08012de8 0x00000186 Code RO 1722 .text.xTaskResumeAll tasks.o - 0x08012f6e 0x08012f6e 0x00000002 PAD - 0x08012f70 0x08012f70 0x00000094 Code RO 1869 .text.xTimerCreateTimerTask timers.o - 0x08013004 0x08013004 0x000000b0 Code RO 1881 .text.xTimerGenericCommand timers.o - 0x080130b4 0x080130b4 0x00000030 Code RO 3382 i.__ARM_fpclassify m_wm.l(fpclassify.o) - 0x080130e4 0x080130e4 0x00000026 Code RO 3312 i.__ARM_fpclassifyf m_wm.l(fpclassifyf.o) - 0x0801310a 0x0801310a 0x00000002 PAD - 0x0801310c 0x0801310c 0x0000012c Code RO 3126 i.__hardfp_asinf m_wm.l(asinf.o) - 0x08013238 0x08013238 0x000002d8 Code RO 3285 i.__hardfp_atan m_wm.l(atan.o) - 0x08013510 0x08013510 0x00000200 Code RO 3132 i.__hardfp_atan2 m_wm.l(atan2.o) - 0x08013710 0x08013710 0x000002ac Code RO 3138 i.__hardfp_atan2f m_wm.l(atan2f.o) - 0x080139bc 0x080139bc 0x00000150 Code RO 3144 i.__hardfp_cosf m_wm.l(cosf.o) - 0x08013b0c 0x08013b0c 0x0000017c Code RO 3150 i.__hardfp_tanf m_wm.l(tanf.o) - 0x08013c88 0x08013c88 0x000000f8 Code RO 3384 i.__kernel_poly m_wm.l(poly.o) - 0x08013d80 0x08013d80 0x00000014 Code RO 3293 i.__mathlib_dbl_infnan m_wm.l(dunder.o) - 0x08013d94 0x08013d94 0x00000014 Code RO 3294 i.__mathlib_dbl_infnan2 m_wm.l(dunder.o) - 0x08013da8 0x08013da8 0x00000020 Code RO 3298 i.__mathlib_dbl_underflow m_wm.l(dunder.o) - 0x08013dc8 0x08013dc8 0x00000006 Code RO 3315 i.__mathlib_flt_infnan m_wm.l(funder.o) - 0x08013dce 0x08013dce 0x00000006 Code RO 3316 i.__mathlib_flt_infnan2 m_wm.l(funder.o) - 0x08013dd4 0x08013dd4 0x00000010 Code RO 3317 i.__mathlib_flt_invalid m_wm.l(funder.o) - 0x08013de4 0x08013de4 0x00000010 Code RO 3320 i.__mathlib_flt_underflow m_wm.l(funder.o) - 0x08013df4 0x08013df4 0x00000154 Code RO 3329 i.__mathlib_rredf2 m_wm.l(rredf.o) - 0x08013f48 0x08013f48 0x00000010 Code RO 3287 i.atan m_wm.l(atan.o) - 0x08013f58 0x08013f58 0x00000018 Code RO 3308 i.fabs m_wm.l(fabs.o) - 0x08013f70 0x08013f70 0x0000003e Code RO 3334 i.sqrtf m_wm.l(sqrtf.o) - 0x08013fae 0x08013fae 0x00000018 Code RO 3258 x$fpl$basic fz_wm.l(basic.o) - 0x08013fc6 0x08013fc6 0x00000002 PAD - 0x08013fc8 0x08013fc8 0x00000062 Code RO 3100 x$fpl$d2f fz_wm.l(d2f.o) - 0x0801402a 0x0801402a 0x00000002 PAD - 0x0801402c 0x0801402c 0x00000150 Code RO 3260 x$fpl$dadd fz_wm.l(daddsub_clz.o) - 0x0801417c 0x0801417c 0x00000018 Code RO 3380 x$fpl$dcmpinf fz_wm.l(dcmpi.o) - 0x08014194 0x08014194 0x000002b4 Code RO 3103 x$fpl$ddiv fz_wm.l(ddiv.o) - 0x08014448 0x08014448 0x00000078 Code RO 3266 x$fpl$deqf fz_wm.l(deqf.o) - 0x080144c0 0x080144c0 0x0000005e Code RO 3106 x$fpl$dfix fz_wm.l(dfix.o) - 0x0801451e 0x0801451e 0x00000002 PAD - 0x08014520 0x08014520 0x0000005a Code RO 3110 x$fpl$dfixu fz_wm.l(dfixu.o) - 0x0801457a 0x0801457a 0x0000002e Code RO 3115 x$fpl$dflt fz_wm.l(dflt_clz.o) - 0x080145a8 0x080145a8 0x00000026 Code RO 3114 x$fpl$dfltu fz_wm.l(dflt_clz.o) - 0x080145ce 0x080145ce 0x00000002 PAD - 0x080145d0 0x080145d0 0x00000154 Code RO 3120 x$fpl$dmul fz_wm.l(dmul.o) - 0x08014724 0x08014724 0x0000009c Code RO 3268 x$fpl$dnaninf fz_wm.l(dnaninf.o) - 0x080147c0 0x080147c0 0x0000000c Code RO 3270 x$fpl$dretinf fz_wm.l(dretinf.o) - 0x080147cc 0x080147cc 0x00000016 Code RO 3261 x$fpl$drsb fz_wm.l(daddsub_clz.o) - 0x080147e2 0x080147e2 0x00000002 PAD - 0x080147e4 0x080147e4 0x000001dc Code RO 3262 x$fpl$dsub fz_wm.l(daddsub_clz.o) - 0x080149c0 0x080149c0 0x00000056 Code RO 3122 x$fpl$f2d fz_wm.l(f2d.o) - 0x08014a16 0x08014a16 0x00000060 Code RO 3124 x$fpl$ffltll fz_wm.l(ffltll_clz.o) - 0x08014a76 0x08014a76 0x0000008c Code RO 3272 x$fpl$fnaninf fz_wm.l(fnaninf.o) - 0x08014b02 0x08014b02 0x0000001a Code RO 3523 x$fpl$fpinit fz_wm.l(fpinit.o) - 0x08014b1c 0x08014b1c 0x0000000a Code RO 3274 x$fpl$fretinf fz_wm.l(fretinf.o) - 0x08014b26 0x08014b26 0x00000000 Code RO 3284 x$fpl$usenofp fz_wm.l(usenofp.o) - 0x08014b26 0x08014b26 0x00000002 PAD - 0x08014b28 0x08014b28 0x00000098 Data RO 3288 .constdata m_wm.l(atan.o) - 0x08014bc0 0x08014bc0 0x00000008 Data RO 3328 .constdata m_wm.l(qnan.o) - 0x08014bc8 0x08014bc8 0x00000020 Data RO 3330 .constdata m_wm.l(rredf.o) - 0x08014be8 0x08014be8 0x00000010 Data RO 1493 .rodata.AHBPrescTable system_stm32f4xx.o - 0x08014bf8 0x08014bf8 0x00000008 Data RO 1494 .rodata.APBPrescTable system_stm32f4xx.o - 0x08014c00 0x08014c00 0x00000008 Data RO 498 .rodata.DMA_CalcBaseAndBitshift.flagBitshiftOffset stm32f4xx_hal_dma.o - 0x08014c08 0x08014c08 0x00000038 Data RO 2290 .rodata.GPIO_Map gpio_1.o - 0x08014c40 0x08014c40 0x00000008 Data RO 2371 .rodata.PWM_Map pwm.o - 0x08014c48 0x08014c48 0x00000024 Data RO 3023 .rodata.attr_atti_esti user_task.o - 0x08014c6c 0x08014c6c 0x00000024 Data RO 3024 .rodata.attr_gimbal_ctrl user_task.o - 0x08014c90 0x08014c90 0x00000024 Data RO 3022 .rodata.attr_init user_task.o - 0x08014cb4 0x08014cb4 0x00000024 Data RO 3025 .rodata.attr_remote user_task.o - 0x08014cd8 0x08014cd8 0x00000024 Data RO 44 .rodata.defaultTask_attributes freertos.o - 0x08014cfc 0x08014cfc 0x00000020 Data RO 3001 .rodata.imu_temp_ctrl_pid_param atti_esti.o - 0x08014d1c 0x08014d1c 0x0000000c Data RO 43 .rodata.str1.1 freertos.o - 0x08014d28 0x08014d28 0x00000005 Data RO 1852 .rodata.str1.1 tasks.o - 0x08014d2d 0x08014d2d 0x0000000d Data RO 1924 .rodata.str1.1 timers.o - 0x08014d3a 0x08014d3a 0x00000027 Data RO 3021 .rodata.str1.1 user_task.o - 0x08014d61 0x08014d61 0x00000003 PAD - 0x08014d64 0x08014d64 0x00000020 Data RO 3584 Region$$Table anon$$obj.o + 0x08010a3c 0x08010a3c 0x0000002e Code RO 1540 .text.vListInitialise list.o + 0x08010a6a 0x08010a6a 0x00000002 PAD + 0x08010a6c 0x08010a6c 0x0000000e Code RO 1542 .text.vListInitialiseItem list.o + 0x08010a7a 0x08010a7a 0x00000002 PAD + 0x08010a7c 0x08010a7c 0x0000006a Code RO 1546 .text.vListInsert list.o + 0x08010ae6 0x08010ae6 0x00000002 PAD + 0x08010ae8 0x08010ae8 0x0000003a Code RO 1544 .text.vListInsertEnd list.o + 0x08010b22 0x08010b22 0x00000002 PAD + 0x08010b24 0x08010b24 0x00000014 Code RO 2160 .text.vPortEnableVFP port.o + 0x08010b38 0x08010b38 0x00000056 Code RO 2166 .text.vPortEnterCritical port.o + 0x08010b8e 0x08010b8e 0x00000002 PAD + 0x08010b90 0x08010b90 0x0000004a Code RO 2168 .text.vPortExitCritical port.o + 0x08010bda 0x08010bda 0x00000002 PAD + 0x08010bdc 0x08010bdc 0x000000ce Code RO 2125 .text.vPortFree heap_4.o + 0x08010caa 0x08010caa 0x00000002 PAD + 0x08010cac 0x08010cac 0x00000044 Code RO 2158 .text.vPortSetupTimerInterrupt port.o + 0x08010cf0 0x08010cf0 0x00000084 Code RO 2174 .text.vPortValidateInterruptPriority port.o + 0x08010d74 0x08010d74 0x00000052 Code RO 1631 .text.vQueueAddToRegistry queue.o + 0x08010dc6 0x08010dc6 0x00000002 PAD + 0x08010dc8 0x08010dc8 0x00000064 Code RO 1635 .text.vQueueWaitForMessageRestricted queue.o + 0x08010e2c 0x08010e2c 0x0000006e Code RO 1724 .text.vTaskDelay tasks.o + 0x08010e9a 0x08010e9a 0x00000002 PAD + 0x08010e9c 0x08010e9c 0x00000114 Code RO 1716 .text.vTaskDelayUntil tasks.o + 0x08010fb0 0x08010fb0 0x0000010e Code RO 1710 .text.vTaskDelete tasks.o + 0x080110be 0x080110be 0x00000002 PAD + 0x080110c0 0x080110c0 0x00000024 Code RO 1782 .text.vTaskInternalSetTimeOutState tasks.o + 0x080110e4 0x080110e4 0x0000000e Code RO 1786 .text.vTaskMissedYield tasks.o + 0x080110f2 0x080110f2 0x00000002 PAD + 0x080110f4 0x080110f4 0x00000042 Code RO 1770 .text.vTaskPlaceOnEventList tasks.o + 0x08011136 0x08011136 0x00000002 PAD + 0x08011138 0x08011138 0x00000052 Code RO 1774 .text.vTaskPlaceOnEventListRestricted tasks.o + 0x0801118a 0x0801118a 0x00000002 PAD + 0x0801118c 0x0801118c 0x00000134 Code RO 1808 .text.vTaskPriorityDisinheritAfterTimeout tasks.o + 0x080112c0 0x080112c0 0x000000e4 Code RO 1744 .text.vTaskStartScheduler tasks.o + 0x080113a4 0x080113a4 0x00000010 Code RO 1718 .text.vTaskSuspendAll tasks.o + 0x080113b4 0x080113b4 0x00000180 Code RO 1736 .text.vTaskSwitchContext tasks.o + 0x08011534 0x08011534 0x00000156 Code RO 2156 .text.xPortStartScheduler port.o + 0x0801168a 0x0801168a 0x00000002 PAD + 0x0801168c 0x0801168c 0x0000003c Code RO 2172 .text.xPortSysTickHandler port.o + 0x080116c8 0x080116c8 0x00000026 Code RO 1565 .text.xQueueCreateMutex queue.o + 0x080116ee 0x080116ee 0x00000002 PAD + 0x080116f0 0x080116f0 0x00000032 Code RO 1569 .text.xQueueCreateMutexStatic queue.o + 0x08011722 0x08011722 0x00000002 PAD + 0x08011724 0x08011724 0x00000074 Code RO 1563 .text.xQueueGenericCreate queue.o + 0x08011798 0x08011798 0x0000010e Code RO 1559 .text.xQueueGenericCreateStatic queue.o + 0x080118a6 0x080118a6 0x00000002 PAD + 0x080118a8 0x080118a8 0x000000ba Code RO 1557 .text.xQueueGenericReset queue.o + 0x08011962 0x08011962 0x00000002 PAD + 0x08011964 0x08011964 0x0000022c Code RO 1577 .text.xQueueGenericSend queue.o + 0x08011b90 0x08011b90 0x0000014c Code RO 1593 .text.xQueueGenericSendFromISR queue.o + 0x08011cdc 0x08011cdc 0x0000006c Code RO 1575 .text.xQueueGiveMutexRecursive queue.o + 0x08011d48 0x08011d48 0x000001dc Code RO 1597 .text.xQueueReceive queue.o + 0x08011f24 0x08011f24 0x00000108 Code RO 1607 .text.xQueueReceiveFromISR queue.o + 0x0801202c 0x0801202c 0x0000022c Code RO 1581 .text.xQueueSemaphoreTake queue.o + 0x08012258 0x08012258 0x0000006e Code RO 1579 .text.xQueueTakeMutexRecursive queue.o + 0x080122c6 0x080122c6 0x00000002 PAD + 0x080122c8 0x080122c8 0x000000cc Code RO 1784 .text.xTaskCheckForTimeOut tasks.o + 0x08012394 0x08012394 0x0000009e Code RO 1708 .text.xTaskCreate tasks.o + 0x08012432 0x08012432 0x00000002 PAD + 0x08012434 0x08012434 0x000000ce Code RO 1702 .text.xTaskCreateStatic tasks.o + 0x08012502 0x08012502 0x00000002 PAD + 0x08012504 0x08012504 0x00000178 Code RO 1824 .text.xTaskGenericNotify tasks.o + 0x0801267c 0x0801267c 0x000001c4 Code RO 1826 .text.xTaskGenericNotifyFromISR tasks.o + 0x08012840 0x08012840 0x00000014 Code RO 1800 .text.xTaskGetCurrentTaskHandle tasks.o + 0x08012854 0x08012854 0x00000038 Code RO 1802 .text.xTaskGetSchedulerState tasks.o + 0x0801288c 0x0801288c 0x00000014 Code RO 1752 .text.xTaskGetTickCount tasks.o + 0x080128a0 0x080128a0 0x0000001e Code RO 1754 .text.xTaskGetTickCountFromISR tasks.o + 0x080128be 0x080128be 0x00000002 PAD + 0x080128c0 0x080128c0 0x000001c4 Code RO 1750 .text.xTaskIncrementTick tasks.o + 0x08012a84 0x08012a84 0x000000d6 Code RO 1822 .text.xTaskNotifyWait tasks.o + 0x08012b5a 0x08012b5a 0x00000002 PAD + 0x08012b5c 0x08012b5c 0x000000ec Code RO 1806 .text.xTaskPriorityDisinherit tasks.o + 0x08012c48 0x08012c48 0x0000010e Code RO 1804 .text.xTaskPriorityInherit tasks.o + 0x08012d56 0x08012d56 0x00000002 PAD + 0x08012d58 0x08012d58 0x000000ce Code RO 1776 .text.xTaskRemoveFromEventList tasks.o + 0x08012e26 0x08012e26 0x00000002 PAD + 0x08012e28 0x08012e28 0x00000186 Code RO 1722 .text.xTaskResumeAll tasks.o + 0x08012fae 0x08012fae 0x00000002 PAD + 0x08012fb0 0x08012fb0 0x00000094 Code RO 1869 .text.xTimerCreateTimerTask timers.o + 0x08013044 0x08013044 0x000000b0 Code RO 1881 .text.xTimerGenericCommand timers.o + 0x080130f4 0x080130f4 0x00000030 Code RO 3382 i.__ARM_fpclassify m_wm.l(fpclassify.o) + 0x08013124 0x08013124 0x00000026 Code RO 3312 i.__ARM_fpclassifyf m_wm.l(fpclassifyf.o) + 0x0801314a 0x0801314a 0x00000002 PAD + 0x0801314c 0x0801314c 0x0000012c Code RO 3126 i.__hardfp_asinf m_wm.l(asinf.o) + 0x08013278 0x08013278 0x000002d8 Code RO 3285 i.__hardfp_atan m_wm.l(atan.o) + 0x08013550 0x08013550 0x00000200 Code RO 3132 i.__hardfp_atan2 m_wm.l(atan2.o) + 0x08013750 0x08013750 0x000002ac Code RO 3138 i.__hardfp_atan2f m_wm.l(atan2f.o) + 0x080139fc 0x080139fc 0x00000150 Code RO 3144 i.__hardfp_cosf m_wm.l(cosf.o) + 0x08013b4c 0x08013b4c 0x0000017c Code RO 3150 i.__hardfp_tanf m_wm.l(tanf.o) + 0x08013cc8 0x08013cc8 0x000000f8 Code RO 3384 i.__kernel_poly m_wm.l(poly.o) + 0x08013dc0 0x08013dc0 0x00000014 Code RO 3293 i.__mathlib_dbl_infnan m_wm.l(dunder.o) + 0x08013dd4 0x08013dd4 0x00000014 Code RO 3294 i.__mathlib_dbl_infnan2 m_wm.l(dunder.o) + 0x08013de8 0x08013de8 0x00000020 Code RO 3298 i.__mathlib_dbl_underflow m_wm.l(dunder.o) + 0x08013e08 0x08013e08 0x00000006 Code RO 3315 i.__mathlib_flt_infnan m_wm.l(funder.o) + 0x08013e0e 0x08013e0e 0x00000006 Code RO 3316 i.__mathlib_flt_infnan2 m_wm.l(funder.o) + 0x08013e14 0x08013e14 0x00000010 Code RO 3317 i.__mathlib_flt_invalid m_wm.l(funder.o) + 0x08013e24 0x08013e24 0x00000010 Code RO 3320 i.__mathlib_flt_underflow m_wm.l(funder.o) + 0x08013e34 0x08013e34 0x00000154 Code RO 3329 i.__mathlib_rredf2 m_wm.l(rredf.o) + 0x08013f88 0x08013f88 0x00000010 Code RO 3287 i.atan m_wm.l(atan.o) + 0x08013f98 0x08013f98 0x00000018 Code RO 3308 i.fabs m_wm.l(fabs.o) + 0x08013fb0 0x08013fb0 0x0000003e Code RO 3334 i.sqrtf m_wm.l(sqrtf.o) + 0x08013fee 0x08013fee 0x00000018 Code RO 3258 x$fpl$basic fz_wm.l(basic.o) + 0x08014006 0x08014006 0x00000002 PAD + 0x08014008 0x08014008 0x00000062 Code RO 3100 x$fpl$d2f fz_wm.l(d2f.o) + 0x0801406a 0x0801406a 0x00000002 PAD + 0x0801406c 0x0801406c 0x00000150 Code RO 3260 x$fpl$dadd fz_wm.l(daddsub_clz.o) + 0x080141bc 0x080141bc 0x00000018 Code RO 3380 x$fpl$dcmpinf fz_wm.l(dcmpi.o) + 0x080141d4 0x080141d4 0x000002b4 Code RO 3103 x$fpl$ddiv fz_wm.l(ddiv.o) + 0x08014488 0x08014488 0x00000078 Code RO 3266 x$fpl$deqf fz_wm.l(deqf.o) + 0x08014500 0x08014500 0x0000005e Code RO 3106 x$fpl$dfix fz_wm.l(dfix.o) + 0x0801455e 0x0801455e 0x00000002 PAD + 0x08014560 0x08014560 0x0000005a Code RO 3110 x$fpl$dfixu fz_wm.l(dfixu.o) + 0x080145ba 0x080145ba 0x0000002e Code RO 3115 x$fpl$dflt fz_wm.l(dflt_clz.o) + 0x080145e8 0x080145e8 0x00000026 Code RO 3114 x$fpl$dfltu fz_wm.l(dflt_clz.o) + 0x0801460e 0x0801460e 0x00000002 PAD + 0x08014610 0x08014610 0x00000154 Code RO 3120 x$fpl$dmul fz_wm.l(dmul.o) + 0x08014764 0x08014764 0x0000009c Code RO 3268 x$fpl$dnaninf fz_wm.l(dnaninf.o) + 0x08014800 0x08014800 0x0000000c Code RO 3270 x$fpl$dretinf fz_wm.l(dretinf.o) + 0x0801480c 0x0801480c 0x00000016 Code RO 3261 x$fpl$drsb fz_wm.l(daddsub_clz.o) + 0x08014822 0x08014822 0x00000002 PAD + 0x08014824 0x08014824 0x000001dc Code RO 3262 x$fpl$dsub fz_wm.l(daddsub_clz.o) + 0x08014a00 0x08014a00 0x00000056 Code RO 3122 x$fpl$f2d fz_wm.l(f2d.o) + 0x08014a56 0x08014a56 0x00000060 Code RO 3124 x$fpl$ffltll fz_wm.l(ffltll_clz.o) + 0x08014ab6 0x08014ab6 0x0000008c Code RO 3272 x$fpl$fnaninf fz_wm.l(fnaninf.o) + 0x08014b42 0x08014b42 0x0000001a Code RO 3523 x$fpl$fpinit fz_wm.l(fpinit.o) + 0x08014b5c 0x08014b5c 0x0000000a Code RO 3274 x$fpl$fretinf fz_wm.l(fretinf.o) + 0x08014b66 0x08014b66 0x00000000 Code RO 3284 x$fpl$usenofp fz_wm.l(usenofp.o) + 0x08014b66 0x08014b66 0x00000002 PAD + 0x08014b68 0x08014b68 0x00000098 Data RO 3288 .constdata m_wm.l(atan.o) + 0x08014c00 0x08014c00 0x00000008 Data RO 3328 .constdata m_wm.l(qnan.o) + 0x08014c08 0x08014c08 0x00000020 Data RO 3330 .constdata m_wm.l(rredf.o) + 0x08014c28 0x08014c28 0x00000010 Data RO 1493 .rodata.AHBPrescTable system_stm32f4xx.o + 0x08014c38 0x08014c38 0x00000008 Data RO 1494 .rodata.APBPrescTable system_stm32f4xx.o + 0x08014c40 0x08014c40 0x00000008 Data RO 498 .rodata.DMA_CalcBaseAndBitshift.flagBitshiftOffset stm32f4xx_hal_dma.o + 0x08014c48 0x08014c48 0x00000038 Data RO 2290 .rodata.GPIO_Map gpio_1.o + 0x08014c80 0x08014c80 0x00000008 Data RO 2371 .rodata.PWM_Map pwm.o + 0x08014c88 0x08014c88 0x00000024 Data RO 3023 .rodata.attr_atti_esti user_task.o + 0x08014cac 0x08014cac 0x00000024 Data RO 3024 .rodata.attr_gimbal_ctrl user_task.o + 0x08014cd0 0x08014cd0 0x00000024 Data RO 3022 .rodata.attr_init user_task.o + 0x08014cf4 0x08014cf4 0x00000024 Data RO 3025 .rodata.attr_remote user_task.o + 0x08014d18 0x08014d18 0x00000024 Data RO 44 .rodata.defaultTask_attributes freertos.o + 0x08014d3c 0x08014d3c 0x00000020 Data RO 3001 .rodata.imu_temp_ctrl_pid_param atti_esti.o + 0x08014d5c 0x08014d5c 0x0000000c Data RO 43 .rodata.str1.1 freertos.o + 0x08014d68 0x08014d68 0x00000005 Data RO 1852 .rodata.str1.1 tasks.o + 0x08014d6d 0x08014d6d 0x0000000d Data RO 1924 .rodata.str1.1 timers.o + 0x08014d7a 0x08014d7a 0x00000027 Data RO 3021 .rodata.str1.1 user_task.o + 0x08014da1 0x08014da1 0x00000003 PAD + 0x08014da4 0x08014da4 0x00000020 Data RO 3584 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08014d88, Size: 0x00008788, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000078]) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08014dc8, Size: 0x00008788, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000088]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x20000000 COMPRESSED 0x00000004 Data RW 1492 .data.SystemCoreClock system_stm32f4xx.o 0x20000004 COMPRESSED 0x00000004 Data RW 2486 .data.beta ahrs.o - 0x20000008 COMPRESSED 0x0000018c Data RW 3064 .data.robot_config config.o - 0x20000194 COMPRESSED 0x00000001 Data RW 698 .data.uwTickFreq stm32f4xx_hal.o - 0x20000195 COMPRESSED 0x00000003 PAD - 0x20000198 COMPRESSED 0x00000004 Data RW 697 .data.uwTickPrio stm32f4xx_hal.o - 0x2000019c COMPRESSED 0x00000004 Data RW 2178 .data.uxCriticalNesting port.o - 0x200001a0 - 0x00000060 Zero RW 3387 .bss c_w.l(libspace.o) - 0x20000200 - 0x00000068 Zero RW 2262 .bss.CAN_Callback can_1.o - 0x20000268 - 0x00000040 Zero RW 2289 .bss.GPIO_Callback gpio_1.o - 0x200002a8 - 0x00000004 Zero RW 63 .bss.HAL_RCC_CAN1_CLK_ENABLED can.o - 0x200002ac - 0x00000048 Zero RW 2334 .bss.I2C_Callback i2c_1.o - 0x200002f4 - 0x00000004 Zero RW 2106 .bss.KernelState cmsis_os2.o - 0x200002f8 - 0x00000040 Zero RW 2415 .bss.SPI_Callback spi_1.o - 0x20000338 - 0x00000024 Zero RW 2466 .bss.UART_Callback uart.o - 0x2000035c COMPRESSED 0x00000004 PAD - 0x20000360 - 0x00000030 Zero RW 2997 .bss.bmi088 atti_esti.o - 0x20000390 - 0x00000013 Zero RW 2787 .bss.bmi088_rxbuf bmi088.o - 0x200003a3 - 0x00000002 Zero RW 2788 .bss.buffer bmi088.o - 0x200003a5 COMPRESSED 0x00000003 PAD - 0x200003a8 - 0x0000000c Zero RW 2996 .bss.cali_bmi088 atti_esti.o - 0x200003b4 - 0x00000008 Zero RW 2869 .bss.can_managers motor_rm.o - 0x200003bc - 0x00000008 Zero RW 2978 .bss.can_managers motor_dm.o - 0x200003c4 - 0x00000004 Zero RW 45 .bss.defaultTaskHandle freertos.o - 0x200003c8 - 0x0000000c Zero RW 3002 .bss.eulr_to_send atti_esti.o - 0x200003d4 - 0x00000004 Zero RW 2709 .bss.fac_ms bsp_delay.o - 0x200003d8 - 0x00000001 Zero RW 2708 .bss.fac_us bsp_delay.o - 0x200003d9 COMPRESSED 0x00000007 PAD - 0x200003e0 - 0x000002f0 Zero RW 3034 .bss.gimbal gimbal_ctrl.o + 0x20000008 COMPRESSED 0x00000194 Data RW 3064 .data.robot_config config.o + 0x2000019c COMPRESSED 0x00000001 Data RW 698 .data.uwTickFreq stm32f4xx_hal.o + 0x2000019d COMPRESSED 0x00000003 PAD + 0x200001a0 COMPRESSED 0x00000004 Data RW 697 .data.uwTickPrio stm32f4xx_hal.o + 0x200001a4 COMPRESSED 0x00000004 Data RW 2178 .data.uxCriticalNesting port.o + 0x200001a8 - 0x00000060 Zero RW 3387 .bss c_w.l(libspace.o) + 0x20000208 - 0x00000068 Zero RW 2262 .bss.CAN_Callback can_1.o + 0x20000270 - 0x00000040 Zero RW 2289 .bss.GPIO_Callback gpio_1.o + 0x200002b0 - 0x00000004 Zero RW 63 .bss.HAL_RCC_CAN1_CLK_ENABLED can.o + 0x200002b4 - 0x00000048 Zero RW 2334 .bss.I2C_Callback i2c_1.o + 0x200002fc - 0x00000004 Zero RW 2106 .bss.KernelState cmsis_os2.o + 0x20000300 - 0x00000040 Zero RW 2415 .bss.SPI_Callback spi_1.o + 0x20000340 - 0x00000024 Zero RW 2466 .bss.UART_Callback uart.o + 0x20000364 COMPRESSED 0x00000004 PAD + 0x20000368 - 0x00000030 Zero RW 2997 .bss.bmi088 atti_esti.o + 0x20000398 - 0x00000013 Zero RW 2787 .bss.bmi088_rxbuf bmi088.o + 0x200003ab - 0x00000002 Zero RW 2788 .bss.buffer bmi088.o + 0x200003ad COMPRESSED 0x00000003 PAD + 0x200003b0 - 0x0000000c Zero RW 2996 .bss.cali_bmi088 atti_esti.o + 0x200003bc - 0x00000008 Zero RW 2869 .bss.can_managers motor_rm.o + 0x200003c4 - 0x00000008 Zero RW 2978 .bss.can_managers motor_dm.o + 0x200003cc - 0x00000004 Zero RW 45 .bss.defaultTaskHandle freertos.o + 0x200003d0 - 0x0000000c Zero RW 3002 .bss.eulr_to_send atti_esti.o + 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 - 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 @@ -8664,7 +8663,7 @@ Memory Map of the image 0x20008388 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o - Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08014e00, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) + Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08014e50, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) **** No section assigned to this execution region **** @@ -8686,12 +8685,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 396 0 2614 config.o + 10 0 0 404 0 2684 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 - 2284 28 0 0 0 8095 gimbal.o - 220 12 0 0 788 4953 gimbal_ctrl.o + 2360 28 0 0 0 8229 gimbal.o + 220 12 0 0 780 4989 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 @@ -8736,9 +8735,9 @@ Image component sizes 0 0 183 0 80 3063 user_task.o ---------------------------------------------------------------------- - 76664 302 804 416 34184 453509 Object Totals + 76728 290 804 424 34176 453749 Object Totals 0 0 32 0 0 0 (incl. Generated) - 402 16 3 3 26 0 (incl. Padding) + 390 4 3 3 26 0 (incl. Padding) ---------------------------------------------------------------------- @@ -8827,15 +8826,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 84384 978 996 416 34280 455273 Grand Totals - 84384 978 996 120 34280 455273 ELF Image Totals (compressed) - 84384 978 996 120 0 0 ROM Totals + 84448 966 996 424 34272 455513 Grand Totals + 84448 966 996 136 34272 455513 ELF Image Totals (compressed) + 84448 966 996 136 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 85380 ( 83.38kB) + Total RO Size (Code + RO Data) 85444 ( 83.44kB) Total RW Size (RW Data + ZI Data) 34696 ( 33.88kB) - Total ROM Size (Code + RO Data + RW Data) 85500 ( 83.50kB) + Total ROM Size (Code + RO Data + RW Data) 85580 ( 83.57kB) ============================================================================== diff --git a/MDK-ARM/gimbal/gimbal.o b/MDK-ARM/gimbal/gimbal.o index fc99e81c00e964ab76b600092728df8aaddf32b2..238a75d0a54ccf149ce1b7fe31f66cd7f69910da 100644 GIT binary patch delta 5480 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 WJt>P26Xp|+4T*yv3>kr|ko*TmwiPx2 delta 5244 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 diff --git a/MDK-ARM/gimbal/gimbal_ctrl.o b/MDK-ARM/gimbal/gimbal_ctrl.o index 1aa8dd896ad3c03de691fad41e90127557039829..cca7eab977465184ceb131a6c28483cea96b63d7 100644 GIT binary patch delta 3182 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 diff --git a/MDK-ARM/gimbal/gimbal_gimbal.dep b/MDK-ARM/gimbal/gimbal_gimbal.dep index 2558a68..a6d35eb 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)(0x6900D064) +I (..\User\module\gimbal.h)(0x690613C5) 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)(0x6900D064) +I (..\User\module\gimbal.h)(0x690613C5) 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)(0x6900D064) +I (..\User\module\gimbal.h)(0x690613C5) 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)(0x6900D064) +I (..\User\module\gimbal.h)(0x690613C5) 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)(0x6900D064) +I (..\User\module\gimbal.h)(0x690613C5) 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)(0x6900D050)(-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)(0x6900D064) +F (..\User\module\gimbal.c)(0x690613C5)(-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)(0x690613C5) 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)(0x6900D050)(-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)(0x690613E7)(-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)(0x6900D064) +I (..\User\module\gimbal.h)(0x690613C5) 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 3c506e1eddb4d61ef52c9217d70ddf6486aefdf0..ced6e3bafe997639003ed0fc19e9ff62aa597d04 100644 GIT binary patch delta 41 ucmaDO`$l$y2a`-Civ(jCD=Q-d!z~5|2F7v*Rv93h4~Q8nHm5Lk@BjeAtOw}; delta 41 ucmaDO`$l$y2a`-Wiv(i{D=Q-d!z~5|2F6kbRv93h4~QAdHm5Lk@BjeA00-d! diff --git a/User/module/config.c b/User/module/config.c index 344bf9a..6adc2a4 100644 --- a/User/module/config.c +++ b/User/module/config.c @@ -57,7 +57,13 @@ Config_RobotParam_t robot_config = { .pit_dm_motor={}, .yaw_dm_motor={}, }, - + .dm_Params_t={ + .yaw_dm={.kd=0.3,}, + .yaw_dm_Reduction_ratio=8.0f,//减速比 + .pit_dm={.kd=1.0,}, + .pit_dm_Reduction_ratio=5.0f, + }, + .low_pass_cutoff_freq = { .out = -1.0f, .gyro = 1000.0f, diff --git a/User/module/gimbal.c b/User/module/gimbal.c index 0bd1507..4fcdd93 100644 --- a/User/module/gimbal.c +++ b/User/module/gimbal.c @@ -61,7 +61,6 @@ static int8_t Gimbal_SetMode(Gimbal_t *g, Gimbal_Mode_t mode) { g->setpoint.eulr.pit = g->feedback.imu.eulr.pit; g->setpoint.eulr.yaw = g->feedback.imu.eulr.yaw; - g->setpoint.small_yaw = g->feedback.imu.eulr.yaw; g->setpoint.ecd.pit=g->feedback.motor.pit.rotor_abs_angle; g->setpoint.ecd.yaw=g->feedback.motor.yaw.rotor_abs_angle; @@ -260,7 +259,6 @@ int8_t Gimbal_Control(Gimbal_t *g, Gimbal_CMD_t *g_cmd) { case GIMBAL_MODE_ABSOLUTE:/*绝对模式*/ g->setpoint.eulr.yaw+=delta_yaw; - g->setpoint.small_yaw+=delta_yaw; if (g->param->travel.yaw > 0) Clip(&(g->setpoint.eulr.yaw),delta_min,delta_max); else{ @@ -345,12 +343,26 @@ void Gimbal_Output(Gimbal_t *g){ /*达妙电机输出*/ if(g->param->motor.pit==DM){ - g->out.pit_dm.torque= g->out.pit * 5.0f; // 乘以减速比 + + g->out.pit_dm.angle=g->param->dm_Params_t.pit_dm.angle; + g->out.pit_dm.kd=g->param->dm_Params_t.pit_dm.kd; + g->out.pit_dm.kp=g->param->dm_Params_t.pit_dm.kp; + g->out.pit_dm.velocity=g->param->dm_Params_t.pit_dm.velocity; + + g->out.pit_dm.torque= g->out.pit * g->param->dm_Params_t.pit_dm_Reduction_ratio; // 乘以减速比 + MOTOR_DM_MITCtrl(&g->param->motor.pit_dm_motor,&(g->out.pit_dm)); } if(g->param->motor.yaw==DM){ - g->out.yaw_dm.torque= g->out.yaw * 5.0f; // 乘以减速比 + g->out.yaw_dm.angle=g->param->dm_Params_t.yaw_dm.angle; + g->out.yaw_dm.kd=g->param->dm_Params_t.yaw_dm.kd; + g->out.yaw_dm.kp=g->param->dm_Params_t.yaw_dm.kp; + g->out.yaw_dm.velocity=g->param->dm_Params_t.yaw_dm.velocity; + + g->out.yaw_dm.torque= g->out.yaw * g->param->dm_Params_t.yaw_dm_Reduction_ratio; // 乘以减速比 + MOTOR_DM_MITCtrl(&g->param->motor.yaw_dm_motor,&(g->out.yaw_dm)); } } + diff --git a/User/module/gimbal.h b/User/module/gimbal.h index 717ca58..569e0a9 100644 --- a/User/module/gimbal.h +++ b/User/module/gimbal.h @@ -110,6 +110,8 @@ typedef struct { struct { MOTOR_MIT_Output_t yaw_dm; /*达妙的参数*/ MOTOR_MIT_Output_t pit_dm; + float yaw_dm_Reduction_ratio; + float pit_dm_Reduction_ratio; }dm_Params_t; } Gimbal_Params_t; @@ -130,7 +132,6 @@ typedef struct { typedef struct { float yaw; /* yaw轴电机输出 */ float pit; /* pitch轴电机输出 */ - float small_yaw; /* 小yaw轴电机输出 */ MOTOR_MIT_Output_t yaw_dm; /*达妙的参数*/ MOTOR_MIT_Output_t pit_dm; @@ -153,7 +154,6 @@ typedef struct { struct { AHRS_Eulr_t eulr; /* 表示云台姿态的欧拉角 */ AHRS_Eulr_t ecd; - float small_yaw } setpoint; struct {