From 13203a2a217a6d5fd59f06109515bbde2638fcec Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 20 Apr 2022 18:47:45 +0800 Subject: [PATCH] Signed-off-by: kevin --- Morse_code_PCB/Morse_code_PCB.kicad_prl | 2 +- f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c | 7 + f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c | 55 ++ f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.h | 2 + .../MDK-ARM/f103c8t6_KEIL.uvguix.kevin | 65 +- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.axf | Bin 580992 -> 582196 bytes .../f103c8t6_KEIL/f103c8t6_KEIL.build_log.htm | 4 +- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex | 853 +++++++++--------- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.htm | 294 +++--- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map | 540 +++++------ .../f103c8t6_KEIL_f103c8t6_KEIL.dep | 10 +- f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/main.crf | Bin 566589 -> 566744 bytes f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/main.o | Bin 629968 -> 629968 bytes .../MDK-ARM/f103c8t6_KEIL/mymain.crf | Bin 564811 -> 564986 bytes f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.o | Bin 626092 -> 626200 bytes f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.crf | Bin 565934 -> 566569 bytes f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.o | Bin 644048 -> 646204 bytes 17 files changed, 966 insertions(+), 866 deletions(-) diff --git a/Morse_code_PCB/Morse_code_PCB.kicad_prl b/Morse_code_PCB/Morse_code_PCB.kicad_prl index 41ade6d..0c85cf9 100644 --- a/Morse_code_PCB/Morse_code_PCB.kicad_prl +++ b/Morse_code_PCB/Morse_code_PCB.kicad_prl @@ -61,7 +61,7 @@ 35, 36 ], - "visible_layers": "ffebfaa_7fffffff", + "visible_layers": "ffebfff_ffffffff", "zone_display_mode": 0 }, "meta": { diff --git a/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c b/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c index 9c9a056..c345c31 100644 --- a/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c +++ b/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c @@ -182,6 +182,13 @@ void mymain() OLED_Str(0,0,16,"hello",1); + OLED_AL(10,20,10,21,1); + + OLED_AL(20,50,20,49,1); + + OLED_AL(20,50,30,50,1); + + OLED_AL(50,30,30,30,1); fps_++; sprintf(str,"FPS:%d",fps); diff --git a/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c b/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c index 6cfc006..0af8e3f 100644 --- a/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c +++ b/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c @@ -1029,6 +1029,61 @@ void OLED_VL(unsigned char x,unsigned char y,unsigned char size,unsigned char do } +/*画任意线*/ +void OLED_AL(int sx,int sy,int ex,int ey,unsigned char dot_type) +{ + + int dx,dy; + + dx=ex-sx; + dy=ey-sy; + + if(dx==0) + { + if(dy>0) + { + for(int y=ey;y>sy;y--) + { + OLED_set_dot(sx,y,dot_type); + } + } + if(dy<0) + { + for(int y=ey;y0) + { + for(int x=ex;x>sx;x--) + { + OLED_set_dot(x,sy,dot_type); + } + } + if(dx<0) + { + for(int x=ex;x 38003 Registers - 115 45 + 140 30 346 @@ -93,25 +93,25 @@ 2 3 - -1 - -1 + -32000 + -32000 -1 -1 - 210 - 293 - 1318 - 735 + 150 + 2151 + 3176 + 675 0 - 492 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000020000000100000052433A5C55736572735C6B6576696E5C4465736B746F705C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6D796D61696E2E6300000000086D796D61696E2E6300000000C5D4F200FFFFFFFF52433A5C55736572735C6B6576696E5C4465736B746F705C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C62757A7A65722E63000000000862757A7A65722E6300000000FFDC7800FFFFFFFF50433A5C55736572735C6B6576696E5C4465736B746F705C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6F6C65642E6300000000066F6C65642E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000AE00000066000000560500005D020000 + 596 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000020000000100000052433A5C55736572735C6B6576696E5C4465736B746F705C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6D796D61696E2E6300000000086D796D61696E2E6300000000C5D4F200FFFFFFFF52433A5C55736572735C6B6576696E5C4465736B746F705C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C62757A7A65722E63000000000862757A7A65722E6300000000FFDC7800FFFFFFFF50433A5C55736572735C6B6576696E5C4465736B746F705C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6F6C65642E6300000000066F6C65642E6300000000BECEA100FFFFFFFF50433A5C55736572735C6B6576696E5C4465736B746F705C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6F6C65642E6800000000066F6C65642E6800000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000406000066000000D60C000095030000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000A70000002D020000 + 0300000066000000A700000065030000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000A70000002D020000 + 0300000066000000A700000065030000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000A70000002D020000 + 0300000066000000A700000065030000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000A70000002D020000 + 0300000066000000A700000065030000 16 @@ -490,7 +490,7 @@ 0 16 - 000000005E02000056050000AE020000 + 000000009603000080070000E6030000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000610200005305000095020000 + 030000009903000053050000CD030000 16 @@ -1170,7 +1170,7 @@ 0 16 - 03000000610200005305000095020000 + 030000009903000053050000CD030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000610200005305000095020000 + 030000009903000053050000CD030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000610200005305000095020000 + 030000009903000053050000CD030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000610200005305000095020000 + 030000009903000053050000CD030000 16 @@ -1730,7 +1730,7 @@ 0 16 - 00000000AE02000056050000C1020000 + 00000000E603000080070000F9030000 16 @@ -1799,7 +1799,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFAE000000B3000000F1030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000AE00000066000000F1030000CA000000AE0000004F000000F1030000B30000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF430300004F000000470300006B010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000004703000066000000F103000082010000470300004F000000F10300006B01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFAA0000004F000000AE00000046020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000AA0000005D020000000000004F000000AA000000460200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000005A010000F10300005E01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000000000000075010000F1030000EA010000000000005E010000F1030000D301000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFF90100005E010000FD010000D301000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000046020000560500004A020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000006102000056050000C5020000000000004A02000056050000AE0200000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFAE000000B3000000F1030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000AE00000066000000F1030000CA000000AE0000004F000000F1030000B30000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF430300004F000000470300006B010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000004703000066000000F103000082010000470300004F000000F10300006B01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFAA0000004F000000AE0000007E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000AA0000005D020000000000004F000000AA0000007E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000005A010000F10300005E01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000000000000075010000F1030000EA010000000000005E010000F1030000D301000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFF90100005E010000FD010000D301000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000007E0300008007000082030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000006102000056050000C5020000000000008203000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1865,16 +1865,16 @@ 2 .\MYDEIVERS\mymain.c - 27 + 20 156 - 188 + 191 1 0 .\MYDEIVERS\buzzer.c - 5 + 6 49 75 1 @@ -1883,9 +1883,18 @@ .\MYDEIVERS\oled.c - 86 - 996 - 1027 + 12 + 1046 + 1078 + 1 + + 0 + + + ./MYDEIVERS/oled.h + 37 + 1 + 30 1 0 diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.axf b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.axf index 7336ea4a62d6a2409be91772cdca2fe03bb8b90c..707ef9e09d0ea509d6d568a5f2efd6db8eeaa260 100644 GIT binary patch delta 17420 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 delta 16491 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 O8Xfz6rN*3A!u|&qh;d&4 diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.build_log.htm b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.build_log.htm index 6ede17a..b147592 100644 --- a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.build_log.htm +++ b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.build_log.htm @@ -32,7 +32,7 @@ MYDEIVERS\oled.h(22): warning: #1295-D: Deprecated declaration OLED_Cache_to_ha void OLED_Cache_to_hardware(); MYDEIVERS\oled.c: 1 warning, 0 errors linking... -Program Size: Code=9144 RO-data=3712 RW-data=28 ZI-data=3836 +Program Size: Code=9328 RO-data=3712 RW-data=28 ZI-data=3836 FromELF: creating hex file... "f103c8t6_KEIL\f103c8t6_KEIL.axf" - 0 Error(s), 1 Warning(s). @@ -58,7 +58,7 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE:5.5.0 Include file: CMSIS\Core\Include\tz_context.h -Build Time Elapsed: 00:00:03 +Build Time Elapsed: 00:00:02 diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex index 29eab8f..c32ce27 100644 --- a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex +++ b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex @@ -1,8 +1,8 @@ :020000040800F2 :10000000180F0020910100088319000889150008C5 -:1000100081190008E9040008371F000800000000EB -:100020000000000000000000000000008F1C00081D -:10003000EB040008000000008D1C0008911C000863 +:1000100081190008E9040008BB1F00080000000067 +:10002000000000000000000000000000131D000898 +:10003000EB04000800000000111D0008151D000859 :10004000AB010008AB010008AB010008AB010008E0 :10005000AB010008AB010008AB010008AB010008D0 :10006000AB010008AB010008AB010008AB010008C0 @@ -10,23 +10,23 @@ :10008000AB010008AB010008AB010008AB010008A0 :10009000AB010008AB010008AB010008AB01000890 :1000A000AB010008AB010008AB010008AB01000880 -:1000B000F51C0008AB010008AB010008AB0100080B +:1000B000791D0008AB010008AB010008AB01000886 :1000C000AB010008AB010008AB010008AB01000860 :1000D000AB010008AB010008AB010008AB01000850 :1000E000AB010008AB010008AB01000800F002F80A :1000F00000F03FF80AA090E8000C82448344AAF183 :100100000107DA4501D100F034F8AFF2090EBAE880 :100110000F0013F0010F18BFFB1A43F0010318473B -:10012000F830000018310000103A24BF78C878C1B8 +:10012000B0310000D0310000103A24BF78C878C147 :10013000FAD8520724BF30C830C144BF04680C60ED :10014000704700000023002400250026103A28BF35 :1001500078C1FBD8520728BF30C148BF0B60704739 :10016000642900F0A580002070471FB51FBD10B5A1 -:1001700010BD00F084F91146FFF7F7FF01F028FFEA +:1001700010BD00F084F91146FFF7F7FF01F06AFFA8 :1001800000F0A2F903B4FFF7F2FF03BC00F0A6F9F8 :100190000948804709480047FEE7FEE7FEE7FEE71B :1001A000FEE7FEE7FEE7FEE7FEE7FEE70448054957 -:1001B000054A064B70470000F31C0008ED000008DC +:1001B000054A064B70470000771D0008ED00000857 :1001C00018090020180F0020180B0020180B002021 :1001D00070B50446051F00F0D1F80068002C14BF6C :1001E000446870BD002C18BFAC423CBF2046646818 @@ -175,7 +175,7 @@ :100AD00070470000F0B40E4B1B680C46C3F30223B2 :100AE000C3F10705042D00D90425191D072901D2DA :100AF000002300E0DB1E012606FA05F1491E214015 -:100B000099409E40761E16403143F0BC01F014BA65 +:100B000099409E40761E16403143F0BC01F056BA23 :100B10000CED00E0064900F0070208684FF6FF03FD :100B2000184040EA0220034A104308607047000062 :100B30000CED00E00000FA052DE9F0470F46050036 @@ -196,10 +196,10 @@ :100C200006D56068296920F4605040EAC100606020 :100C300000F028F86168084AC1F30311515CC8400C :100C40000649086006480068FFF7F8FE0020C2E782 -:100C50000020024000100240A42400080C000020E4 +:100C500000200240001002405C2500080C0000202B :100C6000040000200448054900684968044AC1F3AB :100C70000221515CC84070470C0000200010024067 -:100C8000B424000812A185B00FC98DE80F0014A08C +:100C80006C25000812A185B00FC98DE80F0014A0D3 :100C9000144A006804905168134801F00C03042BB7 :100CA00010D0082B0ED1C1F38343C9031DF80300F4 :100CB0000AD5516804AAC1F34041515C0A4A504325 @@ -257,7 +257,7 @@ :100FF00001D00120EAE70020E8E7000000100240ED :1010000000004242800442420C0000200070004078 :1010100010B5401EB0F1807F01D3012010BD4FF00C -:10102000E02460610F21601700F086FF0020A061BE +:10102000E02460610F21601700F0C8FF0020A0617C :1010300007202061002010BD7047704770B590F800 :101040003C20012A26D0012480F83C40022280F86E :101050003D2003685A689D6822F070060A68324392 @@ -267,7 +267,7 @@ :10109000084670BD022070BD002C014000040040D5 :1010A0000008004010B5040003D094F83D0010B1D2 :1010B00007E0012010BD002084F83C00204600F02D -:1010C0001FF8022084F83D00211D206800F018FE62 +:1010C0001FF8022084F83D00211D206800F05AFE20 :1010D000012084F8460084F83E0084F83F0084F83C :1010E000400084F8410084F8420084F8430084F80A :1010F000440084F8450084F83D00002010BD000045 @@ -281,12 +281,12 @@ :101170003BD148E0022070BD302844D0402834D113 :1011800039E0602828D0702806D0B0F5805F2CD0D8 :10119000B0F5005F29D10AE0CB68D1E901212068D0 -:1011A00000F0F1FD2068816841F0770109E0CB682B -:1011B000D1E90121206800F0E6FD2068816841F452 -:1011C0008041816011E0CA684968206800F090FEA3 +:1011A00000F033FE2068816841F0770109E0CB68E8 +:1011B000D1E90121206800F028FE2068816841F40F +:1011C0008041816011E0CA684968206800F0D2FE61 :1011D0005021206807E016E0CA684968206800F0DE -:1011E00098FE6021206800F0D8FD84F83D50002072 -:1011F00084F83C0070BDCA684968206800F078FE39 +:1011E000DAFE6021206800F01AFE84F83D500020ED +:1011F00084F83C0070BDCA684968206800F0BAFEF7 :1012000040212068EFE7226801461046EBE770476F :1012100070B50446006801694FF00005C9438907AD :1012200015D4C168C943890711D4E91E01610120A1 @@ -317,20 +317,20 @@ :1013B0009DF805B000BD000000100240000801408B :1013C000704770B5044690F83C000D4601280AD0DD :1013D000012084F83C0042B1042A18D0082A2AD0FF -:1013E0000C2A4DD139E0022070BD206800F0DEFCEF +:1013E0000C2A4DD139E0022070BD206800F020FDAC :1013F0002068816941F0080181612068816921F0DC :1014000004018161206881692A69114311E0206823 -:1014100000F0F4FC2068816941F40061816120687A +:1014100000F036FD2068816941F400618161206837 :10142000816921F480618161206881692A6941EACA -:101430000221816124E0206800F00CFD2068C16970 +:101430000221816124E0206800F04EFD2068C1692E :1014400041F00801C1612068C16921F00401C16156 -:101450002068C1692A69114311E0206800F026FD67 +:101450002068C1692A69114311E0206800F068FD25 :101460002068C16941F40061C1612068C16921F44B :101470008061C1612068C1692A6941EA0221C161B4 :10148000002084F83C0070BD10B5040003D094F82F :101490003D0010B107E0012010BD002084F83C00A1 :1014A000204600F01EF8022084F83D00211D20682F -:1014B00000F026FC012084F8460084F83E0084F801 +:1014B00000F068FC012084F8460084F83E0084F8BF :1014C0003F0084F8400084F8410084F8420084F82A :1014D000430084F8440084F8450084F83D0000206F :1014E00010BD70477047000010B50446022249B194 @@ -338,7 +338,7 @@ :10150000012010BD94F83E000128F9D184F83E2056 :101510000FE094F83F000128F2D184F83F2008E062 :1015200094F840000128EBD184F8402001E084F8D1 -:1015300041200122206800F019FC0F4920688842F0 +:1015300041200122206800F05BFC0F4920688842AE :1015400003D1426C42F4004242642068884208D0D1 :10155000B0F1804F05D00949884202D0084988423D :1015600004D1816801F00701062903D0016841F028 @@ -407,403 +407,414 @@ :1019500075FB08B172B6FEE76020CDE90004029481 :101960000822694605480494FFF72BFD08B172B6BA :10197000FEE70248FFF700FD0EB010BD700000202A -:10198000FEE7FEE73CB5A3F12005059C5E2D26D8B9 -:10199000082A0DD00C2A15D0102A20D1104A02EBAB -:1019A0000312A2F50072CDE900241023082214E0EE -:1019B0000C4A02EBC302A2F58072CDE90024082391 -:1019C00005220AE003EB4302074B03EB8202A2F578 -:1019D000C072CDE900240C23062200F096F83CBD2D -:1019E000282C0008BC240008B42700082DE9F04783 -:1019F000DFF860904FF00008454609F5806A2946F7 -:101A0000002000F0D4F800240AEBC51709EBC51636 -:101A1000395D305D884210D0B8F1000F05D14FF02C -:101A200001082946204600F0C2F8305D00F008F9B0 -:101A3000305D38550020305501E04FF00008641C3F -:101A4000E4B2802CE4D36D1CEDB2082DD7D3BDE8F1 -:101A5000F0870000B800002010B5AE2000F0E8F8D4 -:101A6000D52000F0E5F8502000F0E2F8A82000F0C2 -:101A7000DFF83F2000F0DCF8D32000F0D9F8002098 -:101A800000F0D6F8402000F0D3F88D2000F0D0F818 -:101A9000142000F0CDF8202000F0CAF8022000F059 -:101AA000C7F8A12000F0C4F8C02000F0C1F8D92088 -:101AB00000F0BEF8F12000F0BBF8DB2000F0B8F831 -:101AC000302000F0B5F8A42000F0B2F8A62000F015 -:101AD000AFF8AF2000F0ACF8BDE810400020AFF345 -:101AE000008070B5064600242146002000F05FF813 -:101AF0000025304600F0A4F86D1CEDB2802DF8D31F -:101B0000641CE4B2082CEFD370BD2DE9FF4F002612 -:101B1000DDE90DBA994690463746354643E0002444 -:101B20003AE01BF807008021F140084225D0BAF1C5 -:101B3000060F1DD2DFE80AF0030B0B030313019815 -:101B400000222844C1B200982044C0B20EE001989F -:101B500001222844C1B200982044C0B206E0019896 -:101B600002222844C1B200982044C0B200F070F8AC -:101B7000761CF6B2082E0BD00CE05FEA0A00DED02D -:101B80000128DCD00228F3D0BAF1040FF0D1DEE74F -:101B900000267F1C641CE4B24445C2D30EB100266B -:101BA0007F1C6D1CEDB24D45B9D3BDE8FF8F10B55C -:101BB0000446C1F1B700C0B200F03AF8102040EA84 -:101BC000141000F035F804F00F00BDE8104000F0EC -:101BD0002FB82DE9F8430546DDF820901F469046C2 -:101BE0000E461046082A04D00C2804D0102A1AD118 -:101BF00003E0062417E0072415E0082413E0281961 -:101C0000802806D306EB0800C6B2402E00D300267B -:101C10000025424631462846CDF80090FFF7B2FE37 -:101C20002819C5B27F1C3B78002BE8D1BDE8F883AA -:101C300001B56A46012300217820FFF7DDFD08BDCC -:101C400001B56A46012340217820FFF7D5FD08BD84 -:101C500010B5802816D2402914D2CC0801F0070113 -:101C60008023CB40084901EBC414215C22B1012A36 -:101C700004D0022A05D103E0994302E0194300E0B1 -:101C80005940215410BD0000B80000207047704733 -:101C9000FEF7BABE30B58FB028216846FEF744FB88 -:101CA00014210AA8FEF740FB01210804CDE9001029 -:101CB0000024029402250491CDE907504FF4E0106E -:101CC00009906846FFF714F808B172B6FEE70F20D6 -:101CD000CDE90A054FF48060CDE90C4002210AA845 -:101CE0000E94FEF729FF002801D072B6FEE70FB070 -:101CF00030BD70470148FFF78BBA0000700000202C -:101D0000F0B50268164B174C174D4FF080479842BC -:101D100005D0B84203D0A04201D0A84203D122F09E -:101D200070064A683243984205D0B84203D0A042B8 -:101D300001D0A84203D122F44074CA6822434C69FE -:101D400022F08002224302608A68C2620A688262CC -:101D5000984201D10969016301214161F0BD000090 -:101D6000002C0140000400400008004010B501F0C4 -:101D70001F030121046A99408C430462016A9A405E -:101D80001143016210BD10B5846842EA032224F4B5 -:101D90007F440A432243826010BD826822F07002B1 -:101DA0000A4342F0070181607047000030B5026AC3 -:101DB00022F001020262026A4368846924F073051A -:101DC0000C682C4322F002058A682A430A4DA84277 -:101DD0000BD122F00805CA6823F440732A434D69E9 -:101DE00022F004021D438B692B43436084614968E0 -:101DF0004163026230BD0000002C014030B5026A30 -:101E000022F010020262026A436884690D6824F4B9 -:101E1000E64444EA05248D6822F0200242EA0512D5 -:101E20000B4DA8420ED1CD6822F0800242EA051285 -:101E30004D6923F4406343EA85038D6922F0400233 -:101E400043EA85034360846149688163026230BD6F -:101E5000002C014030B5026A22F480720262036AEB -:101E60004268C46923F4007324F073050C682C43A2 -:101E70008D6843EA05230C4DA8420ED1CD6823F4AA -:101E8000006343EA05234D6922F4405242EA0512F9 -:101E90008D6923F4806342EA05124260C461496897 -:101EA000C163036230BD0000002C014030B5026AFE -:101EB00022F480520262046A4268C3690D6823F406 -:101EC000E64343EA05238D6824F4005444EA0534CC -:101ED000064DA84204D14D6922F4804242EA85129F -:101EE0004260C36149680164046230BD002C014056 -:101EF00010B5036A046A24F001040462846924F0C2 -:101F0000F00444EA021423F00A020A4384610262E4 -:101F100010BD10B5036A23F0100303628369046ADD -:101F200023F4704343EA023224F0A00343EA011190 -:101F30008261016210BDFEE70907090E002804DB7B -:101F400000F1E02080F80014704700F00F0000F16D -:101F5000E02080F8141D704710B5124CA06810B135 -:101F6000207828B110E00021084600F09FF817E023 -:101F700001202070FEF7B8FBA268918808446060D9 -:101F80009178108800F092F82078012808D1FEF7A7 -:101F9000ABFB6168884203D90020207000F004F890 -:101FA000207810BD1000002010B5084CA068002853 -:101FB0000AD0816821B1A160BDE81040FEF708B9E0 -:101FC000FEF706F90020A06010BD00001000002000 -:101FD000FEF722FDFFF75EFEFFF71CFC0D480C49E3 -:101FE0004FF4804201600C49416000218160C0E9EA -:101FF000031241618161C1610162FEF77BFB08B19F -:1020000072B6FEE7FFF774FC00F008F8FEE7000088 -:10201000005400401C000020A086010086B000256E -:102020002E462C46FFF718FD08211948FFF75CFAE9 -:10203000002208211748FEF751FBDFF85C900127CA -:102040004FF40048002115A3102208460097FFF71F -:10205000C0FD641CA4B2324612A101A8FEF7E0F84C -:1020600001AB0822382100200097FFF7B2FDFFF7EF -:10207000BDFCFFF771FFFEF737FBA842E2D94146EE -:10208000484605F57A75FEF721FB26460024D9E778 -:102090007000002000080140000C014068656C6C75 -:1020A0006F0000004650533A256400002DE9F041CE -:1020B0000D4E0546B6FBF5F07705401EF862084662 -:1020C00000F010F9094900F013F80446B6FBF5F0EA -:1020D000401E00F0EFF8214600F018F900F0CAF8B1 -:1020E000F863BDE8F081000000A24A040000C84285 -:1020F0004FF47F0C1CEAD0121EBF1CEAD11392EAE7 -:102100000C0F93EA0C0F00F0858090EA010F48BF96 -:1021100042F4807240F4000C41F400002CF07F4146 -:1021200020F07F4000B58142A2EB03020FF2081CB1 -:10213000ACEB504EC0F100009EF800E04FEA4E0EAE -:1021400000FB0EFC38BF49004FEA2C1C02F5FA02D6 -:102150000CFB0EF34FEACE1E4FEA112C4FEAC121C1 -:102160000EEB635E42EB22420EFB0CFC4FEA1C536B -:1021700000FB03114FEA112C4FEA01310EFB0CFC5E -:102180004FEADC4C00FB0C11C14228BF09184CEB94 -:1021900003335DF804EB10EB410143EBC250B2F5A1 -:1021A0007C0F38BF704729D512F0F00F1CBF00F12B -:1021B000C04000F00040704700818283848586879C -:1021C00088898B8C8D8E8F919293959697999A9CF6 -:1021D0009D9FA0A2A3A5A7A8AAACAEB0B2B3B5B765 -:1021E000B9BCBEC0C2C5C7C9CCCED1D4D7D9DCDF3B -:1021F000E2E6E9ECF0F3F7FAFE0000004FEA400CEB -:102200000CF1807CBCF17E4F28BF7047B0F1C0401C -:1022100000F043B990EA010F0CEAD11348BF42F431 -:102220008072624538BF634507D213F47F0F16D022 -:1022300080EA010000F00040704710B500F0E7F8B8 -:10224000097EFC3E00F005B880EA010000F0004085 -:10225000704780EA010000F0004000F01EB912F45F -:102260007F0F04BF0248704780EA010000F015B9F3 -:102270000000C07FC10DD1F19E0206DB4FEA0023B2 -:1022800043F0004323FA02F07047004207D54FEABB -:102290004001B1F1FE4F02D24FF00000704710B57F -:1022A00000F0B5F849922480002070476FEA2000C2 -:1022B0007047000010F0004148BF4042B0FA80F380 -:1022C00010FA03F2C3F19D030BD051EAC35101EBA5 -:1022D0001220530638BF704700F1010008BF20F0FC -:1022E00001007047B0FA80F310FA03F2C3F19D03C6 -:1022F0000AD0D90501EB1220530638BF704700F110 -:10230000010008BF20F00100704700004FF47F0C6F -:102310001CEAD0121EBF1CEAD11392EA0C0F93EAFA -:102320000C0F00F0478090EA010F48BF42F4807222 -:102330004FF0004C4CEA00204CEA012102EB030272 -:10234000A0FB0113A2F50002002918BF43F001030E -:102350005B0028BF4FEA330342EB22425FEA132CB3 -:102360004CEBC2502EBFBCEB436FB2F57C0F7047F5 -:102370004FEA036CBCF1004F08BF20F00100B2F53A -:102380007C0F38BF70470BD582F0FF0212F5803FFB -:10239000C8BF704700F1C040D8BF00F00040704790 -:1023A00000F5000C5FEA4C0C48BF7047B0F1C0402C -:1023B00000F073B890EA010F0CEAD11348BF42F461 -:1023C0008072624538BF634504D280EA010000F0A4 -:1023D0000040704710B500F01AF800BF8900013EB8 -:1023E00000F007B800F009B85FEA410C5FEA1C6C26 -:1023F00008D080EA010000F050B85FEA400C5FEAC4 -:102400001C6CF6D14FF00040A0F5800070470EF133 -:10241000020E2EF0030E5EF8044B244204D44FEA61 -:102420004102B2F17F4F11D84FEA4003B3F17F4F21 -:102430000CD80ED14FEAD07CB2F17F4F0CEB4C0C94 -:102440000CF1020C08BF4CEBD17C04E04FF0080CFF -:1024500001E04FEAD17C0CEB4C0324FA03F404F0C6 -:102460000704B4F1040C06D20EEB840CBDE8104056 -:102470004CF0010C6047DFE80CF0070802024FF057 -:102480000040A0F5800010BD0846420018BFD2F100 -:10249000807288BF00F0004010BDFF2141EAD0509B -:1024A000C0057047000000000000000001020304A6 -:1024B00006070809000000000102030400000000F4 -:1024C000000000002020202020002000505050005C -:1024D000000000005050F850F85050002078C070B4 -:1024E00028F02000C0C810204098180040A0A0404C -:1024F000A8906800302040000000000010204040FC -:1025000040201000402010101020400020A8702013 -:1025100070A82000202020F82020200000000000CB -:1025200060408000000000F8000000000000000093 -:10253000006060000008102040800000708898A8AB -:10254000C88870002060202020207000708808302B -:102550004080F800F8081030088870001030509063 -:10256000F8101000F880F00808887000384080F0FB -:1025700088887000F80810204040400070888870FB -:1025800088887000708888780810E000006060001B -:10259000606000000060600060608000102040808B -:1025A000402010000000F800F80000004020100853 -:1025B0001020400070881020200020007088B8A8EB -:1025C000B880780020508888F8888800F08888F0E3 -:1025D0008888F0007088808080887000F088888803 -:1025E0008888F000F88080F08080F800F88080F023 -:1025F0008080800070888080B8887800888888F81B -:10260000888888007020202020207000381010104A -:10261000109060008890A0C0A0908800808080808A -:102620008080F80088D8A8A8888888008888C8A8EA -:10263000988888007088888888887000F08888F07A -:102640008080800070888888A8906800F08888F072 -:10265000A09088007088807008887000F820202082 -:10266000202020008888888888887000888888884A -:1026700088502000888888A8A8D88800888850209A -:10268000508888008888502020202000F8081020DA -:102690004080F800F0C0C0C0C0C0F0000080402002 -:1026A0001008000078181818181878002070A82052 -:1026B00020202000002040F84020000020100800CA -:1026C000000000000000E010709068008080B0C83A -:1026D00088C8B00000007088808070000808689882 -:1026E0008898680000007088F0807000304840F0E2 -:1026F0004040400000007088887808F08080B0C8B2 -:102700008888880020000020202020001000003051 -:1027100010101060808090A0C0A098006020202041 -:1027200020207000000050A8A8A8A8000000B04811 -:102730004848480000007088888870000000F088D1 -:1027400088F0808000007888887808080000B04809 -:1027500040404000000078807008F0004040F840A1 -:1027600040483000000090909090680000008888F9 -:10277000885020000000A8A8A8A850000000885099 -:102780002050880000008888986808F00000F81041 -:102790002040F800204040804040200020202000C1 -:1027A000202020002010100810102000000040A859 -:1027B0001000000000000000000000000000000009 -:1027C000001010101010000010000000006C4848AD -:1027D0000000000000000000001414287C287C2861 -:1027E0005050000000103840403848701010000071 -:1027F000002050200C700814080000000000001891 -:102800002020544834000000001010101000000078 -:102810000000000000080810101010101008080038 -:1028200000202010101010101020200000107C102C -:1028300028280000000000000000101010FC1010FC -:102840001000000000000000000000181030200000 -:1028500000000000007C00000000000000000000FC -:1028600000000030300000000004040808101020B0 -:1028700020400000003844444444444438000000F0 -:1028800000301010101010107C00000000384404BC -:10289000081020447C00000000384404180404445C -:1028A00038000000000C141424447C040C000000C8 -:1028B000003C20203804044438000000001C204064 -:1028C0007844444438000000007C440408080810A0 -:1028D00010000000003844443844444438000000EC -:1028E00000384444443C04087000000000000030FC -:1028F0003000003030000000000000181800001800 -:102900003020000000000C10608060100C000000FF -:10291000000000007C007C00000000000000C020DF -:1029200018041820C000000000001824040810003B -:10293000300000003844444C54544C4044380000AB -:102940000030102828287C44EC00000000F84444A3 -:1029500078444444F8000000003C44404040404477 -:102960003800000000F0484444444448F0000000AF -:1029700000FC445070504044FC000000007C2028C3 -:102980003828202070000000003C4440404C444463 -:102990003800000000EC44447C444444EC00000057 -:1029A000007C1010101010107C000000003C080883 -:1029B000084848483000000000EC44485070484443 -:1029C000E400000000702020202024247C0000006F -:1029D00000EC6C6C54544444EC00000000EC646463 -:1029E0005454544CEC0000000038444444444444E3 -:1029F00038000000007824242438202070000000D3 -:102A00000038444444444444381C000000F8444422 -:102A100044784844E000000000344C40380404642A -:102A20005800000000FC901010101010380000003A -:102A300000EC4444444444443800000000EC444466 -:102A4000282828101000000000EC4444545454542A -:102A50002800000000C4442810102844C4000000CE -:102A600000EC44282810101038000000007C4408B6 -:102A7000101020447C00000000382020202020205E -:102A800020203800004020202010100808080000F6 -:102A9000003808080808080808083800001010283E -:102AA00044000000000000000000000000000000E2 -:102AB000000000FC00100800000000000000000002 -:102AC00000000038443C44443C00000000C0405832 -:102AD00064444444F80000000000003C444040448A -:102AE00038000000000C04344C4444443C00000016 -:102AF00000000038447C40403C000000001C207C6A -:102B0000202020207C000000000000344C4444447D -:102B10003C04380000C0405864444444EC000000C9 -:102B200000100070101010107C00000000100078E1 -:102B3000080808080808700000C0405C4870504849 -:102B4000DC00000000301010101010107C0000009D -:102B5000000000E854545454FC000000000000D869 -:102B600064444444EC000000000000384444444401 -:102B700038000000000000D8644444447840E0007D -:102B8000000000344C4444443C040C000000006C41 -:102B9000302020207C0000000000003C4438044429 -:102BA000780000000000207C202020201C00000075 -:102BB000000000CC4444444C34000000000000EC11 -:102BC0004444282810000000000000EC44545454F1 -:102BD00028000000000000CC48303048CC00000045 -:102BE000000000EC44242818101078000000007C3D -:102BF000481020447C000000000810101010201025 -:102C0000101008000010101010101010101000000C -:102C100000201010101008101010200000000000FC -:102C20000024580000000000000000000000000028 -:102C30000000000000000000000000183C3C3C18B0 -:102C40001818001818000000006666666624000068 -:102C50000000000000000000000000006C6CFE6C32 -:102C60006C6CFE6C6C0000001818187CC6C2C07C2E -:102C70000686C67C181800000000000000C2C60CC2 -:102C8000183060C686000000000000386C6C387692 -:102C9000DCCCCCCC7600000000303030306000005E -:102CA00000000000000000000000000C1830303070 -:102CB000303030180C00000000000030180C0C0CF4 -:102CC0000C0C0C1830000000000000000000663CF6 -:102CD000FF3C660000000000000000000000181823 -:102CE0007E18180000000000000000000000000036 -:102CF000000018181830000000000000000000005C -:102D0000FE000000000000000000000000000000C5 -:102D10000000001818000000000000000002060C6F -:102D2000183060C0800000000000007CC6C6CED60F -:102D3000D6E6C6C67C0000000000001838781818D7 -:102D4000181818187E0000000000007CC6060C1839 -:102D50003060C0C6FE0000000000007CC606063CD5 -:102D6000060606C67C0000000000000C1C3C6CCC73 -:102D7000FE0C0C0C1E000000000000FEC0C0C0FCD9 -:102D80000E0606C67C0000000000003860C0C0FCD3 -:102D9000C6C6C6C67C000000000000FEC606060CC3 -:102DA00018303030300000000000007CC6C6C67C01 -:102DB000C6C6C6C67C0000000000007CC6C6C67E33 -:102DC0000606060C7800000000000000001818003D -:102DD0000000181800000000000000000018180093 -:102DE000000018183000000000000000060C183029 -:102DF0006030180C0600000000000000000000FE1B -:102E00000000FE0000000000000000006030180C10 -:102E1000060C1830600000000000007CC6C60C18CC -:102E20001818001818000000000000007CC6C6DE5C -:102E3000DEDEDCC07C00000000000010386CC6C67E -:102E4000FEC6C6C6C6000000000000FC6666667CC2 -:102E500066666666FC0000000000003C66C2C0C0FA -:102E6000C0C0C2663C000000000000F86C666666E8 -:102E70006666666CF8000000000000FE6662687816 -:102E800068606266FE000000000000FE666268780E -:102E900068606060F00000000000003C66C2C0C0D6 -:102EA000DEC6C6663A000000000000C6C6C6C6FE02 -:102EB000C6C6C6C6C60000000000003C1818181898 -:102EC000181818183C0000000000001E0C0C0C0C18 -:102ED0000CCCCCCC78000000000000E6666C6C786E -:102EE000786C6666E6000000000000F060606060DC -:102EF00060606266FE000000000000C6EEFEFED6C6 -:102F0000C6C6C6C6C6000000000000C6E6F6FEDE65 -:102F1000CEC6C6C6C6000000000000386CC6C6C6D5 -:102F2000C6C6C66C38000000000000FC6666667C01 -:102F300060606060F00000000000007CC6C6C6C68D -:102F4000C6C6D6DE7C0C0E00000000FC6666667C01 -:102F50006C666666E60000000000007CC6C660384D -:102F60000C06C6C67C0000000000007E7E5A1818C1 -:102F7000181818183C000000000000C6C6C6C6C6D7 -:102F8000C6C6C6C67C000000000000C6C6C6C6C6CF -:102F9000C6C66C3810000000000000C6C6C6C6C613 -:102FA000D6D6FE6C6C000000000000C6C66C6C3803 -:102FB000386C6CC6C6000000000000666666663CA1 -:102FC000181818183C000000000000FEC6860C18F7 -:102FD0003060C2C6FE0000000000003C30303030DF -:102FE000303030303C0000000000000080C0E07055 -:102FF000381C0E06020000000000003C0C0C0C0CFB -:103000000C0C0C0C3C0000001038386CC6000000A2 -:1030100000000000000000000000000000000000B0 -:10302000000000000000FF003030301800000000F9 -:103030000000000000000000000000000000780C0C -:103040007CCCCCCC76000000000000E06060786CA6 -:1030500066666666DC0000000000000000007CC6BA -:10306000C0C0C0C67C0000000000001C0C0C3C6C02 -:10307000CCCCCCCC760000000000000000007CC668 -:10308000FEC0C0C67C000000000000386C6460F028 -:1030900060606060F000000000000000000076CC7E -:1030A000CCCCCCCC7C0CCC78000000E060606C76A2 -:1030B00066666666E6000000000000181800381812 -:1030C000181818183C0000000000000606000E0644 -:1030D000060606060666663C000000E06060666C58 -:1030E00078786C66E60000000000003818181818A0 -:1030F000181818183C000000000000000000ECFE4A -:10310000D6D6D6D6D6000000000000000000DC664F -:1031100066666666660000000000000000007CC66F -:10312000C6C6C6C67C000000000000000000DC66C9 -:10313000666666667C6060F000000000000076CC89 -:10314000CCCCCCCC7C0C0C1E000000000000DC764B -:1031500062606060F00000000000000000007CC6BB -:1031600060380CC67C000000000000103030FC30DD -:10317000303030361C000000000000000000CCCCD5 -:10318000CCCCCCCC760000000000000000006666CD -:103190006666663C18000000000000000000C6C61D -:1031A000C6D6D6FE6C000000000000000000C66C11 -:1031B0003838386CC6000000000000000000C6C6A9 -:1031C000C6C6C6C67E060CF8000000000000FECC95 -:1031D000183060C6FE0000000000000E18181870BD -:1031E000181818180E000000000000181818180011 -:1031F0001818181818000000000000701818180E91 -:10320000181818187000000000000076DC0000009C -:10321000000000000000000038320008000000201C -:103220001C00000028010008543200081C00002087 -:10323000FC0E000044010008010000001000000026 -:10324000000000000024F400000000000000000066 -:04325000000000007A +:10198000FEE7FEE72DE9F0470C460546DDF820A00E +:1019900098469146571BA3EB040605D0002E1BD199 +:1019A000002F25DD4E461FE0002E09DD474605E0ED +:1019B000F9B2E8B2524600F08DF97F1EA742F7DC7B +:1019C000002E09DA464605E0F1B2E8B2524600F0D0 +:1019D00081F9761CA642F7DBBDE8F087E1B2F0B2F0 +:1019E000524600F077F9761EAE42F7DC002FF3DAAC +:1019F0004E4605E0E1B2F0B2524600F06BF9761CBB +:101A0000AE42F7DBE8E700003CB5A3F12005059CFA +:101A10005E2D26D8082A0DD00C2A15D0102A20D1E8 +:101A2000104A02EB0312A2F50072CDE90024102344 +:101A3000082214E00C4A02EBC302A2F58072CDE941 +:101A40000024082305220AE003EB4302074B03EBC3 +:101A50008202A2F5C072CDE900240C23062200F018 +:101A600096F83CBDE02C0008742500086C2800089E +:101A70002DE9F047DFF860904FF00008454609F582 +:101A8000806A2946002000F0D4F800240AEBC5172C +:101A900009EBC516395D305D884210D0B8F1000FF2 +:101AA00005D14FF001082946204600F0C2F8305D0C +:101AB00000F008F9305D38550020305501E04FF056 +:101AC0000008641CE4B2802CE4D36D1CEDB2082D38 +:101AD000D7D3BDE8F0870000B800002010B5AE20D5 +:101AE00000F0E8F8D52000F0E5F8502000F0E2F82A +:101AF000A82000F0DFF83F2000F0DCF8D32000F051 +:101B0000D9F8002000F0D6F8402000F0D3F88D205E +:101B100000F0D0F8142000F0CDF8202000F0CAF832 +:101B2000022000F0C7F8A12000F0C4F8C02000F0A7 +:101B3000C1F8D92000F0BEF8F12000F0BBF8DB209E +:101B400000F0B8F8302000F0B5F8A42000F0B2F8AA +:101B5000A62000F0AFF8AF2000F0ACF8BDE81040D0 +:101B60000020AFF3008070B5064600242146002017 +:101B700000F05FF80025304600F0A4F86D1CEDB2CF +:101B8000802DF8D3641CE4B2082CEFD370BD2DE98E +:101B9000FF4F0026DDE90DBA994690463746354697 +:101BA00043E000243AE01BF807008021F14008429E +:101BB00025D0BAF1060F1DD2DFE80AF0030B0B03A4 +:101BC0000313019800222844C1B200982044C0B2F7 +:101BD0000EE0019801222844C1B200982044C0B20E +:101BE00006E0019802222844C1B200982044C0B205 +:101BF00000F070F8761CF6B2082E0BD00CE05FEA0D +:101C00000A00DED00128DCD00228F3D0BAF1040F9C +:101C1000F0D1DEE700267F1C641CE4B24445C2D349 +:101C20000EB100267F1C6D1CEDB24D45B9D3BDE849 +:101C3000FF8F10B50446C1F1B700C0B200F03AF80A +:101C4000102040EA141000F035F804F00F00BDE851 +:101C5000104000F02FB82DE9F8430546DDF820903C +:101C60001F4690460E461046082A04D00C2804D081 +:101C7000102A1AD103E0062417E0072415E00824EF +:101C800013E02819802806D306EB0800C6B2402EC0 +:101C900000D300260025424631462846CDF8009064 +:101CA000FFF7B2FE2819C5B27F1C3B78002BE8D1A4 +:101CB000BDE8F88301B56A46012300217820FFF7CB +:101CC0009BFD08BD01B56A46012340217820FFF73E +:101CD00093FD08BD10B5802816D2402914D2CC0837 +:101CE00001F007018023CB40084901EBC414215CBB +:101CF00022B1012A04D0022A05D103E0994302E06F +:101D0000194300E05940215410BD0000B8000020E4 +:101D100070477047FEF778BE30B58FB0282168460F +:101D2000FEF702FB14210AA8FEF7FEFA01210804BF +:101D3000CDE900100024029402250491CDE907505A +:101D40004FF4E01009906846FEF7D2FF08B172B672 +:101D5000FEE70F20CDE90A054FF48060CDE90C4085 +:101D600002210AA80E94FEF7E7FE002801D072B601 +:101D7000FEE70FB030BD70470148FFF749BA0000D9 +:101D800070000020F0B50268164B174C174D4FF04D +:101D90008047984205D0B84203D0A04201D0A84263 +:101DA00003D122F070064A683243984205D0B84207 +:101DB00003D0A04201D0A84203D122F44074CA68E3 +:101DC00022434C6922F08002224302608A68C26288 +:101DD0000A688262984201D1096901630121416167 +:101DE000F0BD0000002C014000040040000800404D +:101DF00010B501F01F030121046A99408C4304626D +:101E0000016A9A401143016210BD10B5846842EA2C +:101E1000032224F47F440A432243826010BD826877 +:101E200022F070020A4342F007018160704700000F +:101E300030B5026A22F001020262026A43688469D4 +:101E400024F073050C682C4322F002058A682A43AB +:101E50000A4DA8420BD122F00805CA6823F440734A +:101E60002A434D6922F004021D438B692B434360D2 +:101E7000846149684163026230BD0000002C01406A +:101E800030B5026A22F010020262026A4368846975 +:101E90000D6824F4E64444EA05248D6822F020020B +:101EA00042EA05120B4DA8420ED1CD6822F0800205 +:101EB00042EA05124D6923F4406343EA85038D69C4 +:101EC00022F0400243EA85034360846149688163EC +:101ED000026230BD002C014030B5026A22F48072EB +:101EE0000262036A4268C46923F4007324F0730534 +:101EF0000C682C438D6843EA05230C4DA8420ED193 +:101F0000CD6823F4006343EA05234D6922F440526F +:101F100042EA05128D6923F4806342EA05124260A9 +:101F2000C4614968C163036230BD0000002C0140F8 +:101F300030B5026A22F480520262046A4268C369C0 +:101F40000D6823F4E64343EA05238D6824F4005426 +:101F500044EA0534064DA84204D14D6922F480427A +:101F600042EA85124260C36149680164046230BD7F +:101F7000002C014010B5036A046A24F001040462D5 +:101F8000846924F0F00444EA021423F00A020A43AC +:101F90008461026210BD10B5036A23F0100303626E +:101FA0008369046A23F4704343EA023224F0A003F5 +:101FB00043EA01118261016210BDFEE70907090EC3 +:101FC000002804DB00F1E02080F80014704700F0E6 +:101FD0000F0000F1E02080F8141D704710B5124C7E +:101FE000A06810B1207828B110E00021084600F068 +:101FF000B9F817E001202070FEF776FBA2689188FF +:10200000084460609178108800F0ACF820780128CE +:1020100008D1FEF769FB6168884203D9002020706F +:1020200000F004F8207810BD1000002010B5084C16 +:10203000A06800280AD0816821B1A160BDE81040E5 +:10204000FEF7C6B8FEF7C4F80020A06010BD00007F +:1020500010000020FEF7E0FCFFF75EFEFFF7DAFB62 +:102060000D480C494FF4804201600C494160002149 +:102070008160C0E9031241618161C1610162FEF7C3 +:1020800039FB08B172B6FEE7FFF732FC00F008F842 +:10209000FEE70000005400401C000020A086010064 +:1020A00086B0002637463446FFF718FD082126483B +:1020B000FFF71AFA002208212448FEF70FFB01253A +:1020C000002123A3102208460095FFF7C4FD0A2231 +:1020D0001523142110460095FFF754FC14223123D8 +:1020E000322110460095FFF74DFC32231E2219467F +:1020F00014200095FFF746FC1E231A46194632208D +:102100000095FFF73FFC641CA4B23A4612A101A857 +:10211000FEF786F801AB0822382100200095FFF772 +:102120009AFDFFF7A5FCFFF759FFFEF7DDFAB04275 +:10213000C6D94FF400410A4806F57A76FEF7C6FA8A +:1021400027460024BCE70000700000200008014082 +:1021500068656C6C6F0000004650533A25640000BF +:10216000000C01402DE9F0410D4E0546B6FBF5F09F +:102170007705401EF862084600F010F9094900F0A2 +:1021800013F80446B6FBF5F0401E00F0EFF82146C8 +:1021900000F018F900F0CAF8F863BDE8F08100001B +:1021A00000A24A040000C8424FF47F0C1CEAD0127F +:1021B0001EBF1CEAD11392EA0C0F93EA0C0F00F039 +:1021C000858090EA010F48BF42F4807240F4000C11 +:1021D00041F400002CF07F4120F07F4000B58142A7 +:1021E000A2EB03020FF2081CACEB504EC0F1000052 +:1021F0009EF800E04FEA4E0E00FB0EFC38BF49008F +:102200004FEA2C1C02F5FA020CFB0EF34FEACE1E2D +:102210004FEA112C4FEAC1210EEB635E42EB2242E2 +:102220000EFB0CFC4FEA1C5300FB03114FEA112C70 +:102230004FEA01310EFB0CFC4FEADC4C00FB0C11A9 +:10224000C14228BF09184CEB03335DF804EB10EBD7 +:10225000410143EBC250B2F57C0F38BF704729D51E +:1022600012F0F00F1CBF00F1C04000F000407047BA +:10227000008182838485868788898B8C8D8E8F915F +:102280009293959697999A9C9D9FA0A2A3A5A7A883 +:10229000AAACAEB0B2B3B5B7B9BCBEC0C2C5C7C9AF +:1022A000CCCED1D4D7D9DCDFE2E6E9ECF0F3F7FA13 +:1022B000FE0000004FEA400C0CF1807CBCF17E4F28 +:1022C00028BF7047B0F1C04000F043B990EA010F59 +:1022D0000CEAD11348BF42F48072624538BF6345AF +:1022E00007D213F47F0F16D080EA010000F00040FF +:1022F000704710B500F0E7F8097EFC3E00F005B825 +:1023000080EA010000F00040704780EA010000F020 +:10231000004000F01EB912F47F0F04BF024870475E +:1023200080EA010000F015B90000C07FC10DD1F1B5 +:102330009E0206DB4FEA002343F0004323FA02F03B +:102340007047004207D54FEA4001B1F1FE4F02D27B +:102350004FF00000704710B500F0B5F849922480A6 +:10236000002070476FEA20007047000010F0004125 +:1023700048BF4042B0FA80F310FA03F2C3F19D0364 +:102380000BD051EAC35101EB1220530638BF7047FE +:1023900000F1010008BF20F001007047B0FA80F39F +:1023A00010FA03F2C3F19D030AD0D90501EB122004 +:1023B000530638BF704700F1010008BF20F001004C +:1023C000704700004FF47F0C1CEAD0121EBF1CEABD +:1023D000D11392EA0C0F93EA0C0F00F0478090EAB9 +:1023E000010F48BF42F480724FF0004C4CEA0020CD +:1023F0004CEA012102EB0302A0FB0113A2F500024B +:10240000002918BF43F001035B0028BF4FEA3303E4 +:1024100042EB22425FEA132C4CEBC2502EBFBCEBC6 +:10242000436FB2F57C0F70474FEA036CBCF1004F6D +:1024300008BF20F00100B2F57C0F38BF70470BD504 +:1024400082F0FF0212F5803FC8BF704700F1C04024 +:10245000D8BF00F00040704700F5000C5FEA4C0C5C +:1024600048BF7047B0F1C04000F073B890EA010F68 +:102470000CEAD11348BF42F48072624538BF63450D +:1024800004D280EA010000F00040704710B500F06F +:102490001AF800BF8900013E00F007B800F009B843 +:1024A0005FEA410C5FEA1C6C08D080EA010000F092 +:1024B00050B85FEA400C5FEA1C6CF6D14FF0004068 +:1024C000A0F5800070470EF1020E2EF0030E5EF8AC +:1024D000044B244204D44FEA4102B2F17F4F11D899 +:1024E0004FEA4003B3F17F4F0CD80ED14FEAD07CB6 +:1024F000B2F17F4F0CEB4C0C0CF1020C08BF4CEB13 +:10250000D17C04E04FF0080C01E04FEAD17C0CEBE9 +:102510004C0324FA03F404F00704B4F1040C06D2CB +:102520000EEB840CBDE810404CF0010C6047DFE876 +:102530000CF0070802024FF00040A0F5800010BD2B +:102540000846420018BFD2F1807288BF00F00040F8 +:1025500010BDFF2141EAD050C005704700000000C7 +:102560000000000001020304060708090000000043 +:1025700001020304000000000000000020202020D1 +:102580002000200050505000000000005050F85033 +:10259000F85050002078C07028F02000C0C81020EB +:1025A0004098180040A0A040A8906800302040004B +:1025B000000000001020404040201000402010107B +:1025C0001020400020A8702070A82000202020F8B3 +:1025D000202020000000000060408000000000F883 +:1025E00000000000000000000060600000081020F3 +:1025F00040800000708898A8C88870002060202063 +:1026000020207000708808304080F800F8081030F2 +:102610000888700010305090F8101000F880F00812 +:1026200008887000384080F088887000F808102012 +:102630004040400070888870888870007088887872 +:102640000810E00000606000606000000060600052 +:102650006060800010204080402010000000F800E2 +:10266000F800000040201008102040007088102062 +:10267000200020007088B8A8B88078002050888892 +:10268000F8888800F08888F08888F000708880805A +:1026900080887000F08888888888F000F88080F052 +:1026A0008080F800F88080F08080800070888080D2 +:1026B000B8887800888888F888888800702020206A +:1026C0002020700038101010109060008890A0C07A +:1026D000A0908800808080808080F80088D8A8A89A +:1026E000888888008888C8A8988888007088888822 +:1026F00088887000F08888F08080800070888888E2 +:10270000A8906800F08888F0A09088007088807099 +:1027100008887000F82020202020200088888888E1 +:10272000888870008888888888502000888888A8D1 +:10273000A8D8880088885020508888008888502031 +:1027400020202000F80810204080F800F0C0C0C011 +:10275000C0C0F00000804020100800007818181851 +:10276000181878002070A82020202000002040F8B1 +:102770004020000020100800000000000000E010D1 +:10278000709068008080B0C888C8B0000000708871 +:102790008080700008086898889868000000708839 +:1027A000F0807000304840F04040400000007088E9 +:1027B000887808F08080B0C88888880020000020D1 +:1027C000202020001000003010101060808090A0A9 +:1027D000C0A098006020202020207000000050A899 +:1027E000A8A8A8000000B048484848000000708829 +:1027F000888870000000F08888F080800000788869 +:10280000887808080000B048404040000000788008 +:102810007008F0004040F8404048300000009090C0 +:102820009090680000008888885020000000A8A8C8 +:10283000A8A8500000008850205088000000888818 +:10284000986808F00000F8102040F8002040408010 +:1028500040402000202020002020200020101008D0 +:1028600010102000000040A8100000000000000030 +:102870000000000000000000001010101010000008 +:1028800010000000006C484800000000000000003C +:10289000001414287C287C28505000000010384078 +:1028A0004038487010100000002050200C700814B0 +:1028B00008000000000000182020544834000000E8 +:1028C00000101010100000000000000000080810A8 +:1028D0001010101010080800002020101010101008 +:1028E0001020200000107C102828000000000000AC +:1028F0000000101010FC101010000000000000007C +:10290000000000181030200000000000007C0000D3 +:102910000000000000000000000000303000000057 +:10292000000404080810102020400000003844442F +:1029300044444444380000000030101010101010BF +:102940007C00000000384404081020447C00000093 +:10295000003844041804044438000000000C141427 +:1029600024447C040C000000003C20203804044473 +:1029700038000000001C2040784444443800000027 +:10298000007C44040808081010000000003844448B +:10299000384444443800000000384444443C0408AF +:1029A00070000000000000303000003030000000F7 +:1029B00000000018180000183020000000000C1063 +:1029C000608060100C000000000000007C007C00B3 +:1029D000000000000000C02018041820C000000003 +:1029E0000000182404081000300000003844444C53 +:1029F00054544C40443800000030102828287C44AF +:102A0000EC00000000F8444478444444F80000001E +:102A1000003C4440404040443800000000F048443E +:102A200044444448F000000000FC445070504044CE +:102A3000FC000000007C20283828202070000000C6 +:102A4000003C4440404C44443800000000EC444406 +:102A50007C444444EC000000007C10101010101066 +:102A60007C000000003C080808484848300000008E +:102A700000EC444850704844E400000000702020FE +:102A8000202024247C00000000EC6C6C545444444E +:102A9000EC00000000EC64645454544CEC00000062 +:102AA000003844444444444438000000007824245E +:102AB000243820207000000000384444444444443A +:102AC000381C000000F8444444784844E00000000A +:102AD00000344C40380404645800000000FC90109E +:102AE000101010103800000000EC444444444444EA +:102AF0003800000000EC4444282828101000000092 +:102B000000EC4444545454542800000000C44428A9 +:102B100010102844C400000000EC442828101010B5 +:102B200038000000007C4408101020447C000000A5 +:102B300000382020202020202020380000402020A5 +:102B400020101008080800000038080808080808C5 +:102B500008083800001010284400000000000000A1 +:102B60000000000000000000000000FC0010080051 +:102B7000000000000000000000000038443C444415 +:102B80003C00000000C0405864444444F800000089 +:102B90000000003C4440404438000000000C043475 +:102BA0004C4444443C00000000000038447C404059 +:102BB0003C000000001C207C202020207C00000025 +:102BC000000000344C4444443C04380000C04058E9 +:102BD00064444444EC000000001000701010101019 +:102BE0007C00000000100078080808080808700041 +:102BF00000C0405C48705048DC00000000301010FD +:102C0000101010107C000000000000E854545454D0 +:102C1000FC000000000000D864444444EC000000C4 +:102C2000000000384444444438000000000000D84C +:102C3000644444447840E000000000344C44444480 +:102C40003C040C000000006C302020207C000000C0 +:102C50000000003C44380444780000000000207C60 +:102C6000202020201C000000000000CC4444444CE4 +:102C700034000000000000EC44442828100000004C +:102C8000000000EC4454545428000000000000CC24 +:102C900048303048CC000000000000EC44242818E4 +:102CA000101078000000007C481020447C000000D8 +:102CB0000008101010102010101008000010101044 +:102CC000101010101010000000201010101008102C +:102CD0001010200000000000002458000000000038 +:102CE00000000000000000000000000000000000E4 +:102CF000000000183C3C3C18181800181800000090 +:102D00000066666666240000000000000000000007 +:102D1000000000006C6CFE6C6C6CFE6C6C000000C3 +:102D20001818187CC6C2C07C0686C67C181800001D +:102D30000000000000C2C60C183060C6860000000B +:102D4000000000386C6C3876DCCCCCCC760000000F +:102D50000030303030600000000000000000000053 +:102D60000000000C18303030303030180C000000FB +:102D700000000030180C0C0C0C0C0C18300000007B +:102D8000000000000000663CFF3C66000000000000 +:102D900000000000000018187E1818000000000055 +:102DA00000000000000000000000181818300000AB +:102DB0000000000000000000FE0000000000000015 +:102DC00000000000000000000000001818000000D3 +:102DD000000000000002060C183060C080000000F7 +:102DE0000000007CC6C6CED6D6E6C6C67C00000073 +:102DF0000000001838781818181818187E000000FD +:102E00000000007CC6060C183060C0C6FE00000042 +:102E10000000007CC606063C060606C67C000000D4 +:102E20000000000C1C3C6CCCFE0C0C0C1E000000C6 +:102E3000000000FEC0C0C0FC0E0606C67C000000FC +:102E40000000003860C0C0FCC6C6C6C67C000000DA +:102E5000000000FEC606060C1830303030000000BE +:102E60000000007CC6C6C67CC6C6C6C67C00000084 +:102E70000000007CC6C6C67E0606060C7800000070 +:102E800000000000001818000000181800000000E2 +:102E900000000000001818000000181830000000A2 +:102EA00000000000060C18306030180C060000000E +:102EB00000000000000000FE0000FE000000000016 +:102EC000000000006030180C060C18306000000094 +:102ED0000000007CC6C60C18181800181800000066 +:102EE000000000007CC6C6DEDEDEDCC07C00000028 +:102EF00000000010386CC6C6FEC6C6C6C60000007C +:102F0000000000FC6666667C66666666FC00000083 +:102F10000000003C66C2C0C0C0C0C2663C000000E9 +:102F2000000000F86C6666666666666CF800000075 +:102F3000000000FE6662687868606266FE0000005D +:102F4000000000FE6662687868606060F000000063 +:102F50000000003C66C2C0C0DEC6C6663A00000083 +:102F6000000000C6C6C6C6FEC6C6C6C6C60000006D +:102F70000000003C18181818181818183C00000019 +:102F80000000001E0C0C0C0C0CCCCCCC780000000B +:102F9000000000E6666C6C78786C6666E6000000FF +:102FA000000000F06060606060606266FE0000002B +:102FB000000000C6EEFEFED6C6C6C6C6C6000000AD +:102FC000000000C6E6F6FEDECEC6C6C6C60000009D +:102FD000000000386CC6C6C6C6C6C66C3800000005 +:102FE000000000FC6666667C60606060F0000000C7 +:102FF0000000007CC6C6C6C6C6C6D6DE7C0C0E0067 +:10300000000000FC6666667C6C666666E600000092 +:103010000000007CC6C660380C06C6C67C000000F6 +:103020000000007E7E5A1818181818183C0000007E +:10303000000000C6C6C6C6C6C6C6C6C67C0000001E +:10304000000000C6C6C6C6C6C6C66C381000000062 +:10305000000000C6C6C6C6C6D6D6FE6C6C00000010 +:10306000000000C6C66C6C38386C6CC6C600000028 +:10307000000000666666663C181818183C000000E0 +:10308000000000FEC6860C183060C2C6FE000000BC +:103090000000003C30303030303030303C00000038 +:1030A0000000000080C0E070381C0E060200000026 +:1030B0000000003C0C0C0C0C0C0C0C0C3C00000038 +:1030C0001038386CC600000000000000000000004E +:1030D0000000000000000000000000000000FF00F1 +:1030E0003030301800000000000000000000000038 +:1030F000000000000000780C7CCCCCCC76000000F6 +:10310000000000E06060786C66666666DC000000C7 +:103110000000000000007CC6C0C0C0C67C000000EB +:103120000000001C0C0C3C6CCCCCCCCC760000001D +:103130000000000000007CC6FEC0C0C67C0000008D +:10314000000000386C6460F060606060F0000000B7 +:1031500000000000000076CCCCCCCCCC7C0CCC7831 +:10316000000000E060606C7666666666E60000005F +:103170000000001818003818181818183C00000033 +:103180000000000606000E06060606060666663CF9 +:10319000000000E06060666C78786C66E600000015 +:1031A0000000003818181818181818183C000000EB +:1031B000000000000000ECFED6D6D6D6D6000000F7 +:1031C000000000000000DC666666666666000000BF +:1031D0000000000000007CC6C6C6C6C67C00000019 +:1031E000000000000000DC66666666667C6060F0D9 +:1031F00000000000000076CCCCCCCCCC7C0C0C1EAB +:10320000000000000000DC7662606060F0000000FA +:103210000000000000007CC660380CC67C00000086 +:10322000000000103030FC30303030361C00000020 +:10323000000000000000CCCCCCCCCCCC7600000050 +:1032400000000000000066666666663C180000002C +:10325000000000000000C6C6C6D6D6FE6C00000006 +:10326000000000000000C66C3838386CC600000052 +:10327000000000000000C6C6C6C6C6C67E060CF822 +:10328000000000000000FECC183060C6FE00000008 +:103290000000000E18181870181818180E000000FA +:1032A0000000001818181800181818181800000046 +:1032B000000000701818180E181818187000000078 +:1032C00000000076DC0000000000000000000000AC +:1032D000F0320008000000201C0000002801000857 +:1032E0000C3300081C000020FC0E00004401000804 +:1032F0000100000010000000000000000024F400A5 +:0C330000000000000000000000000000C1 :04000005080000ED02 :00000001FF diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.htm b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.htm index 2140d7d..c15b030 100644 --- a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.htm +++ b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.htm @@ -3,7 +3,7 @@ Static Call Graph - [f103c8t6_KEIL\f103c8t6_KEIL.axf]

Static Call Graph for image f103c8t6_KEIL\f103c8t6_KEIL.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Wed Apr 20 16:43:35 2022 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Wed Apr 20 18:39:59 2022

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

Call chain for Maximum Stack Depth:

@@ -104,9 +104,9 @@ Global Symbols

[Calls]
  • >>   __rt_entry
-

__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

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

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

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

__scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)

[Calls]

  • >>   __scatterload_copy @@ -114,7 +114,7 @@ Global Symbols
    [Called By]
    • >>   __scatterload_copy
    -

    __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) +

    __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

    _printf_d (Thumb, 0 bytes, Stack size unknown bytes, _printf_d.o(.ARM.Collect$$_printf_percent$$00000009))

    [Stack]

    • Max Depth = 56 + Unknown Stack Size @@ -127,80 +127,80 @@ Global Symbols

      [Called By]
      • >>   __printf
      -

      _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017)) +

      _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))

      __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))

      [Called By]

      • >>   __rt_entry_li
      -

      __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) +

      __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) -

      __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) +

      __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) -

      __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) +

      __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) -

      __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) +

      __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) -

      __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) +

      __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) -

      __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) +

      __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) -

      __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) +

      __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) -

      __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) +

      __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) -

      __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) +

      __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) -

      __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) +

      __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) -

      __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) +

      __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) -

      __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) +

      __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) -

      __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) +

      __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) -

      __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) +

      __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) -

      __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) +

      __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) -

      __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) +

      __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) -

      __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) +

      __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) -

      __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) +

      __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) -

      __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) +

      __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) -

      __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) +

      __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) -

      __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) +

      __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

      __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))

      [Called By]

      • >>   __rt_exit_ls
      -

      __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) +

      __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) -

      __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) +

      __rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) -

      __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) +

      __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)) -

      __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) +

      __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)) -

      __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) +

      __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)) -

      __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) +

      __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) -

      __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) +

      __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)) -

      __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)) +

      __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

      __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))

      [Called By]

      • >>   __scatterload_rt2
      • >>   __main
      -

      __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) +

      __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

      __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))

      [Stack]

      • Max Depth = 8 + Unknown Stack Size @@ -213,7 +213,7 @@ Global Symbols

        [Calls]
        • >>   __rt_lib_init
        -

        __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) +

        __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))

        __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))

        [Stack]

        • Max Depth = 224 + Unknown Stack Size @@ -223,7 +223,7 @@ Global Symbols
        • >>   exit
        -

        __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) +

        __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

        __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))

        [Called By]

        • >>   exit @@ -233,7 +233,7 @@ Global Symbols

          [Calls]
          • >>   __rt_lib_shutdown
          -

          __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) +

          __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

          __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))

          [Calls]

          • >>   _sys_exit @@ -381,7 +381,7 @@ Global Symbols

          [Calls]
          • >>   __rt_heap_descriptor
          -
          [Called By]
          • >>   delhead +
            [Called By]
            • >>   delhead

            __2sprintf (Thumb, 34 bytes, Stack size 32 bytes, noretval__2sprintf.o(.text)) @@ -391,7 +391,7 @@ Global Symbols
            [Calls]

            • >>   _sputc
            • >>   _printf_char_common
            -
            [Called By]
            • >>   mymain +
              [Called By]
              • >>   mymain

              __printf (Thumb, 104 bytes, Stack size 24 bytes, __printf.o(.text)) @@ -414,17 +414,17 @@ Global Symbols

              __aeabi_memclr4 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))

              [Stack]

              • Max Depth = 4
              • Call Chain = __aeabi_memclr4
              -
              [Called By]
              • >>   SystemClock_Config +
                [Called By]
                • >>   SystemClock_Config
                • >>   MX_TIM2_Init
                -

                __aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) +

                __aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) -

                __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) +

                __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) -

                _memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) +

                _memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) -

                __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

                __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

                __rt_heap_escrow (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) @@ -454,19 +454,19 @@ Global Symbols


              [Address Reference Count : 1]
              • noretval__2sprintf.o(.text)
              -

              __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

              __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

              __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))

              [Called By]

              • >>   __user_setup_stackheap
              -

              __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

              __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) -

              __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

              __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

              __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

              __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

              __semihosting_library_function (Thumb, 0 bytes, Stack size 8 bytes, indicate_semi.o(.text), UNUSED) +

              __semihosting_library_function (Thumb, 0 bytes, Stack size 8 bytes, indicate_semi.o(.text), UNUSED)

              __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

              [Stack]

              • Max Depth = 8 + Unknown Stack Size @@ -509,12 +509,12 @@ Global Symbols
              • >>   MX_GPIO_Init
              -

              HAL_GPIO_TogglePin (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin)) -

              [Called By]

              • >>   mymain +

                HAL_GPIO_TogglePin (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin)) +

                [Called By]

                • >>   mymain

                HAL_GPIO_WritePin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)) -

                [Called By]

                • >>   mymain +

                  [Called By]
                  • >>   mymain
                  • >>   MX_GPIO_Init
                  @@ -524,10 +524,10 @@ Global Symbols
                • >>   I2C_WaitOnMasterAddressFlagUntilTimeout
                • >>   I2C_WaitOnFlagUntilTimeout
                • >>   I2C_WaitOnBTFFlagUntilTimeout -
                • >>   mymain +
                • >>   mymain
                • >>   HAL_RCC_OscConfig
                • >>   HAL_RCC_ClockConfig -
                • >>   buzzer_play_server +
                • >>   buzzer_play_server

                HAL_I2C_Init (Thumb, 376 bytes, Stack size 16 bytes, stm32f1xx_hal_i2c.o(i.HAL_I2C_Init)) @@ -559,7 +559,7 @@ Global Symbols
                [Called By]

                • >>   HAL_I2C_Init
                -

                HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick)) +

                HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick))

                [Called By]

                • >>   SysTick_Handler
                @@ -613,7 +613,7 @@ Global Symbols
              • >>   HAL_RCC_GetSysClockFreq
              • >>   HAL_InitTick
              -
              [Called By]
              • >>   SystemClock_Config +
                [Called By]
                • >>   SystemClock_Config

                HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)) @@ -631,7 +631,7 @@ Global Symbols


              [Calls]
              • >>   HAL_GetTick
              -
              [Called By]
              • >>   SystemClock_Config +
                [Called By]
                • >>   SystemClock_Config

                HAL_SYSTICK_Config (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)) @@ -748,7 +748,7 @@ Global Symbols


              [Calls]
              • >>   TIM_CCxChannelCmd
              -
              [Called By]
              • >>   mymain +
                [Called By]
                • >>   mymain

                HAL_TIM_PeriodElapsedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_PeriodElapsedCallback)) @@ -771,8 +771,8 @@ Global Symbols


              [Calls]
              • >>   HAL_I2C_Mem_Write
              -
              [Called By]
              • >>   OLED_WrDat -
              • >>   OLED_WrCmd +
                [Called By]
                • >>   OLED_WrDat +
                • >>   OLED_WrCmd

                MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.MemManage_Handler)) @@ -789,83 +789,92 @@ Global Symbols


              [Address Reference Count : 1]
              • startup_stm32f103xb.o(RESET)
              -

              OLED_Ascii (Thumb, 92 bytes, Stack size 20 bytes, oled.o(i.OLED_Ascii)) +

              OLED_AL (Thumb, 130 bytes, Stack size 32 bytes, oled.o(i.OLED_AL)) +

              [Stack]

              • Max Depth = 40
              • Call Chain = OLED_AL ⇒ OLED_set_dot +
              +
              [Calls]
              • >>   OLED_set_dot +
              +
              [Called By]
              • >>   mymain +
              + +

              OLED_Ascii (Thumb, 92 bytes, Stack size 20 bytes, oled.o(i.OLED_Ascii))

              [Stack]

              • Max Depth = 80
              • Call Chain = OLED_Ascii ⇒ OLED_Pix ⇒ OLED_set_dot
              -
              [Calls]
              • >>   OLED_Pix +
                [Calls]
                • >>   OLED_Pix
                -
                [Called By]
                • >>   OLED_Str +
                  [Called By]
                  • >>   OLED_Str
                  -

                  OLED_Cache_to_hardware (Thumb, 102 bytes, Stack size 32 bytes, oled.o(i.OLED_Cache_to_hardware)) +

                  OLED_Cache_to_hardware (Thumb, 102 bytes, Stack size 32 bytes, oled.o(i.OLED_Cache_to_hardware))

                  [Stack]

                  • Max Depth = 200
                  • Call Chain = OLED_Cache_to_hardware ⇒ OLED_Set_Pos ⇒ OLED_WrCmd ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
                  -
                  [Calls]
                  • >>   OLED_WrDat -
                  • >>   OLED_Set_Pos +
                    [Calls]
                    • >>   OLED_WrDat +
                    • >>   OLED_Set_Pos
                    -
                    [Called By]
                    • >>   mymain +
                      [Called By]
                      • >>   mymain
                      -

                      OLED_Init (Thumb, 138 bytes, Stack size 8 bytes, oled.o(i.OLED_Init)) +

                      OLED_Init (Thumb, 138 bytes, Stack size 8 bytes, oled.o(i.OLED_Init))

                      [Stack]

                      • Max Depth = 168
                      • Call Chain = OLED_Init ⇒ OLED_WrCmd ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
                      -
                      [Calls]
                      • >>   OLED_WrCmd +
                        [Calls]
                        • >>   OLED_WrCmd
                        -
                        [Called By]
                        • >>   mymain +
                          [Called By]
                          • >>   mymain
                          -

                          OLED_Init_Display_Buffer (Thumb, 40 bytes, Stack size 16 bytes, oled.o(i.OLED_Init_Display_Buffer), UNUSED) -

                          [Calls]

                          • >>   OLED_WrDat -
                          • >>   OLED_Set_Pos +

                            OLED_Init_Display_Buffer (Thumb, 40 bytes, Stack size 16 bytes, oled.o(i.OLED_Init_Display_Buffer), UNUSED) +

                            [Calls]

                            • >>   OLED_WrDat +
                            • >>   OLED_Set_Pos
                            -

                            OLED_Pix (Thumb, 164 bytes, Stack size 52 bytes, oled.o(i.OLED_Pix)) +

                            OLED_Pix (Thumb, 164 bytes, Stack size 52 bytes, oled.o(i.OLED_Pix))

                            [Stack]

                            • Max Depth = 60
                            • Call Chain = OLED_Pix ⇒ OLED_set_dot
                            -
                            [Calls]
                            • >>   OLED_set_dot +
                              [Calls]
                              • >>   OLED_set_dot
                              -
                              [Called By]
                              • >>   OLED_Ascii +
                                [Called By]
                                • >>   OLED_Ascii
                                -

                                OLED_Set_Pos (Thumb, 36 bytes, Stack size 8 bytes, oled.o(i.OLED_Set_Pos)) +

                                OLED_Set_Pos (Thumb, 36 bytes, Stack size 8 bytes, oled.o(i.OLED_Set_Pos))

                                [Stack]

                                • Max Depth = 168
                                • Call Chain = OLED_Set_Pos ⇒ OLED_WrCmd ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
                                -
                                [Calls]
                                • >>   OLED_WrCmd +
                                  [Calls]
                                  • >>   OLED_WrCmd
                                  -
                                  [Called By]
                                  • >>   OLED_Init_Display_Buffer -
                                  • >>   OLED_Cache_to_hardware +
                                    [Called By]
                                    • >>   OLED_Init_Display_Buffer +
                                    • >>   OLED_Cache_to_hardware
                                    -

                                    OLED_Str (Thumb, 94 bytes, Stack size 32 bytes, oled.o(i.OLED_Str)) +

                                    OLED_Str (Thumb, 94 bytes, Stack size 32 bytes, oled.o(i.OLED_Str))

                                    [Stack]

                                    • Max Depth = 112
                                    • Call Chain = OLED_Str ⇒ OLED_Ascii ⇒ OLED_Pix ⇒ OLED_set_dot
                                    -
                                    [Calls]
                                    • >>   OLED_Ascii +
                                      [Calls]
                                      • >>   OLED_Ascii
                                      -
                                      [Called By]
                                      • >>   mymain +
                                        [Called By]
                                        • >>   mymain
                                        -

                                        OLED_WrCmd (Thumb, 16 bytes, Stack size 8 bytes, oled.o(i.OLED_WrCmd)) +

                                        OLED_WrCmd (Thumb, 16 bytes, Stack size 8 bytes, oled.o(i.OLED_WrCmd))

                                        [Stack]

                                        • Max Depth = 160
                                        • Call Chain = OLED_WrCmd ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout

                                        [Calls]
                                        • >>   IIC_SAND_DATE
                                        -
                                        [Called By]
                                        • >>   OLED_Set_Pos -
                                        • >>   OLED_Init +
                                          [Called By]
                                          • >>   OLED_Set_Pos +
                                          • >>   OLED_Init
                                          -

                                          OLED_WrDat (Thumb, 16 bytes, Stack size 8 bytes, oled.o(i.OLED_WrDat)) +

                                          OLED_WrDat (Thumb, 16 bytes, Stack size 8 bytes, oled.o(i.OLED_WrDat))

                                          [Stack]

                                          • Max Depth = 160
                                          • Call Chain = OLED_WrDat ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout

                                          [Calls]
                                          • >>   IIC_SAND_DATE
                                          -
                                          [Called By]
                                          • >>   OLED_Init_Display_Buffer -
                                          • >>   OLED_Cache_to_hardware +
                                            [Called By]
                                            • >>   OLED_Init_Display_Buffer +
                                            • >>   OLED_Cache_to_hardware
                                            -

                                            OLED_set_dot (Thumb, 54 bytes, Stack size 8 bytes, oled.o(i.OLED_set_dot)) +

                                            OLED_set_dot (Thumb, 54 bytes, Stack size 8 bytes, oled.o(i.OLED_set_dot))

                                            [Stack]

                                            • Max Depth = 8
                                            • Call Chain = OLED_set_dot
                                            -
                                            [Called By]
                                            • >>   OLED_Pix +
                                              [Called By]
                                              • >>   OLED_Pix +
                                              • >>   OLED_AL

                                              PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.PendSV_Handler)) @@ -875,11 +884,11 @@ Global Symbols
                                              [Address Reference Count : 1]

                                              • startup_stm32f103xb.o(RESET)

                                              SysTick_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SysTick_Handler)) -

                                              [Calls]

                                              • >>   HAL_IncTick +

                                                [Calls]
                                                • >>   HAL_IncTick

                                                [Address Reference Count : 1]
                                                • startup_stm32f103xb.o(RESET)
                                                -

                                                SystemClock_Config (Thumb, 94 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config)) +

                                                SystemClock_Config (Thumb, 94 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config))

                                                [Stack]

                                                • Max Depth = 136
                                                • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority

                                                [Calls]
                                                • >>   HAL_RCC_OscConfig @@ -931,120 +940,121 @@ Global Symbols

                                                [Address Reference Count : 1]
                                                • startup_stm32f103xb.o(RESET)
                                                -

                                                buzzer_play_server (Thumb, 76 bytes, Stack size 8 bytes, buzzer.o(i.buzzer_play_server)) +

                                                buzzer_play_server (Thumb, 76 bytes, Stack size 8 bytes, buzzer.o(i.buzzer_play_server))

                                                [Stack]

                                                • Max Depth = 48
                                                • Call Chain = buzzer_play_server ⇒ play_ones ⇒ __aeabi_fmul

                                                [Calls]
                                                • >>   HAL_GetTick -
                                                • >>   play_ones -
                                                • >>   delhead +
                                                • >>   play_ones +
                                                • >>   delhead
                                                -
                                                [Called By]
                                                • >>   mymain +
                                                  [Called By]
                                                  • >>   mymain
                                                  -

                                                  delhead (Thumb, 34 bytes, Stack size 8 bytes, buzzer.o(i.delhead)) +

                                                  delhead (Thumb, 34 bytes, Stack size 8 bytes, buzzer.o(i.delhead))

                                                  [Stack]

                                                  • Max Depth = 24
                                                  • Call Chain = delhead ⇒ free

                                                  [Calls]
                                                  • >>   free
                                                  -
                                                  [Called By]
                                                  • >>   buzzer_play_server +
                                                    [Called By]
                                                    • >>   buzzer_play_server

                                                    main (Thumb, 62 bytes, Stack size 0 bytes, main.o(i.main))

                                                    [Stack]

                                                    • Max Depth = 224 + Unknown Stack Size
                                                    • Call Chain = main ⇒ mymain ⇒ OLED_Cache_to_hardware ⇒ OLED_Set_Pos ⇒ OLED_WrCmd ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
                                                    -
                                                    [Calls]
                                                    • >>   mymain +
                                                      [Calls]
                                                      • >>   mymain
                                                      • >>   HAL_Init
                                                      • >>   HAL_I2C_Init -
                                                      • >>   SystemClock_Config +
                                                      • >>   SystemClock_Config
                                                      • >>   MX_TIM2_Init
                                                      • >>   MX_GPIO_Init

                                                      [Called By]
                                                      • >>   __rt_entry_main
                                                      -

                                                      mymain (Thumb, 116 bytes, Stack size 24 bytes, mymain.o(i.mymain)) +

                                                      mymain (Thumb, 166 bytes, Stack size 24 bytes, mymain.o(i.mymain))

                                                      [Stack]

                                                      • Max Depth = 224 + Unknown Stack Size
                                                      • Call Chain = mymain ⇒ OLED_Cache_to_hardware ⇒ OLED_Set_Pos ⇒ OLED_WrCmd ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout

                                                      [Calls]
                                                      • >>   HAL_GetTick
                                                      • >>   HAL_GPIO_WritePin -
                                                      • >>   HAL_GPIO_TogglePin +
                                                      • >>   HAL_GPIO_TogglePin
                                                      • >>   HAL_TIM_PWM_Start
                                                      • >>   __2sprintf -
                                                      • >>   buzzer_play_server -
                                                      • >>   OLED_Str -
                                                      • >>   OLED_Init -
                                                      • >>   OLED_Cache_to_hardware +
                                                      • >>   buzzer_play_server +
                                                      • >>   OLED_Str +
                                                      • >>   OLED_Init +
                                                      • >>   OLED_Cache_to_hardware +
                                                      • >>   OLED_AL

                                                      [Called By]
                                                      • >>   main
                                                      -

                                                      play_ones (Thumb, 58 bytes, Stack size 24 bytes, buzzer.o(i.play_ones)) +

                                                      play_ones (Thumb, 58 bytes, Stack size 24 bytes, buzzer.o(i.play_ones))

                                                      [Stack]

                                                      • Max Depth = 40
                                                      • Call Chain = play_ones ⇒ __aeabi_fmul
                                                      -
                                                      [Calls]
                                                      • >>   __aeabi_fmul -
                                                      • >>   __aeabi_ui2f -
                                                      • >>   __aeabi_i2f -
                                                      • >>   __aeabi_f2uiz -
                                                      • >>   __aeabi_fdiv +
                                                        [Calls]
                                                        • >>   __aeabi_fmul +
                                                        • >>   __aeabi_ui2f +
                                                        • >>   __aeabi_i2f +
                                                        • >>   __aeabi_f2uiz +
                                                        • >>   __aeabi_fdiv
                                                        -
                                                        [Called By]
                                                        • >>   buzzer_play_server +
                                                          [Called By]
                                                          • >>   buzzer_play_server
                                                          -

                                                          __aeabi_fdiv (Thumb, 0 bytes, Stack size 16 bytes, fdiv.o(x$fpl$fdiv)) +

                                                          __aeabi_fdiv (Thumb, 0 bytes, Stack size 16 bytes, fdiv.o(x$fpl$fdiv))

                                                          [Stack]

                                                          • Max Depth = 16
                                                          • Call Chain = __aeabi_fdiv
                                                          -
                                                          [Called By]
                                                          • >>   play_ones +
                                                            [Called By]
                                                            • >>   play_ones
                                                            -

                                                            _fdiv (Thumb, 384 bytes, Stack size 16 bytes, fdiv.o(x$fpl$fdiv), UNUSED) -

                                                            [Calls]

                                                            • >>   __fpl_fretinf -
                                                            • >>   __fpl_fnaninf +

                                                              _fdiv (Thumb, 384 bytes, Stack size 16 bytes, fdiv.o(x$fpl$fdiv), UNUSED) +

                                                              [Calls]

                                                              • >>   __fpl_fretinf +
                                                              • >>   __fpl_fnaninf
                                                              -

                                                              __aeabi_f2uiz (Thumb, 0 bytes, Stack size 16 bytes, ffixu.o(x$fpl$ffixu)) +

                                                              __aeabi_f2uiz (Thumb, 0 bytes, Stack size 16 bytes, ffixu.o(x$fpl$ffixu))

                                                              [Stack]

                                                              • Max Depth = 16
                                                              • Call Chain = __aeabi_f2uiz
                                                              -
                                                              [Called By]
                                                              • >>   play_ones +
                                                                [Called By]
                                                                • >>   play_ones
                                                                -

                                                                _ffixu (Thumb, 62 bytes, Stack size 16 bytes, ffixu.o(x$fpl$ffixu), UNUSED) -

                                                                [Calls]

                                                                • >>   __fpl_fnaninf +

                                                                  _ffixu (Thumb, 62 bytes, Stack size 16 bytes, ffixu.o(x$fpl$ffixu), UNUSED) +

                                                                  [Calls]

                                                                  • >>   __fpl_fnaninf
                                                                  -

                                                                  __aeabi_i2f (Thumb, 0 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$fflt)) -

                                                                  [Called By]

                                                                  • >>   play_ones +

                                                                    __aeabi_i2f (Thumb, 0 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$fflt)) +

                                                                    [Called By]

                                                                    • >>   play_ones
                                                                    -

                                                                    _fflt (Thumb, 48 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$fflt), UNUSED) +

                                                                    _fflt (Thumb, 48 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$fflt), UNUSED) -

                                                                    __aeabi_ui2f (Thumb, 0 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$ffltu)) -

                                                                    [Called By]

                                                                    • >>   play_ones +

                                                                      __aeabi_ui2f (Thumb, 0 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$ffltu)) +

                                                                      [Called By]

                                                                      • >>   play_ones
                                                                      -

                                                                      _ffltu (Thumb, 38 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$ffltu), UNUSED) +

                                                                      _ffltu (Thumb, 38 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$ffltu), UNUSED) -

                                                                      __aeabi_fmul (Thumb, 0 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul)) +

                                                                      __aeabi_fmul (Thumb, 0 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul))

                                                                      [Stack]

                                                                      • Max Depth = 16
                                                                      • Call Chain = __aeabi_fmul
                                                                      -
                                                                      [Called By]
                                                                      • >>   play_ones +
                                                                        [Called By]
                                                                        • >>   play_ones
                                                                        -

                                                                        _fmul (Thumb, 258 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul), UNUSED) -

                                                                        [Calls]

                                                                        • >>   __fpl_fretinf -
                                                                        • >>   __fpl_fnaninf +

                                                                          _fmul (Thumb, 258 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul), UNUSED) +

                                                                          [Calls]

                                                                          • >>   __fpl_fretinf +
                                                                          • >>   __fpl_fnaninf
                                                                          -

                                                                          __fpl_fnaninf (Thumb, 140 bytes, Stack size 8 bytes, fnaninf.o(x$fpl$fnaninf), UNUSED) -

                                                                          [Called By]

                                                                          • >>   _fmul -
                                                                          • >>   _ffixu -
                                                                          • >>   _fdiv +

                                                                            __fpl_fnaninf (Thumb, 140 bytes, Stack size 8 bytes, fnaninf.o(x$fpl$fnaninf), UNUSED) +

                                                                            [Called By]

                                                                            • >>   _fmul +
                                                                            • >>   _ffixu +
                                                                            • >>   _fdiv
                                                                            -

                                                                            __fpl_fretinf (Thumb, 10 bytes, Stack size 0 bytes, fretinf.o(x$fpl$fretinf), UNUSED) -

                                                                            [Called By]

                                                                            • >>   _fmul -
                                                                            • >>   _fdiv +

                                                                              __fpl_fretinf (Thumb, 10 bytes, Stack size 0 bytes, fretinf.o(x$fpl$fretinf), UNUSED) +

                                                                              [Called By]

                                                                              • >>   _fmul +
                                                                              • >>   _fdiv

                                                                              diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map index 0d18e1c..310cf4c 100644 --- a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map +++ b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map @@ -496,12 +496,14 @@ Section Cross References mymain.o(i.mymain) refers to stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_Start) for HAL_TIM_PWM_Start mymain.o(i.mymain) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin mymain.o(i.mymain) refers to oled.o(i.OLED_Str) for OLED_Str + mymain.o(i.mymain) refers to oled.o(i.OLED_AL) for OLED_AL mymain.o(i.mymain) refers to noretval__2sprintf.o(.text) for __2sprintf mymain.o(i.mymain) refers to oled.o(i.OLED_Cache_to_hardware) for OLED_Cache_to_hardware mymain.o(i.mymain) refers to buzzer.o(i.buzzer_play_server) for buzzer_play_server mymain.o(i.mymain) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick mymain.o(i.mymain) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin) for HAL_GPIO_TogglePin mymain.o(i.mymain) refers to main.o(.bss) for htim2 + oled.o(i.OLED_AL) refers to oled.o(i.OLED_set_dot) for OLED_set_dot oled.o(i.OLED_Ascii) refers to oled.o(i.OLED_Pix) for OLED_Pix oled.o(i.OLED_Ascii) refers to oled.o(.constdata) for .constdata oled.o(i.OLED_Cache_to_hardware) refers to oled.o(i.OLED_Set_Pos) for OLED_Set_Pos @@ -1208,99 +1210,99 @@ Image Symbol Table ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c 0x00000000 Number 0 stm32f1xx_hal_tim.o ABSOLUTE ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c 0x00000000 Number 0 stm32f1xx_hal_tim_ex.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_heap_descriptor_intlibspace.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_heap_descriptor.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_heap_descriptor_intlibspace.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 mutex_dummy.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 _get_argv.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 _get_argv.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/heap1.c 0x00000000 Number 0 h1_alloc_mt.o ABSOLUTE + ../clib/heap1.c 0x00000000 Number 0 h1_init.o ABSOLUTE + ../clib/heap1.c 0x00000000 Number 0 h1_init_mt.o ABSOLUTE + ../clib/heap1.c 0x00000000 Number 0 h1_alloc.o ABSOLUTE + ../clib/heap1.c 0x00000000 Number 0 h1_free_mt.o ABSOLUTE + ../clib/heap1.c 0x00000000 Number 0 h1_extend.o ABSOLUTE ../clib/heap1.c 0x00000000 Number 0 h1_extend_mt.o ABSOLUTE + ../clib/heap1.c 0x00000000 Number 0 h1_free.o ABSOLUTE ../clib/heap1.c 0x00000000 Number 0 h1_final.o ABSOLUTE ../clib/heap1.c 0x00000000 Number 0 h1_final_mt.o ABSOLUTE - ../clib/heap1.c 0x00000000 Number 0 h1_extend.o ABSOLUTE - ../clib/heap1.c 0x00000000 Number 0 h1_init.o ABSOLUTE - ../clib/heap1.c 0x00000000 Number 0 h1_free.o ABSOLUTE - ../clib/heap1.c 0x00000000 Number 0 h1_init_mt.o ABSOLUTE - ../clib/heap1.c 0x00000000 Number 0 h1_alloc_mt.o ABSOLUTE - ../clib/heap1.c 0x00000000 Number 0 h1_free_mt.o ABSOLUTE - ../clib/heap1.c 0x00000000 Number 0 h1_alloc.o ABSOLUTE ../clib/heap2.c 0x00000000 Number 0 heap2.o ABSOLUTE ../clib/heap2.c 0x00000000 Number 0 heap2mt.o ABSOLUTE ../clib/heap2.c 0x00000000 Number 0 fdtree.o ABSOLUTE - ../clib/heapalloc.c 0x00000000 Number 0 hguard.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 malloc.o ABSOLUTE - ../clib/heapalloc.c 0x00000000 Number 0 free.o ABSOLUTE - ../clib/heapalloc.c 0x00000000 Number 0 term_alloc.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 maybetermalloc2.o ABSOLUTE + ../clib/heapalloc.c 0x00000000 Number 0 term_alloc.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 maybetermalloc1.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 maybetermalloc1.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE - ../clib/heapalloc.c 0x00000000 Number 0 init_alloc.o ABSOLUTE + ../clib/heapalloc.c 0x00000000 Number 0 hguard.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 heapstubs.o ABSOLUTE + ../clib/heapalloc.c 0x00000000 Number 0 init_alloc.o ABSOLUTE + ../clib/heapalloc.c 0x00000000 Number 0 free.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 maybetermalloc2.o ABSOLUTE - ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxa.o ABSOLUTE + ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/longlong.s 0x00000000 Number 0 llushr.o ABSOLUTE - ../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE ../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __2sprintf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 noretval__2sprintf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 noretval__2sprintf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _sputc.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../fplib/dfixu.s 0x00000000 Number 0 dfixu.o ABSOLUTE @@ -1471,58 +1473,59 @@ Image Symbol Table MX_TIM2_Init 0x080018f1 Thumb Code 140 main.o(i.MX_TIM2_Init) i.MemManage_Handler 0x08001980 Section 0 stm32f1xx_it.o(i.MemManage_Handler) i.NMI_Handler 0x08001982 Section 0 stm32f1xx_it.o(i.NMI_Handler) - i.OLED_Ascii 0x08001984 Section 0 oled.o(i.OLED_Ascii) - i.OLED_Cache_to_hardware 0x080019ec Section 0 oled.o(i.OLED_Cache_to_hardware) - i.OLED_Init 0x08001a58 Section 0 oled.o(i.OLED_Init) - i.OLED_Init_Display_Buffer 0x08001ae2 Section 0 oled.o(i.OLED_Init_Display_Buffer) - i.OLED_Pix 0x08001b0a Section 0 oled.o(i.OLED_Pix) - i.OLED_Set_Pos 0x08001bae Section 0 oled.o(i.OLED_Set_Pos) - i.OLED_Str 0x08001bd2 Section 0 oled.o(i.OLED_Str) - i.OLED_WrCmd 0x08001c30 Section 0 oled.o(i.OLED_WrCmd) - i.OLED_WrDat 0x08001c40 Section 0 oled.o(i.OLED_WrDat) - i.OLED_set_dot 0x08001c50 Section 0 oled.o(i.OLED_set_dot) - i.PendSV_Handler 0x08001c8c Section 0 stm32f1xx_it.o(i.PendSV_Handler) - i.SVC_Handler 0x08001c8e Section 0 stm32f1xx_it.o(i.SVC_Handler) - i.SysTick_Handler 0x08001c90 Section 0 stm32f1xx_it.o(i.SysTick_Handler) - i.SystemClock_Config 0x08001c94 Section 0 main.o(i.SystemClock_Config) - i.SystemInit 0x08001cf2 Section 0 system_stm32f1xx.o(i.SystemInit) - i.TIM2_IRQHandler 0x08001cf4 Section 0 stm32f1xx_it.o(i.TIM2_IRQHandler) - i.TIM_Base_SetConfig 0x08001d00 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) - i.TIM_CCxChannelCmd 0x08001d6c Section 0 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd) - i.TIM_ETR_SetConfig 0x08001d86 Section 0 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) - i.TIM_ITRx_SetConfig 0x08001d9a Section 0 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) - TIM_ITRx_SetConfig 0x08001d9b Thumb Code 16 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) - i.TIM_OC1_SetConfig 0x08001dac Section 0 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) - TIM_OC1_SetConfig 0x08001dad Thumb Code 74 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) - i.TIM_OC2_SetConfig 0x08001dfc Section 0 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) - i.TIM_OC3_SetConfig 0x08001e54 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) - TIM_OC3_SetConfig 0x08001e55 Thumb Code 82 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) - i.TIM_OC4_SetConfig 0x08001eac Section 0 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) - TIM_OC4_SetConfig 0x08001ead Thumb Code 64 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) - i.TIM_TI1_ConfigInputStage 0x08001ef0 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) - TIM_TI1_ConfigInputStage 0x08001ef1 Thumb Code 34 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) - i.TIM_TI2_ConfigInputStage 0x08001f12 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) - TIM_TI2_ConfigInputStage 0x08001f13 Thumb Code 36 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) - i.UsageFault_Handler 0x08001f36 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) - i.__NVIC_SetPriority 0x08001f38 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - __NVIC_SetPriority 0x08001f39 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - i.buzzer_play_server 0x08001f58 Section 0 buzzer.o(i.buzzer_play_server) - i.delhead 0x08001fa8 Section 0 buzzer.o(i.delhead) - i.main 0x08001fd0 Section 0 main.o(i.main) - i.mymain 0x0800201c Section 0 mymain.o(i.mymain) - i.play_ones 0x080020ac Section 0 buzzer.o(i.play_ones) - x$fpl$fdiv 0x080020f0 Section 388 fdiv.o(x$fpl$fdiv) - _fdiv1 0x080020f1 Thumb Code 0 fdiv.o(x$fpl$fdiv) - x$fpl$ffixu 0x08002274 Section 62 ffixu.o(x$fpl$ffixu) - x$fpl$fflt 0x080022b4 Section 48 fflt_clz.o(x$fpl$fflt) - x$fpl$ffltu 0x080022e4 Section 38 fflt_clz.o(x$fpl$ffltu) - x$fpl$fmul 0x0800230c Section 258 fmul.o(x$fpl$fmul) - x$fpl$fnaninf 0x0800240e Section 140 fnaninf.o(x$fpl$fnaninf) - x$fpl$fretinf 0x0800249a Section 10 fretinf.o(x$fpl$fretinf) - .constdata 0x080024a4 Section 16 system_stm32f1xx.o(.constdata) - x$fpl$usenofp 0x080024a4 Section 0 usenofp.o(x$fpl$usenofp) - .constdata 0x080024b4 Section 8 system_stm32f1xx.o(.constdata) - .constdata 0x080024bc Section 3420 oled.o(.constdata) + i.OLED_AL 0x08001984 Section 0 oled.o(i.OLED_AL) + i.OLED_Ascii 0x08001a08 Section 0 oled.o(i.OLED_Ascii) + i.OLED_Cache_to_hardware 0x08001a70 Section 0 oled.o(i.OLED_Cache_to_hardware) + i.OLED_Init 0x08001adc Section 0 oled.o(i.OLED_Init) + i.OLED_Init_Display_Buffer 0x08001b66 Section 0 oled.o(i.OLED_Init_Display_Buffer) + i.OLED_Pix 0x08001b8e Section 0 oled.o(i.OLED_Pix) + i.OLED_Set_Pos 0x08001c32 Section 0 oled.o(i.OLED_Set_Pos) + i.OLED_Str 0x08001c56 Section 0 oled.o(i.OLED_Str) + i.OLED_WrCmd 0x08001cb4 Section 0 oled.o(i.OLED_WrCmd) + i.OLED_WrDat 0x08001cc4 Section 0 oled.o(i.OLED_WrDat) + i.OLED_set_dot 0x08001cd4 Section 0 oled.o(i.OLED_set_dot) + i.PendSV_Handler 0x08001d10 Section 0 stm32f1xx_it.o(i.PendSV_Handler) + i.SVC_Handler 0x08001d12 Section 0 stm32f1xx_it.o(i.SVC_Handler) + i.SysTick_Handler 0x08001d14 Section 0 stm32f1xx_it.o(i.SysTick_Handler) + i.SystemClock_Config 0x08001d18 Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x08001d76 Section 0 system_stm32f1xx.o(i.SystemInit) + i.TIM2_IRQHandler 0x08001d78 Section 0 stm32f1xx_it.o(i.TIM2_IRQHandler) + i.TIM_Base_SetConfig 0x08001d84 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) + i.TIM_CCxChannelCmd 0x08001df0 Section 0 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd) + i.TIM_ETR_SetConfig 0x08001e0a Section 0 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) + i.TIM_ITRx_SetConfig 0x08001e1e Section 0 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) + TIM_ITRx_SetConfig 0x08001e1f Thumb Code 16 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig) + i.TIM_OC1_SetConfig 0x08001e30 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) + TIM_OC1_SetConfig 0x08001e31 Thumb Code 74 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig) + i.TIM_OC2_SetConfig 0x08001e80 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) + i.TIM_OC3_SetConfig 0x08001ed8 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) + TIM_OC3_SetConfig 0x08001ed9 Thumb Code 82 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig) + i.TIM_OC4_SetConfig 0x08001f30 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) + TIM_OC4_SetConfig 0x08001f31 Thumb Code 64 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig) + i.TIM_TI1_ConfigInputStage 0x08001f74 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) + TIM_TI1_ConfigInputStage 0x08001f75 Thumb Code 34 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage) + i.TIM_TI2_ConfigInputStage 0x08001f96 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) + TIM_TI2_ConfigInputStage 0x08001f97 Thumb Code 36 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage) + i.UsageFault_Handler 0x08001fba Section 0 stm32f1xx_it.o(i.UsageFault_Handler) + i.__NVIC_SetPriority 0x08001fbc Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + __NVIC_SetPriority 0x08001fbd Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + i.buzzer_play_server 0x08001fdc Section 0 buzzer.o(i.buzzer_play_server) + i.delhead 0x0800202c Section 0 buzzer.o(i.delhead) + i.main 0x08002054 Section 0 main.o(i.main) + i.mymain 0x080020a0 Section 0 mymain.o(i.mymain) + i.play_ones 0x08002164 Section 0 buzzer.o(i.play_ones) + x$fpl$fdiv 0x080021a8 Section 388 fdiv.o(x$fpl$fdiv) + _fdiv1 0x080021a9 Thumb Code 0 fdiv.o(x$fpl$fdiv) + x$fpl$ffixu 0x0800232c Section 62 ffixu.o(x$fpl$ffixu) + x$fpl$fflt 0x0800236c Section 48 fflt_clz.o(x$fpl$fflt) + x$fpl$ffltu 0x0800239c Section 38 fflt_clz.o(x$fpl$ffltu) + x$fpl$fmul 0x080023c4 Section 258 fmul.o(x$fpl$fmul) + x$fpl$fnaninf 0x080024c6 Section 140 fnaninf.o(x$fpl$fnaninf) + x$fpl$fretinf 0x08002552 Section 10 fretinf.o(x$fpl$fretinf) + .constdata 0x0800255c Section 16 system_stm32f1xx.o(.constdata) + x$fpl$usenofp 0x0800255c Section 0 usenofp.o(x$fpl$usenofp) + .constdata 0x0800256c Section 8 system_stm32f1xx.o(.constdata) + .constdata 0x08002574 Section 3420 oled.o(.constdata) .data 0x20000000 Section 12 stm32f1xx_hal.o(.data) .data 0x2000000c Section 4 system_stm32f1xx.o(.data) .data 0x20000010 Section 12 buzzer.o(.data) @@ -1741,52 +1744,53 @@ Image Symbol Table IIC_SAND_DATE 0x080017f9 Thumb Code 22 hread_interface.o(i.IIC_SAND_DATE) MemManage_Handler 0x08001981 Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler) NMI_Handler 0x08001983 Thumb Code 2 stm32f1xx_it.o(i.NMI_Handler) - OLED_Ascii 0x08001985 Thumb Code 92 oled.o(i.OLED_Ascii) - OLED_Cache_to_hardware 0x080019ed Thumb Code 102 oled.o(i.OLED_Cache_to_hardware) - OLED_Init 0x08001a59 Thumb Code 138 oled.o(i.OLED_Init) - OLED_Init_Display_Buffer 0x08001ae3 Thumb Code 40 oled.o(i.OLED_Init_Display_Buffer) - OLED_Pix 0x08001b0b Thumb Code 164 oled.o(i.OLED_Pix) - OLED_Set_Pos 0x08001baf Thumb Code 36 oled.o(i.OLED_Set_Pos) - OLED_Str 0x08001bd3 Thumb Code 94 oled.o(i.OLED_Str) - OLED_WrCmd 0x08001c31 Thumb Code 16 oled.o(i.OLED_WrCmd) - OLED_WrDat 0x08001c41 Thumb Code 16 oled.o(i.OLED_WrDat) - OLED_set_dot 0x08001c51 Thumb Code 54 oled.o(i.OLED_set_dot) - PendSV_Handler 0x08001c8d Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) - SVC_Handler 0x08001c8f Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) - SysTick_Handler 0x08001c91 Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) - SystemClock_Config 0x08001c95 Thumb Code 94 main.o(i.SystemClock_Config) - SystemInit 0x08001cf3 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) - TIM2_IRQHandler 0x08001cf5 Thumb Code 6 stm32f1xx_it.o(i.TIM2_IRQHandler) - TIM_Base_SetConfig 0x08001d01 Thumb Code 94 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) - TIM_CCxChannelCmd 0x08001d6d Thumb Code 26 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd) - TIM_ETR_SetConfig 0x08001d87 Thumb Code 20 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) - TIM_OC2_SetConfig 0x08001dfd Thumb Code 84 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) - UsageFault_Handler 0x08001f37 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) - buzzer_play_server 0x08001f59 Thumb Code 76 buzzer.o(i.buzzer_play_server) - delhead 0x08001fa9 Thumb Code 34 buzzer.o(i.delhead) - main 0x08001fd1 Thumb Code 62 main.o(i.main) - mymain 0x0800201d Thumb Code 116 mymain.o(i.mymain) - play_ones 0x080020ad Thumb Code 58 buzzer.o(i.play_ones) - __aeabi_fdiv 0x080020f1 Thumb Code 0 fdiv.o(x$fpl$fdiv) - _fdiv 0x080020f1 Thumb Code 384 fdiv.o(x$fpl$fdiv) - __aeabi_f2uiz 0x08002275 Thumb Code 0 ffixu.o(x$fpl$ffixu) - _ffixu 0x08002275 Thumb Code 62 ffixu.o(x$fpl$ffixu) - __aeabi_i2f 0x080022b5 Thumb Code 0 fflt_clz.o(x$fpl$fflt) - _fflt 0x080022b5 Thumb Code 48 fflt_clz.o(x$fpl$fflt) - __aeabi_ui2f 0x080022e5 Thumb Code 0 fflt_clz.o(x$fpl$ffltu) - _ffltu 0x080022e5 Thumb Code 38 fflt_clz.o(x$fpl$ffltu) - __aeabi_fmul 0x0800230d Thumb Code 0 fmul.o(x$fpl$fmul) - _fmul 0x0800230d Thumb Code 258 fmul.o(x$fpl$fmul) - __fpl_fnaninf 0x0800240f Thumb Code 140 fnaninf.o(x$fpl$fnaninf) - __fpl_fretinf 0x0800249b Thumb Code 10 fretinf.o(x$fpl$fretinf) - AHBPrescTable 0x080024a4 Data 16 system_stm32f1xx.o(.constdata) - __I$use$fp 0x080024a4 Number 0 usenofp.o(x$fpl$usenofp) - APBPrescTable 0x080024b4 Data 8 system_stm32f1xx.o(.constdata) - asc2_0805 0x080024bc Data 760 oled.o(.constdata) - asc2_1206 0x080027b4 Data 1140 oled.o(.constdata) - asc2_1608 0x08002c28 Data 1520 oled.o(.constdata) - Region$$Table$$Base 0x08003218 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08003238 Number 0 anon$$obj.o(Region$$Table) + OLED_AL 0x08001985 Thumb Code 130 oled.o(i.OLED_AL) + OLED_Ascii 0x08001a09 Thumb Code 92 oled.o(i.OLED_Ascii) + OLED_Cache_to_hardware 0x08001a71 Thumb Code 102 oled.o(i.OLED_Cache_to_hardware) + OLED_Init 0x08001add Thumb Code 138 oled.o(i.OLED_Init) + OLED_Init_Display_Buffer 0x08001b67 Thumb Code 40 oled.o(i.OLED_Init_Display_Buffer) + OLED_Pix 0x08001b8f Thumb Code 164 oled.o(i.OLED_Pix) + OLED_Set_Pos 0x08001c33 Thumb Code 36 oled.o(i.OLED_Set_Pos) + OLED_Str 0x08001c57 Thumb Code 94 oled.o(i.OLED_Str) + OLED_WrCmd 0x08001cb5 Thumb Code 16 oled.o(i.OLED_WrCmd) + OLED_WrDat 0x08001cc5 Thumb Code 16 oled.o(i.OLED_WrDat) + OLED_set_dot 0x08001cd5 Thumb Code 54 oled.o(i.OLED_set_dot) + PendSV_Handler 0x08001d11 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) + SVC_Handler 0x08001d13 Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) + SysTick_Handler 0x08001d15 Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) + SystemClock_Config 0x08001d19 Thumb Code 94 main.o(i.SystemClock_Config) + SystemInit 0x08001d77 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) + TIM2_IRQHandler 0x08001d79 Thumb Code 6 stm32f1xx_it.o(i.TIM2_IRQHandler) + TIM_Base_SetConfig 0x08001d85 Thumb Code 94 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) + TIM_CCxChannelCmd 0x08001df1 Thumb Code 26 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd) + TIM_ETR_SetConfig 0x08001e0b Thumb Code 20 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig) + TIM_OC2_SetConfig 0x08001e81 Thumb Code 84 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig) + UsageFault_Handler 0x08001fbb Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) + buzzer_play_server 0x08001fdd Thumb Code 76 buzzer.o(i.buzzer_play_server) + delhead 0x0800202d Thumb Code 34 buzzer.o(i.delhead) + main 0x08002055 Thumb Code 62 main.o(i.main) + mymain 0x080020a1 Thumb Code 166 mymain.o(i.mymain) + play_ones 0x08002165 Thumb Code 58 buzzer.o(i.play_ones) + __aeabi_fdiv 0x080021a9 Thumb Code 0 fdiv.o(x$fpl$fdiv) + _fdiv 0x080021a9 Thumb Code 384 fdiv.o(x$fpl$fdiv) + __aeabi_f2uiz 0x0800232d Thumb Code 0 ffixu.o(x$fpl$ffixu) + _ffixu 0x0800232d Thumb Code 62 ffixu.o(x$fpl$ffixu) + __aeabi_i2f 0x0800236d Thumb Code 0 fflt_clz.o(x$fpl$fflt) + _fflt 0x0800236d Thumb Code 48 fflt_clz.o(x$fpl$fflt) + __aeabi_ui2f 0x0800239d Thumb Code 0 fflt_clz.o(x$fpl$ffltu) + _ffltu 0x0800239d Thumb Code 38 fflt_clz.o(x$fpl$ffltu) + __aeabi_fmul 0x080023c5 Thumb Code 0 fmul.o(x$fpl$fmul) + _fmul 0x080023c5 Thumb Code 258 fmul.o(x$fpl$fmul) + __fpl_fnaninf 0x080024c7 Thumb Code 140 fnaninf.o(x$fpl$fnaninf) + __fpl_fretinf 0x08002553 Thumb Code 10 fretinf.o(x$fpl$fretinf) + AHBPrescTable 0x0800255c Data 16 system_stm32f1xx.o(.constdata) + __I$use$fp 0x0800255c Number 0 usenofp.o(x$fpl$usenofp) + APBPrescTable 0x0800256c Data 8 system_stm32f1xx.o(.constdata) + asc2_0805 0x08002574 Data 760 oled.o(.constdata) + asc2_1206 0x0800286c Data 1140 oled.o(.constdata) + asc2_1608 0x08002ce0 Data 1520 oled.o(.constdata) + Region$$Table$$Base 0x080032d0 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080032f0 Number 0 anon$$obj.o(Region$$Table) uwTickFreq 0x20000000 Data 1 stm32f1xx_hal.o(.data) uwTickPrio 0x20000004 Data 4 stm32f1xx_hal.o(.data) uwTick 0x20000008 Data 4 stm32f1xx_hal.o(.data) @@ -1807,84 +1811,84 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00003254, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000330c, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003238, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000032f0, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o - 0x080000ec 0x080000ec 0x00000008 Code RO 3071 * !!!main c_w.l(__main.o) - 0x080000f4 0x080000f4 0x00000034 Code RO 3322 !!!scatter c_w.l(__scatter.o) - 0x08000128 0x08000128 0x0000001a Code RO 3324 !!handler_copy c_w.l(__scatter_copy.o) + 0x080000ec 0x080000ec 0x00000008 Code RO 3077 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x00000034 Code RO 3328 !!!scatter c_w.l(__scatter.o) + 0x08000128 0x08000128 0x0000001a Code RO 3330 !!handler_copy c_w.l(__scatter_copy.o) 0x08000142 0x08000142 0x00000002 PAD - 0x08000144 0x08000144 0x0000001c Code RO 3326 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000160 0x08000160 0x00000000 Code RO 3066 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) - 0x08000160 0x08000160 0x00000006 Code RO 3065 .ARM.Collect$$_printf_percent$$00000009 c_w.l(_printf_d.o) - 0x08000166 0x08000166 0x00000004 Code RO 3135 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) - 0x0800016a 0x0800016a 0x00000002 Code RO 3259 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3141 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3143 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3146 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3148 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3150 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3153 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3155 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3157 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3159 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3161 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3163 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3165 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3167 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3169 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3171 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3173 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3177 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3179 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3181 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 3183 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000002 Code RO 3184 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) - 0x0800016e 0x0800016e 0x00000002 Code RO 3319 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000170 0x08000170 0x00000000 Code RO 3273 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000170 0x08000170 0x00000000 Code RO 3275 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000170 0x08000170 0x00000000 Code RO 3277 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) - 0x08000170 0x08000170 0x00000000 Code RO 3280 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) - 0x08000170 0x08000170 0x00000000 Code RO 3283 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000170 0x08000170 0x00000000 Code RO 3285 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) - 0x08000170 0x08000170 0x00000000 Code RO 3288 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) - 0x08000170 0x08000170 0x00000002 Code RO 3289 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) - 0x08000172 0x08000172 0x00000000 Code RO 3103 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000172 0x08000172 0x00000000 Code RO 3200 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000006 Code RO 3212 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x08000178 0x08000178 0x00000000 Code RO 3202 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x08000178 0x08000178 0x00000004 Code RO 3203 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x0800017c 0x0800017c 0x00000000 Code RO 3205 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x0800017c 0x0800017c 0x00000008 Code RO 3206 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x08000184 0x08000184 0x00000002 Code RO 3262 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x08000186 0x08000186 0x00000000 Code RO 3293 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x08000186 0x08000186 0x00000004 Code RO 3294 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x0800018a 0x0800018a 0x00000006 Code RO 3295 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000144 0x08000144 0x0000001c Code RO 3332 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000160 0x08000160 0x00000000 Code RO 3072 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) + 0x08000160 0x08000160 0x00000006 Code RO 3071 .ARM.Collect$$_printf_percent$$00000009 c_w.l(_printf_d.o) + 0x08000166 0x08000166 0x00000004 Code RO 3141 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) + 0x0800016a 0x0800016a 0x00000002 Code RO 3265 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3147 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3149 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3152 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3154 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3156 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3159 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3161 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3163 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3165 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3167 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3169 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3171 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3173 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3175 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3177 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3179 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3183 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3185 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3187 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 3189 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000002 Code RO 3190 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x0800016e 0x0800016e 0x00000002 Code RO 3325 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000170 0x08000170 0x00000000 Code RO 3279 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000170 0x08000170 0x00000000 Code RO 3281 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000170 0x08000170 0x00000000 Code RO 3283 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) + 0x08000170 0x08000170 0x00000000 Code RO 3286 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) + 0x08000170 0x08000170 0x00000000 Code RO 3289 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000170 0x08000170 0x00000000 Code RO 3291 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) + 0x08000170 0x08000170 0x00000000 Code RO 3294 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) + 0x08000170 0x08000170 0x00000002 Code RO 3295 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) + 0x08000172 0x08000172 0x00000000 Code RO 3109 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000172 0x08000172 0x00000000 Code RO 3206 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000006 Code RO 3218 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x08000178 0x08000178 0x00000000 Code RO 3208 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x08000178 0x08000178 0x00000004 Code RO 3209 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x0800017c 0x0800017c 0x00000000 Code RO 3211 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x0800017c 0x0800017c 0x00000008 Code RO 3212 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x08000184 0x08000184 0x00000002 Code RO 3268 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x08000186 0x08000186 0x00000000 Code RO 3299 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x08000186 0x08000186 0x00000004 Code RO 3300 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x0800018a 0x0800018a 0x00000006 Code RO 3301 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000190 0x08000190 0x00000040 Code RO 4 .text startup_stm32f103xb.o - 0x080001d0 0x080001d0 0x0000004e Code RO 2979 .text c_w.l(h1_free.o) + 0x080001d0 0x080001d0 0x0000004e Code RO 2985 .text c_w.l(h1_free.o) 0x0800021e 0x0800021e 0x00000002 PAD - 0x08000220 0x08000220 0x00000028 Code RO 3039 .text c_w.l(noretval__2sprintf.o) - 0x08000248 0x08000248 0x00000068 Code RO 3041 .text c_w.l(__printf.o) - 0x080002b0 0x080002b0 0x00000078 Code RO 3043 .text c_w.l(_printf_dec.o) - 0x08000328 0x08000328 0x0000004e Code RO 3067 .text c_w.l(rt_memclr_w.o) - 0x08000376 0x08000376 0x00000006 Code RO 3069 .text c_w.l(heapauxi.o) - 0x0800037c 0x0800037c 0x00000008 Code RO 3107 .text c_w.l(rt_heap_descriptor_intlibspace.o) - 0x08000384 0x08000384 0x000000b2 Code RO 3129 .text c_w.l(_printf_intcommon.o) + 0x08000220 0x08000220 0x00000028 Code RO 3045 .text c_w.l(noretval__2sprintf.o) + 0x08000248 0x08000248 0x00000068 Code RO 3047 .text c_w.l(__printf.o) + 0x080002b0 0x080002b0 0x00000078 Code RO 3049 .text c_w.l(_printf_dec.o) + 0x08000328 0x08000328 0x0000004e Code RO 3073 .text c_w.l(rt_memclr_w.o) + 0x08000376 0x08000376 0x00000006 Code RO 3075 .text c_w.l(heapauxi.o) + 0x0800037c 0x0800037c 0x00000008 Code RO 3113 .text c_w.l(rt_heap_descriptor_intlibspace.o) + 0x08000384 0x08000384 0x000000b2 Code RO 3135 .text c_w.l(_printf_intcommon.o) 0x08000436 0x08000436 0x00000002 PAD - 0x08000438 0x08000438 0x00000030 Code RO 3131 .text c_w.l(_printf_char_common.o) - 0x08000468 0x08000468 0x0000000a Code RO 3133 .text c_w.l(_sputc.o) + 0x08000438 0x08000438 0x00000030 Code RO 3137 .text c_w.l(_printf_char_common.o) + 0x08000468 0x08000468 0x0000000a Code RO 3139 .text c_w.l(_sputc.o) 0x08000472 0x08000472 0x00000002 PAD - 0x08000474 0x08000474 0x00000008 Code RO 3196 .text c_w.l(libspace.o) - 0x0800047c 0x0800047c 0x00000002 Code RO 3235 .text c_w.l(use_no_semi.o) - 0x0800047e 0x0800047e 0x00000000 Code RO 3237 .text c_w.l(indicate_semi.o) - 0x0800047e 0x0800047e 0x0000004a Code RO 3238 .text c_w.l(sys_stackheap_outer.o) - 0x080004c8 0x080004c8 0x00000012 Code RO 3244 .text c_w.l(exit.o) + 0x08000474 0x08000474 0x00000008 Code RO 3202 .text c_w.l(libspace.o) + 0x0800047c 0x0800047c 0x00000002 Code RO 3241 .text c_w.l(use_no_semi.o) + 0x0800047e 0x0800047e 0x00000000 Code RO 3243 .text c_w.l(indicate_semi.o) + 0x0800047e 0x0800047e 0x0000004a Code RO 3244 .text c_w.l(sys_stackheap_outer.o) + 0x080004c8 0x080004c8 0x00000012 Code RO 3250 .text c_w.l(exit.o) 0x080004da 0x080004da 0x00000002 PAD - 0x080004dc 0x080004dc 0x0000000c Code RO 3260 .text c_w.l(sys_exit.o) + 0x080004dc 0x080004dc 0x0000000c Code RO 3266 .text c_w.l(sys_exit.o) 0x080004e8 0x080004e8 0x00000002 Code RO 162 i.BusFault_Handler stm32f1xx_it.o 0x080004ea 0x080004ea 0x00000002 Code RO 163 i.DebugMon_Handler stm32f1xx_it.o 0x080004ec 0x080004ec 0x000001e0 Code RO 1081 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o @@ -1941,66 +1945,68 @@ Memory Map of the image 0x080018f0 0x080018f0 0x00000090 Code RO 15 i.MX_TIM2_Init main.o 0x08001980 0x08001980 0x00000002 Code RO 165 i.MemManage_Handler stm32f1xx_it.o 0x08001982 0x08001982 0x00000002 Code RO 166 i.NMI_Handler stm32f1xx_it.o - 0x08001984 0x08001984 0x00000068 Code RO 2829 i.OLED_Ascii oled.o - 0x080019ec 0x080019ec 0x0000006c Code RO 2830 i.OLED_Cache_to_hardware oled.o - 0x08001a58 0x08001a58 0x0000008a Code RO 2832 i.OLED_Init oled.o - 0x08001ae2 0x08001ae2 0x00000028 Code RO 2833 i.OLED_Init_Display_Buffer oled.o - 0x08001b0a 0x08001b0a 0x000000a4 Code RO 2834 i.OLED_Pix oled.o - 0x08001bae 0x08001bae 0x00000024 Code RO 2835 i.OLED_Set_Pos oled.o - 0x08001bd2 0x08001bd2 0x0000005e Code RO 2837 i.OLED_Str oled.o - 0x08001c30 0x08001c30 0x00000010 Code RO 2839 i.OLED_WrCmd oled.o - 0x08001c40 0x08001c40 0x00000010 Code RO 2840 i.OLED_WrDat oled.o - 0x08001c50 0x08001c50 0x0000003c Code RO 2841 i.OLED_set_dot oled.o - 0x08001c8c 0x08001c8c 0x00000002 Code RO 167 i.PendSV_Handler stm32f1xx_it.o - 0x08001c8e 0x08001c8e 0x00000002 Code RO 168 i.SVC_Handler stm32f1xx_it.o - 0x08001c90 0x08001c90 0x00000004 Code RO 169 i.SysTick_Handler stm32f1xx_it.o - 0x08001c94 0x08001c94 0x0000005e Code RO 16 i.SystemClock_Config main.o - 0x08001cf2 0x08001cf2 0x00000002 Code RO 2715 i.SystemInit system_stm32f1xx.o - 0x08001cf4 0x08001cf4 0x0000000c Code RO 170 i.TIM2_IRQHandler stm32f1xx_it.o - 0x08001d00 0x08001d00 0x0000006c Code RO 1836 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o - 0x08001d6c 0x08001d6c 0x0000001a Code RO 1837 i.TIM_CCxChannelCmd stm32f1xx_hal_tim.o - 0x08001d86 0x08001d86 0x00000014 Code RO 1847 i.TIM_ETR_SetConfig stm32f1xx_hal_tim.o - 0x08001d9a 0x08001d9a 0x00000010 Code RO 1848 i.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o - 0x08001daa 0x08001daa 0x00000002 PAD - 0x08001dac 0x08001dac 0x00000050 Code RO 1849 i.TIM_OC1_SetConfig stm32f1xx_hal_tim.o - 0x08001dfc 0x08001dfc 0x00000058 Code RO 1850 i.TIM_OC2_SetConfig stm32f1xx_hal_tim.o - 0x08001e54 0x08001e54 0x00000058 Code RO 1851 i.TIM_OC3_SetConfig stm32f1xx_hal_tim.o - 0x08001eac 0x08001eac 0x00000044 Code RO 1852 i.TIM_OC4_SetConfig stm32f1xx_hal_tim.o - 0x08001ef0 0x08001ef0 0x00000022 Code RO 1854 i.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o - 0x08001f12 0x08001f12 0x00000024 Code RO 1856 i.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o - 0x08001f36 0x08001f36 0x00000002 Code RO 171 i.UsageFault_Handler stm32f1xx_it.o - 0x08001f38 0x08001f38 0x00000020 Code RO 1254 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x08001f58 0x08001f58 0x00000050 Code RO 2930 i.buzzer_play_server buzzer.o - 0x08001fa8 0x08001fa8 0x00000028 Code RO 2931 i.delhead buzzer.o - 0x08001fd0 0x08001fd0 0x0000004c Code RO 17 i.main main.o - 0x0800201c 0x0800201c 0x00000090 Code RO 2787 i.mymain mymain.o - 0x080020ac 0x080020ac 0x00000044 Code RO 2932 i.play_ones buzzer.o - 0x080020f0 0x080020f0 0x00000184 Code RO 3086 x$fpl$fdiv fz_ws.l(fdiv.o) - 0x08002274 0x08002274 0x0000003e Code RO 3089 x$fpl$ffixu fz_ws.l(ffixu.o) - 0x080022b2 0x080022b2 0x00000002 PAD - 0x080022b4 0x080022b4 0x00000030 Code RO 3094 x$fpl$fflt fz_ws.l(fflt_clz.o) - 0x080022e4 0x080022e4 0x00000026 Code RO 3093 x$fpl$ffltu fz_ws.l(fflt_clz.o) - 0x0800230a 0x0800230a 0x00000002 PAD - 0x0800230c 0x0800230c 0x00000102 Code RO 3099 x$fpl$fmul fz_ws.l(fmul.o) - 0x0800240e 0x0800240e 0x0000008c Code RO 3189 x$fpl$fnaninf fz_ws.l(fnaninf.o) - 0x0800249a 0x0800249a 0x0000000a Code RO 3191 x$fpl$fretinf fz_ws.l(fretinf.o) - 0x080024a4 0x080024a4 0x00000000 Code RO 3193 x$fpl$usenofp fz_ws.l(usenofp.o) - 0x080024a4 0x080024a4 0x00000010 Data RO 2716 .constdata system_stm32f1xx.o - 0x080024b4 0x080024b4 0x00000008 Data RO 2717 .constdata system_stm32f1xx.o - 0x080024bc 0x080024bc 0x00000d5c Data RO 2843 .constdata oled.o - 0x08003218 0x08003218 0x00000020 Data RO 3320 Region$$Table anon$$obj.o + 0x08001984 0x08001984 0x00000082 Code RO 2829 i.OLED_AL oled.o + 0x08001a06 0x08001a06 0x00000002 PAD + 0x08001a08 0x08001a08 0x00000068 Code RO 2830 i.OLED_Ascii oled.o + 0x08001a70 0x08001a70 0x0000006c Code RO 2831 i.OLED_Cache_to_hardware oled.o + 0x08001adc 0x08001adc 0x0000008a Code RO 2833 i.OLED_Init oled.o + 0x08001b66 0x08001b66 0x00000028 Code RO 2834 i.OLED_Init_Display_Buffer oled.o + 0x08001b8e 0x08001b8e 0x000000a4 Code RO 2835 i.OLED_Pix oled.o + 0x08001c32 0x08001c32 0x00000024 Code RO 2836 i.OLED_Set_Pos oled.o + 0x08001c56 0x08001c56 0x0000005e Code RO 2838 i.OLED_Str oled.o + 0x08001cb4 0x08001cb4 0x00000010 Code RO 2840 i.OLED_WrCmd oled.o + 0x08001cc4 0x08001cc4 0x00000010 Code RO 2841 i.OLED_WrDat oled.o + 0x08001cd4 0x08001cd4 0x0000003c Code RO 2842 i.OLED_set_dot oled.o + 0x08001d10 0x08001d10 0x00000002 Code RO 167 i.PendSV_Handler stm32f1xx_it.o + 0x08001d12 0x08001d12 0x00000002 Code RO 168 i.SVC_Handler stm32f1xx_it.o + 0x08001d14 0x08001d14 0x00000004 Code RO 169 i.SysTick_Handler stm32f1xx_it.o + 0x08001d18 0x08001d18 0x0000005e Code RO 16 i.SystemClock_Config main.o + 0x08001d76 0x08001d76 0x00000002 Code RO 2715 i.SystemInit system_stm32f1xx.o + 0x08001d78 0x08001d78 0x0000000c Code RO 170 i.TIM2_IRQHandler stm32f1xx_it.o + 0x08001d84 0x08001d84 0x0000006c Code RO 1836 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o + 0x08001df0 0x08001df0 0x0000001a Code RO 1837 i.TIM_CCxChannelCmd stm32f1xx_hal_tim.o + 0x08001e0a 0x08001e0a 0x00000014 Code RO 1847 i.TIM_ETR_SetConfig stm32f1xx_hal_tim.o + 0x08001e1e 0x08001e1e 0x00000010 Code RO 1848 i.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o + 0x08001e2e 0x08001e2e 0x00000002 PAD + 0x08001e30 0x08001e30 0x00000050 Code RO 1849 i.TIM_OC1_SetConfig stm32f1xx_hal_tim.o + 0x08001e80 0x08001e80 0x00000058 Code RO 1850 i.TIM_OC2_SetConfig stm32f1xx_hal_tim.o + 0x08001ed8 0x08001ed8 0x00000058 Code RO 1851 i.TIM_OC3_SetConfig stm32f1xx_hal_tim.o + 0x08001f30 0x08001f30 0x00000044 Code RO 1852 i.TIM_OC4_SetConfig stm32f1xx_hal_tim.o + 0x08001f74 0x08001f74 0x00000022 Code RO 1854 i.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o + 0x08001f96 0x08001f96 0x00000024 Code RO 1856 i.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o + 0x08001fba 0x08001fba 0x00000002 Code RO 171 i.UsageFault_Handler stm32f1xx_it.o + 0x08001fbc 0x08001fbc 0x00000020 Code RO 1254 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08001fdc 0x08001fdc 0x00000050 Code RO 2936 i.buzzer_play_server buzzer.o + 0x0800202c 0x0800202c 0x00000028 Code RO 2937 i.delhead buzzer.o + 0x08002054 0x08002054 0x0000004c Code RO 17 i.main main.o + 0x080020a0 0x080020a0 0x000000c4 Code RO 2787 i.mymain mymain.o + 0x08002164 0x08002164 0x00000044 Code RO 2938 i.play_ones buzzer.o + 0x080021a8 0x080021a8 0x00000184 Code RO 3092 x$fpl$fdiv fz_ws.l(fdiv.o) + 0x0800232c 0x0800232c 0x0000003e Code RO 3095 x$fpl$ffixu fz_ws.l(ffixu.o) + 0x0800236a 0x0800236a 0x00000002 PAD + 0x0800236c 0x0800236c 0x00000030 Code RO 3100 x$fpl$fflt fz_ws.l(fflt_clz.o) + 0x0800239c 0x0800239c 0x00000026 Code RO 3099 x$fpl$ffltu fz_ws.l(fflt_clz.o) + 0x080023c2 0x080023c2 0x00000002 PAD + 0x080023c4 0x080023c4 0x00000102 Code RO 3105 x$fpl$fmul fz_ws.l(fmul.o) + 0x080024c6 0x080024c6 0x0000008c Code RO 3195 x$fpl$fnaninf fz_ws.l(fnaninf.o) + 0x08002552 0x08002552 0x0000000a Code RO 3197 x$fpl$fretinf fz_ws.l(fretinf.o) + 0x0800255c 0x0800255c 0x00000000 Code RO 3199 x$fpl$usenofp fz_ws.l(usenofp.o) + 0x0800255c 0x0800255c 0x00000010 Data RO 2716 .constdata system_stm32f1xx.o + 0x0800256c 0x0800256c 0x00000008 Data RO 2717 .constdata system_stm32f1xx.o + 0x08002574 0x08002574 0x00000d5c Data RO 2844 .constdata oled.o + 0x080032d0 0x080032d0 0x00000020 Data RO 3326 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003238, Size: 0x00000f18, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080032f0, Size: 0x00000f18, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08003238 0x0000000c Data RW 791 .data stm32f1xx_hal.o - 0x2000000c 0x08003244 0x00000004 Data RW 2718 .data system_stm32f1xx.o - 0x20000010 0x08003248 0x0000000c Data RW 2933 .data buzzer.o + 0x20000000 0x080032f0 0x0000000c Data RW 791 .data stm32f1xx_hal.o + 0x2000000c 0x080032fc 0x00000004 Data RW 2718 .data system_stm32f1xx.o + 0x20000010 0x08003300 0x0000000c Data RW 2939 .data buzzer.o 0x2000001c - 0x0000009c Zero RW 18 .bss main.o - 0x200000b8 - 0x00000800 Zero RW 2842 .bss oled.o - 0x200008b8 - 0x00000060 Zero RW 3197 .bss c_w.l(libspace.o) + 0x200000b8 - 0x00000800 Zero RW 2843 .bss oled.o + 0x200008b8 - 0x00000060 Zero RW 3203 .bss c_w.l(libspace.o) 0x20000918 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o 0x20000b18 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o @@ -2015,8 +2021,8 @@ Image component sizes 188 20 0 12 0 1839 buzzer.o 28 6 0 0 0 920 hread_interface.o 534 32 0 0 156 427886 main.o - 144 28 0 0 0 1029 mymain.o - 776 30 3420 0 2048 7428 oled.o + 196 30 0 0 0 1029 mymain.o + 906 30 3420 0 2048 8454 oled.o 64 26 236 0 1536 816 startup_stm32f103xb.o 128 24 0 12 0 5325 stm32f1xx_hal.o 198 14 0 0 0 28959 stm32f1xx_hal_cortex.o @@ -2030,9 +2036,9 @@ Image component sizes 2 0 24 4 0 1131 system_stm32f1xx.o ---------------------------------------------------------------------- - 7240 434 3712 28 3740 518058 Object Totals + 7424 436 3712 28 3740 519084 Object Totals 0 0 32 0 0 0 (incl. Generated) - 14 0 0 0 0 0 (incl. Padding) + 16 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- @@ -2099,15 +2105,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 9144 570 3712 28 3836 514834 Grand Totals - 9144 570 3712 28 3836 514834 ELF Image Totals - 9144 570 3712 28 0 0 ROM Totals + 9328 572 3712 28 3836 515808 Grand Totals + 9328 572 3712 28 3836 515808 ELF Image Totals + 9328 572 3712 28 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 12856 ( 12.55kB) + Total RO Size (Code + RO Data) 13040 ( 12.73kB) Total RW Size (RW Data + ZI Data) 3864 ( 3.77kB) - Total ROM Size (Code + RO Data + RW Data) 12884 ( 12.58kB) + Total ROM Size (Code + RO Data + RW Data) 13068 ( 12.76kB) ============================================================================== diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL_f103c8t6_KEIL.dep b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL_f103c8t6_KEIL.dep index c41dff6..16a033d 100644 --- a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL_f103c8t6_KEIL.dep +++ b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL_f103c8t6_KEIL.dep @@ -31,7 +31,7 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x625E1C31) I (./MYDEIVERS/mymain.h)(0x625E1C31) -I (./MYDEIVERS/oled.h)(0x625E1C31) +I (./MYDEIVERS/oled.h)(0x625FE0FC) I (./MYDEIVERS/hread_interface.h)(0x625E1C31) I (./MYDEIVERS/buzzer.h)(0x625E1C31) F (../Core/Src/stm32f1xx_it.c)(0x625E1C31)(--c99 -c --cpu Cortex-M3 -D__EVAL -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ./MYDEIVERS -I.\RTE\_f103c8t6_KEIL -IC:\Users\kevin\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\CMSIS\Core\Include -IC:\Users\kevin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="536" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil\stm32f1xx_it.o --omf_browse f103c8t6_keil\stm32f1xx_it.crf --depend f103c8t6_keil\stm32f1xx_it.d) @@ -543,7 +543,7 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x625E1C31) -F (.\MYDEIVERS\mymain.c)(0x625F90F9)(--c99 -c --cpu Cortex-M3 -D__EVAL -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ./MYDEIVERS -I.\RTE\_f103c8t6_KEIL -IC:\Users\kevin\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\CMSIS\Core\Include -IC:\Users\kevin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="536" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil\mymain.o --omf_browse f103c8t6_keil\mymain.crf --depend f103c8t6_keil\mymain.d) +F (.\MYDEIVERS\mymain.c)(0x625FE282)(--c99 -c --cpu Cortex-M3 -D__EVAL -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ./MYDEIVERS -I.\RTE\_f103c8t6_KEIL -IC:\Users\kevin\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\CMSIS\Core\Include -IC:\Users\kevin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="536" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil\mymain.o --omf_browse f103c8t6_keil\mymain.crf --depend f103c8t6_keil\mymain.d) I (MYDEIVERS\mymain.h)(0x625E1C31) I (../Core/Inc/main.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x625E1C31) @@ -573,11 +573,11 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x625E1C31) -I (MYDEIVERS\oled.h)(0x625E1C31) +I (MYDEIVERS\oled.h)(0x625FE0FC) I (MYDEIVERS\hread_interface.h)(0x625E1C31) I (MYDEIVERS\buzzer.h)(0x625E1C31) -F (.\MYDEIVERS\oled.c)(0x625FC7B4)(--c99 -c --cpu Cortex-M3 -D__EVAL -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ./MYDEIVERS -I.\RTE\_f103c8t6_KEIL -IC:\Users\kevin\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\CMSIS\Core\Include -IC:\Users\kevin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="536" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil\oled.o --omf_browse f103c8t6_keil\oled.crf --depend f103c8t6_keil\oled.d) -I (MYDEIVERS\oled.h)(0x625E1C31) +F (.\MYDEIVERS\oled.c)(0x625FE2FC)(--c99 -c --cpu Cortex-M3 -D__EVAL -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ./MYDEIVERS -I.\RTE\_f103c8t6_KEIL -IC:\Users\kevin\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\CMSIS\Core\Include -IC:\Users\kevin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="536" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil\oled.o --omf_browse f103c8t6_keil\oled.crf --depend f103c8t6_keil\oled.d) +I (MYDEIVERS\oled.h)(0x625FE0FC) I (../Core/Inc/main.h)(0x625E1C31) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x625E1C31) I (../Core/Inc/stm32f1xx_hal_conf.h)(0x625E1C31) diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/main.crf b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/main.crf index 612e9b89e7d0d629cc14a232b8691828bf197827..c223b7b1adffa0654539f29bb558bcb303c48eaf 100644 GIT binary patch delta 1112 zcmaivOKcle6o${e8P81YDskEf6-b;rXI)?cR6+to<(4QYt@~iZs}>}aQjudf@l=X= zc_bDQ6j6aHS*(CIKvN2Rk`VHuP0J%JDJb%k#~MXKuwau%`8}y|b z=Y{Wi!$KpGR>bo{bLTev|$=-49R&s&o}M6_-y(~VjSZLx7rHTD*Rd{92*Q=yiobS9yQ++6pL?fGrpG+#aX zsD00lQAzX-`UA97YbIkeZo%{(4$8EMJEjRnkBZ&v_xoi!R%<1*8Oj=!WWgT_@`YmH z(`>b&)1J6{OssytK+pf%G$x6jVy{n0Y_!%rCQiQ}1pXkkRDbWZ-+p9LHtx-4^SM$_ zSK(l=FBm-B6X4}Ga@+7s>&@eA{|oDmQ?>TBuMDRBZhH0U3o_Wy9+ z|9&`J?6MJOyx8T2PgEQ_E*+Ur?TH*Z5z}taNK84aaHJWL_Y4MU~67Z>bDKmkd&%~=Vg=!!0jCi2EptCX6 z*EuI%bExV|oR6u##D$pZOI(bp8}zw&=}wmY~8;3B;WF-%VW2#Y>80RD5==W9ZlM^=I#gyfdf7G zTo6k_RPI{Y#a2sQGuym9WZ+8?vQrV2JqbZj1YYR0O88U*|KWFj-<)&4nSCWjr$x?e z7J$S+Od`DO%Xw?F_a%Q_k%69zm*#C9^EO72DC;N|igjq-CdYS1za5av_s7uM5Y}3N zrJcZK!GMtowCZi}J?#SSAS1<44roEG4LZ{Wz>7#(VrUO(7j%E9S=V4HdZt1iE>EB( zsD&W(cTxha_00hdT=vuhV8X zC~jI)uzKtbo?COAn=V;7b|o?Taf@8gUYjmjF-j60k;A7Ww87gPYG`VNqjcrWEO!#^ zkri3#h0W>W)ft26s;Kf+`qwNl>As5n&uMFl)Qf669aj@RLe*ukDw>=?kCP7&^r0u0_Y?G^ zCyyrx9-}9p_nO)81U(xJCj185YdT;6#a60nDJ{I!biyEtZB!hm{A7HN%n*w0RGpw) zV|*8xB#IqWtv^Yx5yp#Y{4k1rJYsHwr_t+irNmlldSE1)iYx9zcItSBVw`dDnn~gf zv-~jgVHCv#nRjH~Q$8?D+S~}wQB0EkMCLQ)3uTV-m05aBFQlSn-O8SpPHIn~xFJd6 zCgm2TOR`MUninV*sC|K278nbX8AGv1W|7PyV`s^XqgW!dL}rPx0GSCC%Vd_xEHie> RRA3TCzhtnhvlaje#BVso9HIaK diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/main.o b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/main.o index ceb72865f149f9dd131eb7a9f9533424b7b59260..e4641f76c2486035fb4e28b2b7d93808b161b183 100644 GIT binary patch delta 98 zcmcbxQ|-b|wGDrSWsM9Jj0}v7lo%Kp;^RX+eO=?@6_gAutc(q8ftX{vqzI=vC%dtkWwNd@!{mvkmfIU-IRoke|LGU? delta 98 zcmcbxQ|-b|wGDrSWeqJAj0}v7lo%Kp;^RX+eO=?@6_gAOtc;AT3=NtkMcO4r7=f4x rh?#+y1&CRJm<@>8ftX{vqzI=vC%a*?rG>6B!{mvkmfIU-IRoke|F#$K diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.crf b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.crf index a1b9a9da5b10eefffd605108937736c7d4353e38..53465b03a52b6525954ff5f6736108d1a88d7083 100644 GIT binary patch delta 1174 zcmYk3UrZcT6vofloteG+$K3^5V`HRut}%T<8=rj9Hktx4g`zfw^rah9hKO<&SO&vB z$gcW;i9V^xYBdc3q%O49s$~jvr4%R@h$ek%X5M_Tni^B}O-%621zRUMH^1+jIp;gM zvvEcJT~n!BaexSd+9X)In7SED{Ij(Efd%}${NXP#C-L^`uKf9(PBGdkkSoF!EBmH_~X8Eh5`Pkim>h1L6gOO81L$Hb8fNUfxMrEY@>+) zqNA<(NbcD-Sg(w>SO=S{WOf&v0od|0AT7mR>~syeMfi<-WSX5wm8>qO*D1nB{vMDI zv1L>#k#~mOT)xkBV6n2*V$D4@!CY`>r+jG}Xfe>NT3PoOl4!;3JB9!wKFAU{#ZqKRL;i#Vm@ie>Hc`^pw z0z48LdS^De`v;+i2mfc7Y~(=r^?VhN@m0)|h!6G`dh%{JyyrR3TeSzwbu8m;??9(@ zs8w^j_u3h&#nk*(<S808?C(gskl>G zW_&k@!8q-2EaQtz6PjLNn$*<6^tq;EOjDZLgNNa)CN;+c)IxaF!efz-%RvIZAe+gK zNXeo~wk7Rk8S4TIrpXp^kzt1HcuCfn&XJvv3k>JUPRcos`I78(8ILnv(DV}1SDL~V zFOr=pW4PGYn!?4t(bUfLt){jh1((Rq@=n)zlYrNlCCo^*w~Sd99$}qSr7=Wgb(yeU zDi+%;<_H_48b{pXdz>eHkY`j;_VI!Xq!Mz5;R>mwtTNO{rQ}(L??|QPB*P-9j2vgU zN-8VIf($H?+M|Qj8D8b%pdPM~+8gGTFboZ|4)f;Aq~1rlpJ|2EXDHL0zp5$xs+raG zd+G@Pf;HlSk_)+_deZJRn^V6hHN$V$`0Wjh?qlZ$sdMaHLqjd2(a6qI>!i+W3)Kcj g_5}^FvEwZ9zzuHQ#K@z8fKB4IGLGCb03x9N1$@9)ga7~l delta 998 zcmX|=TSydf6voe4cV@?R+ughs1o5ALST7mWa~MHt7ka3StzIm21j)17x<*2@3qb}2 z(FK+?q|!`Hb1iGUuJNz2h@S%%AboQ?~aNzfSGw1uxKJ3bbd_OLI3)uiJ z1o?*G?V#_Y$2&Ou>y8fmB=0VIEbs3}e^=$bt0AK$WFU`=CyU3;quC)t-(8aUTBh$R z?I5itVqE}C2SDf&0okc;iZ;V?Itaqgj;n+8YOBs_hSqdGh|O%dJIEWhE=4QD^-&Av z6KBfxkzGl0*I8i*uO}r*tE#WIAei2`mYpO|ofVB*5!jU2e^CDuORery@Xk)vo?6@a zk@kUMWU5l+ItM4yd0==ma)`1cP2tLDZPj@=miB|Om)+nHxf`Pq*p@NW&1}>(G(tTG z|2H%?D#4%5h2YjA1Q;SCyRjis8;;h%ZF}yJKCwZY#W*h6*Ft(px#9}@UAtbUDZZY_ z@6?MGUQU#C>az-yw*QGffr<~beCX2c4_%(#hf064W97zax8k4nmm|iNquLZV9J0^e zH}+v(rfu2Dfu%ZExsVz4J@KN|xTqFZ62)ysua;uhoA}&je2a}U-g3O~m`oHmI&_k0hQQuxsaH{m=^2@U zIG$wcQ&hp!ujoXK@wvj|jt>UN48~DT@+FIWMv^cfWI-GYSqu_x6!IaWhs6uRTqQIX zFA4L6e2j?vvxf)^Iid$e6Ce1Bq*n|wye63=1{iFTKGDxGOwuoUV@x9?1EQN@lw?qJ zIRO|WnXigvJD<|-lw@{W@naUA3I~{mgDH&!_FMZe&wK?Lszkr2lK1W aCApZgTG${oD diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.o b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.o index a8ce0b923789b75940915c569aeeec5d14eaecc4..5b0682b3ac2320edeecf917dad99c6118e59de3b 100644 GIT binary patch delta 13106 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 IFI36@145l|V*mgE delta 12945 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 diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.crf b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.crf index 2151d18140962a31ced8b0c9169d9b81eaf15004..d3a2bcd4d646cb059e006053de32a7b67dfbacad 100644 GIT binary patch delta 2061 zcmaJ?Yitx%6h3!mcjgufv|t1BD96Gd!omWYh{h<70)dn$8Za6SY0^ebxU>qAuKd^v zBo(bzATY)hXi+FF521qPDS{MmL0*cM9c01sQiLiPG=_@b+*!6uNZjO1zVAEde&?LK z+1ZWFdG)cpP)i1pA&9Rlsy*G0jO@uTUZY>85ZGmEG$o<*`(9=g;it2DoG zb|D>hW}=WAREAfmrM6U6!`-Sw&W7>ULpd9iQAWe!nG~{MB0wV)c3Q_bZSg8cH5E^=78udE=V+!JK_g_uyCoaMRdCj8Zxz#yc#o8l zQB*Q}`s_$)F$FPa`r6Y9Xlu$T;Tiv%P9xNwGEO9oqgzwX3Dx0D@h6Y(mB49!}stA#ZsuN) zSqQr+I!VT-hyv%uYB@589a%1Th4)zJJsR=Y<}9g}iLo}-Dv?_*N?n^)X;cFAiAFPl zKGjG8t=4FU+nLsA#0w=abH`Af^X76nDtOZk1MXNZheTs;2CY@xl{q`Gz|Ew3#aX}x zcNdf0Zq%T-C-Vr*@t!CbYf-#TE4>3HC|E4yGMWc%>W^wQ-p{6@P@VFgM$Q z3t+nyFAp#uvIBkH9`vQ+{TA~9boRT8TTu6Os4-*?TOt!Dzw*^%mbiw+_bQIzWb)Km zFJ7E7FQd(wV|Bc5tPHKCeVS;R1Zvy)vT2L%rT9?)>~ z0hk_Cd>!?-EU^^qkk9_K#4@mNeD=2`7Ga>6&;CKL#kM%^_QxBjzDD-zQ;K1ZD82z3 zl=5oZh!FY!=rDY_L$ zwz%o`p_4w_jZ#T|MR={-Y_Sl(N4zz; z-R32Lu11T2&S`a3K3k7*d)cBDAE`GbQPqfh-$<-M57e#*zr=w;pCx8sF&|M(}?@K;;VO?BwZTO z;}^x1dIW;3AXVuZ<1uPbcJ-o^;iTWwfN0RR3Z^8N$Ku1RA6 delta 1359 zcmZWpZA?~W7`~r#-uF4r3&@A$2wsJ|SJuXSfkm^q*0hw5P@5|^np+#AV5`LwZjnK` zfzw7a6K5aCRuo@KQj(AcMWq>-Azu<0yeD%@^GBsW`kJ;{UFW>?>gL(*v+KH^>%Q*$ zJU`CCkxe5CX-4#ioutbOet*7Po>Jpio z-K~uZT8ks)9f8(U*^RW09=2a8k;`O{>n!dcDv>*khG{o35K9EDClyJWA26-`Pe1Wo z6&;VH#*{#1O>KE?{pKo)$DYZVenF%*tS>4oFI!JXV@Y#vu1GZV1pNmjZPAEYEEM=XcYXCXcRp#@As4p-!m{D(45YkVQ^3^cW$9B&3N)) z-T^c3#A_>D?|Sl5!Pz2+fP)?liN~Bc>fWF^hq<~@?8eD^9w`v_WAOW$!^~m9VUzR3 z0mK~AoX?yuIN!YDNb1pi55I`64_v^jM7EPjhwY43wK)8OlSsXqpJ#3of_Dkyl9Nh( znzsqYR_+Rp_zhn;sCfjP^IaEl z{;7uZZst)bE+gbK4a7W!fEm=R6hAm=^tnchtC~o%EGm+^+8MHvpcpw*s!JgZFFAgO+=H0(T~GQz8}W$W5wyC#R$8F-u%? zf;4LX(yr2jD`6kI$)1F-AGf(fE!y-f;DqK0Ou2wEq jHJ~}o+Z8VWig+ji$nj7-(03k+13KrSz^o5HPzwDAU1gSs diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.o b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.o index da42f59b8b115019ee7474107485298e2bb8eff4..e3aa050d1718a6d3d3ecdc31f330d62ff8fb35bd 100644 GIT binary patch delta 26775 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 Jd3GZI{{aqA8!!L> delta 24985 zcmZ{M3!GJD)&AOh&di+6aG5jQhWl^_MH~o(DNk>6I1oMJQI%?f=l}KoX7BZ``+C=V+3&ub z*}ir7t{)9wQ8#MSU6G)akKg^*#n7EY$|&!dW1ME1TynxcTvZtvB!JTh;sG_9Dw%WFy_9W~VK~}An)d-thmgKM=nT*w$H%09via@- zhj!S!@W4qGo0pAkD!+N}gkhEACyqO0;vr)<_dEQa@(O{N%)Ys8^6=UdJP+frI+|B)t`*jd4LiIcxU*G)6^v^m)7od6}j*B*ba{6^ar;Aa&1jnT~mTdlZ z(<^g3U54uAIGS->vH6_GyM)nIsD2a2)!(}MiR-R@BES*iD8rFyz50prcL#UMgS`|- z3yy1A7qyjtKN~GW{o6RMZ4Evy&qvX6)UU^J!*$nxR^EF3XB9uYDY_B(cX52L_4peq zyN1yU)K}uTsddqfl}DCGx1fG2j@w!vTv>VP!02|=e}LnT0`R`AU)fxFMs{8%+5*DEI36+LNprF!v@wGd$uXKu@2I1#8e$o2ihV1?zdIt4p zar~+Pym#v>_h;X_GI|b#=W)DXn$Hi7-mQvuf$$QJms=km6P+7&dKLB8aJ-J=jn;%3DIj8mhA~@HcF6}vJZor zHzcT(vcJZZe+M-ml9Gc&+48XF-^yMY*6f$yEGfG~DOFN-Z&;HHNO?dhU8L;cux2nR zgQ_P6B7>kg2sRG?q)<088d-j5AcwCioG>vOrqvyVD<(z*!+(_(R!xkCp7zhOrYof8 z5vko**3`_3meX<886}^?A}6-a`O_{r=7RacN$lvIj+tNIy8ozXds%+=fyR!7(s(FoysRCbktXOjB_=ZM_~pvy ze6>>Ej$e^)N2qLvXWQYC8XO(llSuit%#vt$!j=y0^s7`qUb#f_RqX^iw!=HM!#lUb zyR^fr)xr2Af@+zO%5W}?PnDW9LH;0 zWPg-Nw*=p#c=rT1evbqFrsA*@QMmod>&?$lRmA%C&2fUxWp2GXf z_7pxq?n&WwvV4RT{Rc8oE=&mwl9?%duuM$hL!>T+50#1(K1@CuZo`M?K!(dpDSU)H zI=tu~0wZNjO5gxlp2825i&FR~nU%s1k}sw3(J~~3A1qZVyk7pA=f28IAYJLewZAS!Y4@nfE3|y$))g#vTtY{9#eRPyqm%&$uCm) zm*giYe6rk0Mr9Qb>HoSX(j>J{_< z>mXdDuIyqPs&2ST&XqbUq0oCBD>vb|GzUA_q=HBjb;pxIKBZpns>Gb`P~|NdU_uli z`?n%@LutVGNB}RFmw6foZiQq3B_N-y5&eIsgxn2i=4#$(scpGhsd6^%Qu@QH>*G!g zHA=xui}XW;sJ`Ib+(W=(N$JO1n0|6o4(so+lmqKOIQL~0sg#X!KdYdq&KAk#)&o1A zB5tLxMJvM56mEmwBUCUiZ}j=TNS}Lvd7G3YQyK1EtoPxmH`>3$?XkmAR6LX?dq09I zdgYGZq^irIVQ;yOn3h~F?B&&WaJRu~FS&*GB6a5bRJ+<3m zmaRk`q8NWD^Dtv@{RIOgTYzss%soJX^j~w{<2|n3$;hox9ENUa5y(0DMAp^(3#yp| zS|jLs=f6pvn?m8PF(=)_jqtDCp%H<2ze#q-*rI)vR7bL2!$SQ}vQ4e&PBi3(G$%iX ztZ4V&W76Fg)6iWwz#j{ykx|(P+73=MQo4ruCjoZgV95y>cR+y5Wl93!wos-Sm*=kJ zp}VnPiVId28v6xrC?#x`f}&_R%6THQ%oo?6@Ist&#vvE^hvtib+T{zBbV+U{4KNIp zoJ=<^Z%uIn$un+S=@1eadRoFaNxmp0F3hhw(L9FxhG!$xZ!L^}c@&EeR^>R|uj>;8>O-d^&hF=XvIdxzJINxsqa0(D z&w)M$VinO`)e{=b!$k5bi0300Dvbiv98#qyAEP`A^z9Bfp{U&)5!B>n96y)KkGEKW znAD;WH;gQxgK`0pCzYVFeiO>Zr$qi7<=}J#j_~3fbhA!+RdRn*M{u@_QSnh9MtSaS z)WWP>p(HHw_6X2ZF^SY0aqaO$`ob1g?#N+Qp@hqGyfUGDBcA_Pk&FXQDzOO!#Ql#_ zY#Q7LoJ^I6UbO3-!4EXbGi_ zkeAuDB3r@C{UBp3J#PVl_*X4Xk^R&!!?Bui%_vXhb`tNe++}d{cs&um(cGNIcMjIFpVmw3bT9 zK3N0C2;5Ad)cgpiY!I%+h_j_*74D_M8q&e={C7u60Ob)ul`24d2?WEAI4wF$N!pGu zWF5~fxL-o)j4-Q5N=cTqZjV_lD(%1=t3G zFf@=ME{I7c9eTQ8AUHDI)Ak_VvpP{&~xcwxX9QB58#R+%ZT z0|Sa5?Kt{QaVV&b;~htzD}I9G=zGOabbPGiGaMi7_(_gWH9Q|;P^g3PE^vzDqa2^< zIE2)}sg7gXC_c+^%q&e7u3PKb=oU}bf+GDP(pO=TCA>+mZ+RuWNCK{DdtBgs!dpZ> zbNma!6ARncP>6~eUewMo=xP{H4P!dS zhJQsp;F>uE{)*!%2N)w7IH1};ubq9+^XdQ{Fv^wAEFaCof46CLWCTG%_CIN&@&WaeDw zUl^eO$+*M?u5tlfn$$rmax6%iIzUa`VjqOSbr1r+&jwuWT?Y6s$F+-qYu5nQ(LP{> z&i`9|#hT;}0M)_8-Zj9rYXG%t{>Qrp@N+r8ud5E3Xwy7lor8 zVh}2huDOhc02N1y6(SP~5vW2q)<7E_p6T!`hqE2dad@`Fxl;J^+^B#4R@;h(NawZm z_qOvv-$DHEb{iAEUZig)9c#i)!dJcF7+ZfL4)`C3*rg~w!Qm+m=Q_L;Fi(Z=IpI!+ z8y!CD@J)vwIxGv#F!#gMAM5aVhgUhg)!|x)PdMD|u(FJk00xHQ_JDAl!v=@vI=sf= zYKK2{_>{xnJN&|7UB>K9c6gS<3mksS;o3~z1fO!kyAD5g*a5qL1{ROS$C+BJ8BYUmUU0K6>Mh4Gv_`1XYI2_)=_~$#^=CGoQ^t{Ni zTET+nuy03GnCS2%hgUkh-r@a(Yp_jl{0+zd?06?UJR$#3LNxFQ$4_*831J=rcRS-L zXFTip+m7?`4h>Zi!qA}(k8t{lj$h)i+2M^2?{WB;!`B@C1yJXIc^5N0!r@^KuW`7_ z;X@7|b-0@lf&J0(Ue#u203qmyIDUo0oEaYM@F0g@ zaoFe(Lq)gcw@Fxz} z_#phu;h{blXE|(kxYA*{55`)Dqa1!2A1!E~miwU57GUjvmH}X!^*rJ4@I6Riau+yM zxqFL&zd*VDzVPfR(sgtEgZX6=;&kLkANTd zVWsOG?l8{O0>}Ty;cX6MyK1ik)?XbYe=a)IR7QcV;kc&m@fO0j1{Sa3y6G(mRQ0fL z)V2SQc;@8}W&s zVVv22I$q@&ZpMr*hq7 z=soz?RAF&Sje1QzZa#D&`lOg*ED0(X-)W6@JkF3h=;99c7RQR-4j{mI6TzF`B0JDlwBDnicxTb;1M;WmdaIBawHFNa>UAlyJ4H@pu3=EJv&j0efUy81BToBm*Aqd#eR$mQ-R%EPyW7+Lod z;`R&i6(1d8jw$^&*faVVQT{3jjXvt+<42#pWXUCqT6->zCI^Li7e^O#JMN0H_4W0$ zn@_C2{HsTubm*eF<7O`?yt^Xm-ulmrqq6M(%^!1B)U&Yo$|!2BzcMi?eh^(5wr>AnG$Cm1bZ2yU&^qU? zXm-&0*4@!%LF;*IqKdGPTN^bO{(f)NyU=`ZbamnSwb41j>4m?njYf4Hh=gRyD=M>5 zhpLX9I(Mng)f5h17d7QE?r?FMgtNbD(gfo}3Z;~uo@Hj8YycTADcFTfNl+kO9yc8- z;|TbcyQEB1D$J#AO{d609K6C;$d>-466dRaP&j*Q)SXv+8%r==huK|P!sLA$sEGru zFq|8TvO(CHj}+okp~H5Bp}02brmnDNOVk@v8D$UEWi8fC@YJcExGq}y^np7ua;e{} zh{!01ND6FhiZP7WICc-?nV6+8P;P~+G5=?g=n6l!dhrb%Qm;0KsU{XCmK6rvxV<{_ z_s6E`ja4!1FED9MV?r!zXucXS4i!}n91eyC9M&(WpwKNE82baZOgm#e8HmtJ8R{-W zhNc>%PR4Em0QZN6Eh8xWZ37Db_8i-*3g`mHbW}OL2GBgyixrP# zkA18X^Of54xr&&D!bd-iqM)X5@w%vcq3$P9`OHSMwTD8yYI?y3Nvst;OehV3tZq1_ z8aTq^xrKB%=lHIzepBBb8wJu+N$u7TDqfC=D;jQJVBHIMZ;E;hkvW(>WOjGEtZMYqmC-rIb>X2t9VGh*B!R&*8@W3LmTR1d8uC+M3AQdGQ$iX{U6;S^Xi zK|9ass*?nvRvr7Gs5z-;v92%M=u5?1Ho)gP?aC4Q^$dv93oGu6y5;F8D6zvn+Jghd zj0ClY@oZTD9a@u$WUbw3pZg@9Q*3Qcqkj>EP74C1#H+-6g}d*Iy7wwo;ezL%ut~4N z_rX3r*rWoz+=U`G*AR4*hl@|1e6%UwPjwFa>Qi?hu+hh9lY%Dpe=V2L-K3d)CIS!S>xT35fD3BZucpkH@T(;{YJf5W zimu6C%Tt}l1Ab5^h2wWdJ@W%WSDSGZx;Eh@KZ?hN+oQNTnB=&0l%`lBhA~SpqF{AM zY{Om>gG<5flxmv5voD)NwXR0mS;DGJO6({@K@dE9CalDL&LKe2CIJS+6=h9=cB{z< zP%|=4J}-Q{A?nd%B+z=5HaQ)|L1E6;sMq`%^i-n0l)_rtkD?NxndnT)S(FDj1OaJL zYfA{@GJ~V5YaaTyJLv#ZHFc2#;))w8dRl7=KIIPt7RZ()+#6#L2Gt5r(4XQgprhiUo$jcaWr-OH`% zOkh1JTm&pCBcXnV)^-`53}Hhld^oF^O8l_`%W$bvSZWAnR7`?Ky)?{hCJHM4yr?qF z2kT-Apsz`$>vX8-;tJw3Ai=E}89>W@3rp8U71+lOR2Ef+%O456xZfCcm{mt=XX1c_ z=iZ6;Pl)CW-vkvGOp`k{5y2PYtn-xUP1N0N$>`7VHsnT#pj+C|Sz5CE)(E{^T7qoJ zw)k{9Cby2K8z=Hb#SYY}iMo}ne<9aKnwRVa~ZBm}X&kc+a@G)rnbFU~1YEsqjE-)6X0m79upn_Ap0OH+Ckvprt{( zOV^CpP_tG};u&6pxC4MrR}O%+z^<}0N;W^`CZLKcq*fq}n@6N6qc^E4)1{IiQ!Tk! ztUOX!xiRY5SL;9#SQcRnNxEW%gbce!UL{tMo-00P$gjnm2)QzsYDB{wsCJ>NfcZRS&z4RVr%g&;~2^#3{y1 zKqCk`Cfy3|e3kf_Pjw<@3KhJuhQiNOz)y?gT^4+8_-eAQIake_`u2DSudM2iij6{R zw#!b84YcM{a$9)fE8w_1h68U&5#emvHR?#;QI+fb{29M*xA82hXW& zd_vqcFT{v0GMZi=5WDd)@}8JWnBmx!CoxJZU|6>y8m7r48LIF}K6OvPXtf{+500@x zbg9uP@JC&eEKH-~ygUS1@>}8^teR>k^Px%?eN6J(IsLs#2A?P`OL%6t4FHc9?CD{1 z2J3_MfQxBlS(!r#6ifuo|A*Z6x7fIs;DaQ&)AyQOa>j2)i=}CCjD2DnE8;-}H`b8H zi_)x>qE(AN26YFw8oB%kP~76lF0EwP3?K2wTeW9hTWtfn_)&dMnKPQgY{` zQXCqx$5X3%=#gb^Ay#~^t(rdrVd=}kS1A=wD`ux}Gj$pLBO%_|R(_jUiw3xfRWGlW zwB9};$1ip(qPU^!Aeqs4=VAjIYA+DgAdl-MWWXzW>ZfqI6ck0B62j~J0?`lOQBC~ zM6yf&H3NHa9q-T~r)4L}45ohzPCC%QnqW*sYH=oEh59TIPwntQx3RDa#3i0uHZ+Xt zJzc5KB%8*0yF=Uo`%l;K?A$Ne_`z9T7Zz$(TZ9`~r*}rDR{(fbB39=tyCrT2s!5a@ zh|Vx7X@S}bjE?O<75XkGuLHt2v4UB6H^n?{f8E? z?MVx2OPOC83PZN=3?IRvZ>A(F_UrPH+kr>-CExtNz_fXO%Sq^+s5GCOJSJNq?A$`cb{NvLWCEXp^~tMH(*que%~b0( zNX2ERvfZA>lKZ8C^KrX?K1J@XjAhZUEm__~g#3A1z|KwrF&VVAA+G6UX~zGGd72b( zV%fMqZ9Gmgd6hvQHknkCG;VSs$Sy?5$P~n+@fpF+Q*+r`eBBFrrz9a9tmeUG_*AFG zzB()oh5m+6QK@~G$(32sGLq-^73JyEI9B4ugOFvD zIU$nGA5GTbK+&h<+|{FyY-=2Au?2V9ET@yry}rr?%0~wE0UUtlpCT00He@n1yh+Ze zhOwuW<)>d+hJ86yV%Xxm9PQf;XcntzoZy|-eDIjP3tTu366+xR$Ir0n-8mjTQ^T-V zLD5M8Xe0}M=j7cDglf;muPIi`MaZtT7ceQ=;38QKj3I{^w2*52i8Kq{B-{+hP^6wH)Z&MCL^ZPa@Y5O(k^IseVb$w)0tFfH^9-KvmbDT5Fo7j|c{oHXiojtn zjS|>ir|?_)VhL7SU86>|8)I);UKC)>!{KKe^cFk-h|o}SnQ=Jl_OalGN5dN~=L|@^ZvzF#E zZ;YV(Vz1Ik@)JOObA&)Ge!vMs5~nK0e60m3c1DO*qM6J993+UFldkzDj(l8pZ6=Vd zIu;q_yy*6wb?eHP(DUo%PWZ=<%}I_Eh3fiZX80NN6b-W_2?Y`ud0Yok@+%DD%v|Ca z(j%cD$T)t`BKvWUaVgZq=CFxdls3>f_-RlEL00o)(MUTJbeb9EnPha6jHHi$_PSm) zP(#28xr-R!D5xzXloXR0f`cKvS~?N&EG#2p$ii9IDAf zw`saG1C!7!bwOf_8bW*s&po?pB2rwS7W31OsJPNWqxl2sX<`3u8O?SVRoNuR5B{Q? zij^=KR$J~-CF7Kd@FPPTt1YC>(EoC!zd{9;)u0dNXzh_7L;mzeo~>vzP(_cSxQ{V@ zt8I8>0}MN26UIdvWvrf|5IH&d{cgQksn(YtIS3Zr*)uC@BI^-fJ)kKI)sk6ZthC&M zLsMWp4oelA9^<%=;5XIk!)ZaBG(6`-VYgc(#-};IWNgC2r?}xiNLeFp8^(R_N)6fAX};akFSutEQ5f?fl)d72ta~w`ym*)jV%<^_6Miq7QEDQ{L9|8kU*E9 zFqL1^np(85CK&uGl<*h(aDfBVLr?}ortlLsmYIkVf`Vv$Wi*Ji~Fh7Ds?j3 zb(myM(Umf`2o@5><)BWb^z=+dy9D)9+5*WM$0wAg6~4;#=Y#m1%heE9Tc!6uNt@Uw zQ6?){*Wg6|v#x)Bf)Mum5yZAyTHO*rrVV;TcPkAR)Cfea_KXvNGIWm8Of4Y%XFKSZ zt9;s7qC_FRMUoE^UsW$9H)gAd?^G?;6Bzr39af$GM`RJPk{yVp2 z-9sD1vT{}8j{7u;Cdhx@AlYh1Xbh5V$!(8jtFLnT8apZZTF6yHl-}WD z7Bv$8dLN$Hq|&U2?-sJ0wY>9U8DLTv zsAxoVF%X?ZDRME}V)taBR5NHcLK6Y~2yzQ$5T*6aO%^7po-~dOj(;K8%p*xo;4uqsy-ZLv1tNP3dk2Xgx; z%zYCzwKYVsGgwVR#ODI$tp0IEq*TyPwK=?!>ap+6dz#HJkC;(WWocVTBE|B!RmD!B zG$usH;f>NbM*;3dGvn%5EeYH#6$!jyh1EkLh2?*#OKbF5{T-rtCOtF3?{1-;H=Evoe7RFoo2o@zA6fe4nVYT)KZ zO&y_maSeclR$VOixlKL`aVldyC8uGMxiKke_>z8{sDVU!#{cL9kFwAMg~X*19Zq%~ z0FO`u_9nr@ktV%d<>(Wxb;6oBOt4r>XqE+zU}Z&=ouVjDZagaujDq4$;VjoiaO=}% zO9?KYW=dt0ixXWPt*Y?90f-iuYHQjQV}uYrCQD(BmEi-)62%mXOYD7W+t!3=EjKi) z*RZCYF0Z*_{aD)9_G8Uy^6R_`MT5C{LD5{$A$-u7Ug!X`gFUqrvAMI0@+i?Pd$ArX z8&$2piF#I=V2DG+){wjm-eV%kIm-swaG?L}2XtL@2vXeQMg~YzS)Hqh2{_XOS}X$$ zg~Y*oRhDZK4O-*!%EC2Ey+R6)no3Icj5CR8%2k`*GO1v|Gq$TW4K_F41>|Ma2vt!b zV6hD*7EB0Y;IN#@)SW5wvc<`*!_QQ3M)PWYua~W-F%&Y-#ZikrREb{fMuooK%rRG7 z!;8xq`k#-jv|I#ZJ5!BOe`e_{x825n8`4OXOI>ZbKd#X%=+!@Z6D)0i@bzGBnQ>H7SwQmGmwQzEL`wd;Jy)RHqz)tsnV!n-L8o7D1H-{0p)Po z+=g`q)GXR>wwg_sXSYYje4uyWTJFpdF6`f$G&-3;qk}kh)k}@6cJD%n**4gjU_@W$ zi8S&FoIc~vFjf_JNAt0&Fp4R00&hE$()dOc(p zkSftOp5uEo9eIs69?-cF%RP!eN| zusqZv8y2gQc{0?-f96-X(;<-yNfdt?Lpvp(4aK7Xir_@G`WTiDP!=&T7l>oz`{PB* z)l(auk=9xZ7IBtakNEt-vGNqLuP1ve>p5o~4e9(2DM#aYb^#=1w@UdcAsWy$@W3I|Hz nI){S)>3#`eu8e16@u89J!AbK{hDlRWB7E1q_!}g|&yW5e|E&33