From f54fd763c4b0c834f92cee37cbf7caa8978572dc Mon Sep 17 00:00:00 2001 From: kevin Date: Tue, 9 Aug 2022 23:43:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=98=BE=E7=A4=BA=E5=88=97?= =?UTF-8?q?=E8=A1=A8=20Signed-off-by:=20kevin=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c | 8 +- f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c | 50 +- f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.h | 3 +- .../MDK-ARM/f103c8t6_KEIL.uvguix.wuwen | 165 +-- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.axf | Bin 257424 -> 258404 bytes .../f103c8t6_KEIL/f103c8t6_KEIL.build_log.htm | 42 +- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex | 1006 +++++++++-------- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.htm | 6 +- .../MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map | 416 +++---- .../f103c8t6_KEIL_f103c8t6_KEIL.dep | 10 +- f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.o | Bin 20568 -> 20572 bytes f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.o | Bin 41940 -> 43724 bytes 12 files changed, 808 insertions(+), 898 deletions(-) diff --git a/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c b/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c index 9f7d8e4..e3347c6 100644 --- a/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c +++ b/f103c8t6_keil/MDK-ARM/MYDEIVERS/mymain.c @@ -141,7 +141,7 @@ int SHOW_MENU(menu *m,int encoder,char button,char lan) list++; } str[c]='\0'; - OLED_Str(0, 16*b, 16, str, 1); + OLED_Str(0, 16*b, 16, str,0, 1); c=0; list++; @@ -231,7 +231,7 @@ void mymain() case 0: //启动跳转模式 //用于读取系统配置后跳转到其他程序 - + //OLED_Str_list(0,0,8,"123\n456\n789",1,2,1); mode=1; break; case 1: @@ -246,12 +246,12 @@ void mymain() { da(); } - OLED_Str(0,0,8,moser_buff,1); + OLED_Str(0,0,8,moser_buff,0,1); fps_++; sprintf(str,"FPS:%d",fps); - OLED_Str(0,56,8,str,1); + OLED_Str(0,56,8,str,0,1); if(B1.code==255) { diff --git a/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c b/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c index 2ad8d84..2fa9f6a 100644 --- a/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c +++ b/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.c @@ -972,9 +972,11 @@ void OLED_Ascii(unsigned char x,unsigned char y,unsigned char size,char chr,unsi } -void OLED_Str(unsigned char x,unsigned char y,unsigned char size,char *str,unsigned char type) +void OLED_Str(unsigned char x,unsigned char y,unsigned char size,char *str,unsigned char lenconst,unsigned char type) { unsigned char size2; + unsigned char tempx=x; + unsigned char templenstard=1; switch(size) { case 8: @@ -990,21 +992,34 @@ void OLED_Str(unsigned char x,unsigned char y,unsigned char size,char *str,unsig while(*str!='\0') { - if(x+size2>=X_WIDTH) + + if((x+size2>=X_WIDTH)||(*str=='\n')) { + if(lenconst!=0) + { + if(templenstard>=lenconst) + { + return; + } + } + templenstard++; y+=size; if(y>=Y_WIDTH) { - y=0; + //y=0; + return; } - x=0; + x=tempx; + }else + { + OLED_Ascii(x,y,size,*str,type); + x+=size2; } - - OLED_Ascii(x,y,size,*str,type); + str++; - x+=size2; + @@ -1012,6 +1027,27 @@ void OLED_Str(unsigned char x,unsigned char y,unsigned char size,char *str,unsig } +void OLED_Str_list(unsigned char x,unsigned char y,unsigned char size,char *str,unsigned char lenstard,unsigned char lenconst,unsigned char type) +{ + unsigned char templenstard=0; + while(templenstard!=lenstard)//跳转到指定行 + { + + switch(*str) + { + case '\n': //如果是回车 行加加 + templenstard++; + break; + case '\0': //如果字符串提前结束 报错 直接返回 + return; + } + + str++; + } + OLED_Str(x,y,size,str,lenconst,type); + +} + /* 几何绘图 */ diff --git a/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.h b/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.h index bd623e0..6a355f4 100644 --- a/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.h +++ b/f103c8t6_keil/MDK-ARM/MYDEIVERS/oled.h @@ -29,7 +29,8 @@ void OLED_set_dot(unsigned char x,unsigned char y,unsigned char dot_type); void OLED_Pix(unsigned char x,unsigned char y,unsigned char w,unsigned char h,const char *p,unsigned char type); void OLED_Ascii(unsigned char x,unsigned char y,unsigned char size,char chr,unsigned char type); -void OLED_Str(unsigned char x,unsigned char y,unsigned char size,char *str,unsigned char type); +void OLED_Str(unsigned char x,unsigned char y,unsigned char size,char *str,unsigned char lenconst,unsigned char type); +void OLED_Str_list(unsigned char x,unsigned char y,unsigned char size,char *str,unsigned char lenstard,unsigned char lenconst,unsigned char type); void OLED_AL(int sx,int sy,int ex,int ey,unsigned char dot_type); diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL.uvguix.wuwen b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL.uvguix.wuwen index f9aace8..e0811ad 100644 --- a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL.uvguix.wuwen +++ b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL.uvguix.wuwen @@ -101,17 +101,17 @@ -1 - 156 - 156 - 2736 - 1179 + 167 + 867 + 3447 + 1190 0 - 1611 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000E000000060000000100000053433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C68726561645F696E746572666163652E63000000001168726561645F696E746572666163652E6300000000BECEA100FFFFFFFF53433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C68726561645F696E746572666163652E68000000001168726561645F696E746572666163652E6800000000F0A0A100FFFFFFFF64433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F74696D2E63000000001373746D3332663178785F68616C5F74696D2E6300000000BCA8E100FFFFFFFF3F433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C436F72655C496E635C6D61696E2E6800000000066D61696E2E68000000009CC1B600FFFFFFFF4A433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C656E636F64652E630000000008656E636F64652E6300000000F7B88600FFFFFFFF4A433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C656E636F64652E680000000008656E636F64652E6800000000D9ADC200FFFFFFFF4A433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6D796D61696E2E6300000000086D796D61696E2E6300000000A5C2D700FFFFFFFF49433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6D6F7273722E6800000000076D6F7273722E6800000000B3A6BE00FFFFFFFF49433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6D6F7273722E6300000000076D6F7273722E6300000000EAD6A300FFFFFFFF4A433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C62757A7A65722E63000000000862757A7A65722E6300000000F6FA7D00FFFFFFFF4A433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C62757A7A65722E68000000000862757A7A65722E6800000000B5E99D00FFFFFFFF3F433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C436F72655C5372635C6D61696E2E6300000000066D61696E2E63000000005FC3CF00FFFFFFFF48433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6F6C65642E6800000000066F6C65642E68000000005FC3CF00FFFFFFFF4A433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6D796D61696E2E6800000000086D796D61696E2E6800000000C1838300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000B10700006E0000006F0D000092040000 + 464 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000300000000000000010000004A433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6D796D61696E2E6300000000086D796D61696E2E6300000000F7B88600FFFFFFFF48433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6F6C65642E6300000000066F6C65642E6300000000C1838300FFFFFFFF48433A5C55736572735C777577656E5C6D6F7273655F636F64655F747261696E65725C66313033633874365F6B65696C5C4D444B2D41524D5C4D59444549564552535C6F6C65642E6800000000066F6C65642E6800000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000063040000150100006F0D0000C1030000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000F10000005A040000 + 0300000066000000F1000000E2020000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000F10000005A040000 + 0300000066000000F1000000E2020000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000F10000005A040000 + 0300000066000000F1000000E2020000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000F10000005A040000 + 0300000066000000F1000000E2020000 16 @@ -490,7 +490,7 @@ 0 16 - 000000008B040000B60600003D050000 + 0000000013030000040A0000C5030000 16 @@ -530,7 +530,7 @@ 0 16 - 030000008E040000010A000024050000 + 0300000016030000B3060000AC030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000F1000000E2020000 + 0300000066000000F10000005A040000 16 @@ -1170,7 +1170,7 @@ 0 16 - 030000008E040000010A000024050000 + 0300000016030000B3060000AC030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 030000008E040000010A000024050000 + 0300000016030000B3060000AC030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 030000008E040000010A000024050000 + 0300000016030000B3060000AC030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 030000008E040000010A000024050000 + 0300000016030000B3060000AC030000 16 @@ -1380,7 +1380,7 @@ 50004 50004 - 0 + 1 0 0 0 @@ -1390,11 +1390,11 @@ 0 16 - 5908000066000000010A0000E8020000 + B501000066000000010A000081000000 16 - F200000009010000A00200001C020000 + 0A0000000A0000006E0000006E000000 @@ -1730,7 +1730,7 @@ 0 16 - 000000003D050000B606000050050000 + 00000000C5030000040A0000D8030000 16 @@ -1799,7 +1799,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFB201000015010000040A000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000560200000A010000A80A0000D0010000B20100004F000000040A0000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF520800004F0000005608000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000FA0800000A010000A80A0000BC030000560800004F000000040A00000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF40000004F000000F8000000730400000100000002000010040000000100000054FEFFFF07020000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000A40000000A01000098010000B6030000000000004F000000F4000000730400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED020000040A0000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000A4000000AC030000A80A00008604000000000000F1020000040A0000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF02050000F102000006050000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000073040000B606000077040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000A4000000BA030000A80A0000800400000000000077040000B60600003D0500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFB201000015010000040A000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000560200000A010000A80A0000D0010000B20100004F000000040A0000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF520800004F0000005608000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000FA0800000A010000A80A0000BC030000560800004F000000040A00000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF40000004F000000F8000000FB0200000100000002000010040000000100000054FEFFFF07020000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000A40000000A010000980100002E050000000000004F000000F4000000FB0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED020000040A0000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000A4000000AC030000A80A00008604000000000000F1020000040A0000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF02050000F102000006050000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000FB020000040A0000FF020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000A4000000320500005A070000F805000000000000FF020000040A0000C50300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1862,129 +1862,30 @@ 0 100 - 6 - - .\MYDEIVERS\hread_interface.c - 25 - 1 - 8 - 1 - - 0 - - - MYDEIVERS\hread_interface.h - 16 - 1 - 19 - 1 - - 0 - - - ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c - 71 - 4117 - 4131 - 1 - - 0 - - - ..\Core\Inc\main.h - 18 - 31 - 74 - 1 - - 0 - - - .\MYDEIVERS\encode.c - 31 - 1 - 3 - 1 - - 0 - - - MYDEIVERS\encode.h - 2 - 1 - 26 - 1 - - 0 - + 0 .\MYDEIVERS\mymain.c - 23 - 4 - 50 + 8 + 196 + 235 1 0 - MYDEIVERS\morsr.h - 27 - 1 - 10 - 0 - - 0 - - - .\MYDEIVERS\morsr.c - 5 - 178 - 236 - 1 - - 0 - - - .\MYDEIVERS\buzzer.c - 17 - 1 - 8 - 1 - - 0 - - - MYDEIVERS\buzzer.h - 0 - 1 - 32 - 1 - - 0 - - - ../Core/Src/main.c - 24 - 13 - 44 + .\MYDEIVERS\oled.c + 30 + 966 + 979 1 0 MYDEIVERS\oled.h - 0 + 18 1 - 21 - 1 - - 0 - - - MYDEIVERS\mymain.h - 6 - 1 - 32 + 33 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 c8c36787be4c7c227640f7238e6ea2a4d39604cb..46d04f42e73f11b4803824adcb0385c8ff13f10c 100644 GIT binary patch delta 53281 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 delta 52428 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%0AYLxjH#nAeH*m&7iyT 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 Xb;kXk+-7Io7N5f%bIu*~Id}dC5QoL# 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 34fbcac..5ea8a91 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 @@ -26,51 +26,17 @@ Project File Date: 08/08/2022

Output:

*** Using Compiler 'V6.18', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' -Rebuild target 'f103c8t6_KEIL' -compiling stm32f1xx_hal_flash.c... -assembling startup_stm32f103xb.s... -compiling stm32f1xx_hal.c... -compiling stm32f1xx_hal_gpio.c... -compiling stm32f1xx_hal_gpio_ex.c... -compiling stm32f1xx_it.c... -compiling stm32f1xx_hal_msp.c... -compiling stm32f1xx_hal_pwr.c... -compiling stm32f1xx_hal_rcc_ex.c... -compiling stm32f1xx_hal_flash_ex.c... -compiling main.c... -compiling stm32f1xx_hal_cortex.c... -compiling stm32f1xx_hal_rcc.c... -compiling stm32f1xx_hal_dma.c... -compiling stm32f1xx_hal_exti.c... -compiling hread_interface.c... -compiling system_stm32f1xx.c... -compiling fonts.c... -compiling encode.c... -MYDEIVERS/buzzer.c(24): warning: implicitly declaring library function 'malloc' with type 'void *(unsigned int)' [-Wimplicit-function-declaration] - buff =(note*)malloc(sizeof(note)); - ^ -MYDEIVERS/buzzer.c(24): note: include the header or explicitly provide a declaration for 'malloc' -MYDEIVERS/buzzer.c(63): warning: implicitly declaring library function 'free' with type 'void (void *)' [-Wimplicit-function-declaration] - free(buzzer_play_buff.head); - ^ -MYDEIVERS/buzzer.c(63): note: include the header or explicitly provide a declaration for 'free' -2 warnings generated. -compiling buzzer.c... -compiling morsr.c... +Build target 'f103c8t6_KEIL' MYDEIVERS/mymain.c(253): warning: implicitly declaring library function 'sprintf' with type 'int (char *, const char *, ...)' [-Wimplicit-function-declaration] sprintf(str,"FPS:%d",fps); ^ MYDEIVERS/mymain.c(253): note: include the header or explicitly provide a declaration for 'sprintf' 1 warning generated. compiling mymain.c... -compiling stm32f1xx_hal_tim_ex.c... -compiling oled.c... -compiling stm32f1xx_hal_tim.c... -compiling stm32f1xx_hal_i2c.c... linking... -Program Size: Code=14356 RO-data=4004 RW-data=56 ZI-data=4200 +Program Size: Code=14380 RO-data=4004 RW-data=56 ZI-data=4200 FromELF: creating hex file... -"f103c8t6_KEIL\f103c8t6_KEIL.axf" - 0 Error(s), 3 Warning(s). +"f103c8t6_KEIL\f103c8t6_KEIL.axf" - 0 Error(s), 1 Warning(s).

Software Packages used:

@@ -94,7 +60,7 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE:5.6.0 Include file: CMSIS/Core/Include/tz_context.h -Build Time Elapsed: 00:00:02 +Build Time Elapsed: 00:00:01 diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.hex index 801db0f..a7f33f3 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 :10000000A010002099010008A1220008551F000837 -:100010009D220008B10700088D2A0008000000009A -:10002000000000000000000000000000692A000835 -:10003000B507000800000000652A00086D2A0008C6 +:100010009D220008B1070008A92A0008000000007E +:10002000000000000000000000000000852A000819 +:10003000B507000800000000812A0008892A00088E :10004000B3010008B3010008B3010008B3010008C0 :10005000B3010008B3010008B9070008C107000890 :10006000B3010008C9070008D1070008B301000860 @@ -10,24 +10,24 @@ :10008000B3010008B3010008B3010008B301000880 :10009000B3010008B3010008B3010008B301000870 :1000A000B3010008B3010008B3010008B301000860 -:1000B000752A0008812A0008B3010008B30100086E +:1000B000912A00089D2A0008B3010008B301000836 :1000C000B3010008B3010008B3010008B301000840 :1000D000B3010008B3010008B3010008B301000830 :1000E000B3010008B3010008B301000800F002F8F2 :1000F00000F043F80AA090E8000C82448344AAF17F :100100000107DA4501D100F038F8AFF2090EBAE87C :100110000F0013F0010F18BFFB1A43F0010318473B -:100120007846000098460000103A24BF78C878C18D +:1001200090460000B0460000103A24BF78C878C15D :10013000FAD8520724BF30C830C144BF04680C60ED :10014000704700000023002400250026103A28BF35 :1001500078C1FBD8520728BF30C148BF0B60704739 :10016000642900F0D780002070471FB59DE8030088 :1001700000F052F91FBD10B510BD00F021FA114674 -:10018000FFF7F3FF02F084FC00F03FFA03B4FFF73F +:10018000FFF7F3FF02F092FC00F03FFA03B4FFF731 :10019000F2FF03BC00F070FA0948804709480047A5 :1001A000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE727 :1001B000FEE7FEE704480549054A064B7047000084 -:1001C000712A0008ED000008A00A0020A0100020FD +:1001C0008D2A0008ED000008A00A0020A0100020E1 :1001D000A00C0020A00C002070B5064600F000F92D :1001E000056806F10B0020F00704B4429CBF002014 :1001F00070BD2B466A68BAB11068A04210D304F1F2 @@ -115,11 +115,11 @@ :1007100070BD00002DE9F04381B040F60817C2F229 :100720000007387BC10737D1396889B340F0010031 :10073000387300F0D9F93C682189D4F8008001446D -:10074000A079A588B96002F0FBFF4AF20021C0F24F +:10074000A079A588B96003F007F84AF20021C0F249 :100750004A41B1FBF5F140F22C090546481EC4F2AE -:100760000009C9F8000002F0D3FF00210646C4F2D8 -:10077000C821284602F0EAFE314602F0F5FF02F0F9 -:10078000A7FFC9F810002046FFF755FDC7F8008005 +:100760000009C9F8000002F0DFFF00210646C4F2CC +:10077000C821284602F0F6FE314603F001F802F0E7 +:10078000B3FFC9F810002046FFF755FDC7F80080F9 :1007900001B0BDE8F08300BF00F0A6F9B968884257 :1007A000F6D9387B00F0FE00387301B0BDE8F08365 :1007B000FEE7000070470000012000F06BB8000069 @@ -270,7 +270,7 @@ :1010C000D9F80010E26821F4E0611143C9F800107A :1010D000000708D5D9F80000216920F4605040EAE3 :1010E000C100C9F80000D9F8002002F00C0008285F -:1010F00041F20020C0F27A0050D144F27663C2F38C +:1010F00041F20020C0F27A0050D144F28E63C2F374 :101100008341C0F60003595CD2033BD440F6001083 :10111000C0F23D00484341E0606802280AD001283F :101120002AD159F8041C890308D4012001B0BDE874 @@ -279,13 +279,13 @@ :1011500041F28837D9F80000616800F00C00B0EB6C :10116000810F97D0FFF7C0FC801BB842F2D9032053 :1011700001B0BDE8F08300BF59F8041C8907D4D53D -:10118000DCE700BFD9F8002043F60013C2F3404269 +:10118000DCE700BFD9F8002043F61813C2F3404251 :10119000C0F600039A5C4843B0FBF2F0D9F80010A7 -:1011A00043F60212C1F30311C0F60002515C40F293 +:1011A00043F61A12C1F30311C0F60002515C40F27B :1011B000340220FA01F140F20400C2F2000000689B :1011C000C2F200021160FFF793FE002001B0BDE8FB :1011D000F083000040F2340041F20401C2F200004A -:1011E000C4F202010068096843F61212C1F3022139 +:1011E000C4F202010068096843F62A12C1F3022121 :1011F000C0F60002515CC840704700002DE9F04184 :1012000082B0002868D00446007841F20006C0078A :10121000C4F2020625D0706800F00C0004281BD030 @@ -663,492 +663,494 @@ :10295000ACE700BFB8F13F0FA8D809EB000149B2BE :102960000029A3D4C9B20AEBCE135E5CDDF810B027 :1029700086EA0B065E5499E706B0BDE8F08F0000CA -:102980002DE9F04F83B014460E46102A05460BD0B1 -:102990000C2C0FD0082C0CBF4FF006094FF000098B -:1029A000187860B95AE000BF4FF00809187830B9BC -:1029B00054E000BF4FF00709187800284ED0DDF82A -:1029C000308043F6124B43F61A1A5F1CC0F6000B18 -:1029D000C0F6000A13E000BF00EB40000BEB8000E4 -:1029E000A0F5C0700090E8B2F1B206220C23CDF839 -:1029F0000480FFF71BFF17F8010B4D4470B33146FD -:102A00002644EAB2F3B24A443F2B88BF00267F2A0D -:102A100094BF0E460025A0F120015E29EBD8102CB2 -:102A20000ED00C2CD8D0082CE5D10AEBC000A0F5B4 -:102A300080700090E8B2F1B205220823D7E700BF0A -:102A400044F28601C0F6000101EB0010A0F5007011 -:102A50000090E8B2F1B208221023C8E703B0BDE845 -:102A6000F08F00007047000070470000FEF71EBAAC -:102A70007047000040F66C10C2F20000FEF7A2BFE3 -:102A800040F6B410C2F20000FEF79CBFFEE7000063 -:102A900092B0FEF719FA00240120CDE90B44CDE9EC -:102AA000094406900A904FF4E0104FF4803102255B -:102AB0000F9006A8CDE90714CDE90D51FEF79EFB56 -:102AC00020B1EFF3108072B6FEE700BF0F20CDE912 -:102AD00000054FF48060CDE90304684602210294AA -:102AE000FEF798FA20B1EFF3108072B6FEE700BF50 -:102AF00041F21800C4F20200016840F6004841F0BB -:102B0000100101600168C4F2010801F01001069192 -:102B100006990168A8F5806541F02001016001680F -:102B2000012201F02001069106990168082641F072 -:102B3000040101600168012401F004010691069975 -:102B4000016841F0080101600068082100F00800F8 -:102B5000069006982846FDF7C1FF40464FF4805185 -:102B600000224FF4805B0027FDF7B8FF40464FF48A -:102B700000410122FDF7B2FF28464FF48071002288 -:102B8000FDF7ACFFCDE9066406AE4FF00309284619 -:102B900031460894CDF82490FDF788FE40F2000AF3 -:102BA0000B20C1F2110A06900AF50010CDE90704C6 -:102BB00040463146FDF77AFECDE906B44FF0020BF0 -:102BC000404631460897CDF824B0FDF76FFE4FF42C -:102BD0000040CDE9060440463146CDE90849FDF7FD -:102BE00065FE4FF4807006A981E811082846314639 -:102BF000CDF82490FDF75AFE1020CDE9060A404694 -:102C000031460894FDF752FE2020CDE906074046E4 -:102C100031460894FDF74AFE062000210022FEF707 -:102C2000BDF90620FEF7AAF9072000210022FEF7D1 -:102C3000B5F90720FEF7A2F9092000210022FEF7CE -:102C4000ADF90920FEF79AF90A2000210022FEF7CB -:102C5000A5F90A20FEF792F940F61810A8F53841B8 -:102C6000C2F2000048F2A0624FF48043C0F20102B9 -:102C700080E88600C0E90373C0E90577C0E90777FB -:102C8000FDF738FF20B1EFF3108072B6FEE700BF0A -:102C900040F66C10C2F200004FF080410397CDE97E -:102CA0000177CDE91077CDE90B77CDE90977876119 -:102CB000C0E90017C0E902770761FEF7D1FC28B12F -:102CC000EFF3108072B600BFFEE700BF4FF48050F4 -:102CD000009040F66C10C2F200006946FEF7A6FDB7 -:102CE00020B1EFF3108072B6FEE700BF40F66C1023 -:102CF000C2F20000FFF740F820B1EFF3108072B687 -:102D0000FEE700BF40F66C10C2F2000010A9FEF70B -:102D100069FC28B1EFF3108072B600BFFEE700BF78 -:102D20006020069040F66C100024C2F2000006A954 -:102D30000822CDE907440A94FEF724FF20B1EFF3FF -:102D4000108072B6FEE700BF40F66C10C2F20000C1 -:102D5000FEF7F0FE40F6B410A8F58431C2F2000090 -:102D600040F2E7330994CDE90744CDE90044472216 -:102D700080E81600C0E903348461FEF771FC28B1D5 -:102D8000EFF3108072B600BFFEE700BF4FF4805033 -:102D9000069040F6B410C2F2000006A9FEF746FD08 -:102DA00020B1EFF3108072B6FEE700BF40F6B4101A -:102DB000C2F200006946FEF715FC18B1EFF310806F -:102DC00072B6FEE700F0B6F8FEE7000010B540F27C -:102DD0009804C2F200042078617840F6FC1C084494 -:102DE000C2F2000C2D23A2780CF800308020C840DD -:102DF0001043A070481CC1B2083918BF0146617069 -:102E0000FDF772FE00F5E170A0600120E07010BDDA -:102E100010B540F29804C2F200042078617840F6C0 -:102E2000FC120844C2F200022E231354481CC1B203 -:102E3000083918BF01466170FDF756FE00F5E170D4 -:102E4000A0600120E07010BD70B540F29804C2F29D -:102E50000004E078012849D1FDF746FEA1688842C8 -:102E600044D9207840F6FC1EC2F2000E44F2866C73 -:102E700000216378A2780EEB0005C0F6000CE1702B -:102E80004EF8001069600CF104056FF0250103E0B5 -:102E9000023105F1060511D015F8046C9E4203D1EC -:102EA00015F8036C96420DD015F8016C9E42EFD1D7 -:102EB0002E789642ECD1273105E000BF20210EF894 -:102EC00000100EE0263101EB4101614489780EF8D3 -:102ED000001001202071FDF707FE00F19601207817 -:102EE000A160013020700020A4F8010020790128A1 -:102EF00010D1FDF7F9FDA16888420BD9002020719F -:102F0000207840F6FC11C2F2000120220A54013060 -:102F1000207000E02078C0B2932818BF70BD40F642 -:102F2000FC10C2F200009321FDF730FA002020705F -:102F300070BD00008EB040F60046C4F20106A6F552 -:102F4000806528464FF4807101224FF00108FDF79B -:102F5000C5FDFFF72BFA40F66C10C2F20000082105 -:102F6000FEF784FF40F6B410C2F20000FEF726FC24 -:102F7000FDF7A8FB284608210022FDF7AFFD4FF41E -:102F80007A704FF47A713222FDF7A8FB00204FF4DB -:102F90007A713222FDF7A2FB40F2A80AC2F2000ABF -:102FA00040F2080B0AF120090AF11805C2F2000BE1 -:102FB0000AF1300006AF8AF82E800290CDE904595C -:102FC00030460821FDF77CFD01464846FDF704FC2C -:102FD0002846FDF739FCBAF82210CAF81400013966 -:102FE000FD2910D89BF8001001290CD14FF47A70FC -:102FF00064213222FDF772FB002000210022FDF740 -:103000006DFBDAF81400C8B1FDF76EFDDAF80810B0 -:1030100042F2107210440229CAF8100010D19BF835 -:10302000020001280CD14FF47A7032213222FDF7D0 -:1030300055FB002000210022FDF750FBDAF80810B4 -:10304000032900F26182DFE801F00307818F00BFEE -:10305000CAF8088058E200BF30460121FDF730FD74 -:1030600001460298FDF7B8FB30460221FDF728FD26 -:1030700001460AF14000FDF7AFFBDAF81400002822 -:1030800002DCBAF8421071B14FF47A703221322268 -:10309000FDF724FB002032210022FDF71FFBFFF784 -:1030A000B7FEDAF81400002802D4BAF8320060B192 -:1030B0004FF47A7096213222FDF710FB0020322166 -:1030C0000022FDF70BFBFFF781FE40F6FC1300200A -:1030D00000210822C2F20003CDF80080FFF750FC67 -:1030E000BAF80400BAF8022001300AF15004AAF834 -:1030F000040020460FF24C41FDF7C4F800203821AF -:1031000008222346CDF80080FFF73AFCBAF82200E7 -:10311000FF2840F0F9819BF8010001280AD14FF403 -:103120007A7064213222FDF7D9FA002000210022B2 -:10313000FDF7D4FA0220CAF80800FDF7D5FC42F2E8 -:1031400010710844CAF81000DEE100BF9AF80010C0 -:10315000DAF81400BAF82220B1B1012940F0CC818C -:103160000BF11001039212E09AF80010DAF8140043 -:10317000BAF82220002900F08380012940F0BC81A8 -:103180000BF1240103927EE003920BF10C010C6819 -:103190000021002202E000BF0131043293B2E35C5F -:1031A0000A2B01D00BB91CE0013142F001039BB2A4 -:1031B000E35C0A2B02D013B913E000BF013142F0E7 -:1031C00002039BB2E35C0A2B02D013B909E000BFF3 -:1031D000013142F003039BB2E35C0A2BDCD0002BED -:1031E000DBD1DBE9013289B2184420EAE070884281 -:1031F00002F1030688BF0846B042BCBF961C013AE4 -:1032000090424FF00003C8BF01238E424FF00006EA -:10321000B8BF01260329CBF8040040F2AD8003EAD1 -:10322000060111440129CBF80810C0F2AB8000223E -:10323000237863B901E000BF0134013293B29942AF -:1032400004F1010440F39E802378002BF5D00A2B73 -:10325000F3D06378002BEFD00A2BEDD0A3785BB1CD -:103260000A2B09D0E3784BB10A2B07D0043423781A -:10327000002BECD1E1E700BF0234DEE70334DCE7EA -:1032800003920BF120010C680021002202E000BF34 -:103290000131043293B2E35C0A2B01D00BB91CE07C -:1032A000013142F001039BB2E35C0A2B02D013B957 -:1032B00013E000BF013142F002039BB2E35C0A2B32 -:1032C00002D013B909E000BF013142F003039BB201 -:1032D000E35C0A2BDCD0002BDBD1DBE9063289B2C0 -:1032E000184420EAE070884202F1030688BF0846CD -:1032F000B042BCBF961C013A90424FF00003C8BFD9 -:1033000001238E424FF00006B8BF01260329CBF8F7 -:10331000180040F2938003EA060111440129CBF81A -:103320001C10C0F291800022237863B901E000BF35 -:103330000134013293B2994204F1010440F38480D4 -:103340002378002BF5D00A2BF3D06378002BEFD035 -:103350000A2BEDD0A3785BB10A2B09D0E3784BB1EF -:103360000A2B07D004342378002BECD1E1E700BF0F -:103370000234DEE70334DCE74D1C0021CBF80810F3 -:1033800001E000BF042500264FF0000931448142CE -:103390004FF0200008BF3E208DF818000120217852 -:1033A00021B30A2922D082B2B9546278411CBAB141 -:1033B0000A2A15D089B27A54A278811C92B10A2ABD -:1033C00010D089B27A54E278C11C6AB10A2A0BD0B3 -:1033D00089B27A540430043421780029E1D105E01F -:1033E000013402E0023400E00334084680B20021D8 -:1033F00039544FEA0910C1B2002010223B46CDF8E3 -:103400000080FFF7BDFA0136AE4205D0DBE90101CD -:1034100009F101090134B9E7039840F60046C0B24A -:10342000DDE904590128C4F2010665D1DBF8040086 -:1034300002285DD10320CAF808005DE001F101090E -:103440000021CBF81C1001E04FF0040900260025F4 -:10345000314481424FF0200008BF3E208DF8180013 -:103460000120217821B30A2922D082B2B95462788E -:10347000411CBAB10A2A15D089B27A54A278811CAB -:1034800092B10A2A10D089B27A54E278C11C6AB18A -:103490000A2A0BD089B27A540430043421780029E6 -:1034A000E1D105E0013402E0023400E003340846D3 -:1034B00080B2002139542801C1B2002010223B46BD -:1034C000CDF80080FFF75CFA01364E4504D0DBE909 -:1034D000060101350134BBE7039840F60046C0B24F -:1034E000DDE904590128C4F2010605D1DBF8180012 -:1034F000002808BFCAF80880FDF7F6FADAF81010BD -:10350000884288BFCAF80880FFF79EFCFDF702F9E1 -:10351000FEF7C8FEFDF7E8FADAF80C1088427FF6ED -:103520004FAD01F57A70CAF80C0030464FF40041F7 -:10353000FDF7CCFABAF80400AAF802000020AAF8B5 -:1035400004003DE54650533A256400004FF47F0CDB -:103550001CEAD0121EBF1CEAD11392EA0C0F93EAA8 -:103560000C0F00F0858090EA010F48BF42F4807292 -:1035700040F4000C41F400002CF07F4120F07F402B -:1035800000B5A2EB030281420FF2081CACEB504ED7 -:103590009EF800E0C0F100004FEA4E0E00FB0EFC6A -:1035A00038BF49004FEA2C1C0CFB0EF34FEACE1E2D -:1035B0000EEB635E4FEA112C0EFB0CFC4FEAC121AF -:1035C0004FEA1C5300FB031102F5FA024FEA112CDB -:1035D0000EFB0CFC4FEA01314FEADC4C00FB0C11F6 -:1035E00042EB2242C14228BF09184CEB03335DF87D -:1035F00004EB10EB410143EBC250B2F57C0F38BF36 -:10360000704729D512F0F00F1CBF00F1C04000F048 -:1036100000407047008182838485868788898B8CEF -:103620008D8E8F919293959697999A9C9D9FA0A22B -:10363000A3A5A7A8AAACAEB0B2B3B5B7B9BCBEC07B -:10364000C2C5C7C9CCCED1D4D7D9DCDFE2E6E9EC1C -:10365000F0F3F7FAFE0000004FEA400C0CF1807C1A -:10366000BCF17E4F28BF7047B0F1C04000F043B9B5 -:103670000CEAD11390EA010F48BF42F48072624510 -:1036800038BF634507D213F47F0F16D080EA0100DC -:1036900000F00040704710B500F0E7F8097EFC3EEE -:1036A00000F005B880EA010000F00040704780EAB1 -:1036B000010000F0004000F01EB912F47F0F04BFBB -:1036C0000248704780EA010000F015B90000C07F91 -:1036D000C10DD1F19E0206DB4FEA002343F0004307 -:1036E00023FA02F07047004207D54FEA4001B1F1DA -:1036F000FE4F02D24FF00000704710B500F0B5F851 -:1037000049922480002070476FEA20007047000033 -:1037100010F0004148BF4042B0FA80F310FA03F2C3 -:10372000C3F19D030BD051EAC35101EB12205306A4 -:1037300038BF704700F1010008BF20F0010070475A -:10374000B0FA80F310FA03F2C3F19D030AD0D90551 -:1037500001EB1220530638BF704700F1010008BF8B -:1037600020F00100704700004FF47F0C1CEAD012DB -:103770001EBF1CEAD11392EA0C0F93EA0C0F00F063 -:10378000478090EA010F48BF42F480724FF0004C2E -:103790004CEA00204CEA012102EB0302A0FB0113DA -:1037A000A2F50002002918BF43F001035B0028BF07 -:1037B0004FEA330342EB22425FEA132C4CEBC25038 -:1037C0002EBFBCEB436FB2F57C0F70474FEA036C22 -:1037D000BCF1004F08BF20F00100B2F57C0F38BFEC -:1037E00070470BD582F0FF0212F5803FC8BF7047CB -:1037F00000F1C040D8BF00F00040704700F5000C59 -:103800005FEA4C0C48BF7047B0F1C04000F073B89D -:103810000CEAD11390EA010F48BF42F4807262456E -:1038200038BF634504D280EA010000F000407047D1 -:1038300010B500F01AF800BF8900013E00F007B88B -:1038400000F009B85FEA410C5FEA1C6C08D080EA1E -:10385000010000F050B85FEA400C5FEA1C6CF6D142 -:103860004FF00040A0F5800070470EF1020E2EF0E0 -:10387000030E5EF8044B244204D44FEA4102B2F135 -:103880007F4F11D84FEA4003B3F17F4F0CD80ED1D0 -:103890004FEAD07C0CEB4C0C0CF1020CB2F17F4FD8 -:1038A00008BF4CEBD17C04E04FF0080C01E04FEA7C -:1038B000D17C0CEB4C0324FA03F404F00704B4F1BC -:1038C000040C06D20EEB840CBDE810404CF0010C49 -:1038D0006047DFE80CF0070802024FF00040A0F557 -:1038E000800010BD0846420018BFD2F1807288BF28 -:1038F00000F0004010BDFF2141EAD050C0057047E4 -:10390000010200000000000000000102030406079D -:10391000080900000000010203040000000000008C -:1039200000002020202020002000505050000000E7 -:1039300000005050F850F85050002078C07028F027 -:103940002000C0C810204098180040A0A040A890B7 -:10395000680030204000000000001020404040205F -:103960001000402010101020400020A8702070A8E7 -:103970002000202020F820202000000000006040CF -:103980008000000000F8000000000000000000605F -:1039900060000008102040800000708898A8C88847 -:1039A0007000206020202020700070880830408047 -:1039B000F800F80810300888700010305090F810A7 -:1039C0001000F880F00808887000384080F088887F -:1039D0007000F80810204040400070888870888887 -:1039E0007000708888780810E000006060006060F7 -:1039F0000000006060006060800010204080402077 -:103A000010000000F800F80000004020100810200E -:103A1000400070881020200020007088B8A8B8806E -:103A2000780020508888F8888800F08888F0888896 -:103A3000F0007088808080887000F088888888888E -:103A4000F000F88080F08080F800F88080F08080BE -:103A5000800070888080B8887800888888F8888896 -:103A60008800702020202020700038101010109046 -:103A700060008890A0C0A0908800808080808080B6 -:103A8000F80088D8A8A8888888008888C8A8988856 -:103A900088007088888888887000F08888F0808026 -:103AA000800070888888A8906800F08888F0A090CE -:103AB00088007088807008887000F82020202020FE -:103AC000200088888888888870008888888888503E -:103AD0002000888888A8A8D8880088885020508826 -:103AE00088008888502020202000F808102040807E -:103AF000F800F0C0C0C0C0C0F00000804020100836 -:103B0000000078181818181878002070A8202020B5 -:103B10002000002040F84020000020100800000095 -:103B200000000000E010709068008080B0C888C875 -:103B3000B00000007088808070000808689888983D -:103B4000680000007088F0807000304840F040400D -:103B5000400000007088887808F08080B0C88888AD -:103B600088002000002020202000100000301010CD -:103B70001060808090A0C0A09800602020202020AD -:103B80007000000050A8A8A8A8000000B04848484D -:103B9000480000007088888870000000F08888F075 -:103BA000808000007888887808080000B04840408D -:103BB0004000000078807008F0004040F840404825 -:103BC0003000000090909090680000008888885035 -:103BD00020000000A8A8A8A850000000885020508D -:103BE000880000008888986808F00000F8102040DD -:103BF000F80020404080404020002020200020206D -:103C000020002010100810102000000040A8100014 -:103C10000000000000000000000000000000001094 -:103C200010101010000010000000006C4848000048 -:103C3000000000000000001414287C287C2850504C -:103C4000000000103840403848701010000000207C -:103C500050200C70081408000000000000182020FC -:103C60005448340000000010101010000000000044 -:103C700000000008081010101010100808000020A4 -:103C80002010101010101020200000107C10282888 -:103C90000000000000000000101010FC10101000C8 -:103CA000000000000000000000181030200000009C -:103CB0000000007C00000000000000000000000088 -:103CC00000303000000000040408081010202040DC -:103CD00000000038444444444444380000000030AC -:103CE0001010101010107C00000000384404081060 -:103CF00020447C00000000384404180404443800C8 -:103D00000000000C141424447C040C000000003C4F -:103D100020203804044438000000001C204078446F -:103D2000444438000000007C4404080808101000D7 -:103D3000000000384444384444443800000000384F -:103D40004444443C0408700000000000003030008F -:103D5000003030000000000000181800001830206B -:103D6000000000000C10608060100C0000000000DB -:103D700000007C007C00000000000000C02018044F -:103D80001820C000000000001824040810003000B3 -:103D900000003844444C54544C4044380000003037 -:103DA000102828287C44EC00000000F844447844A3 -:103DB0004444F8000000003C444040404044380087 -:103DC000000000F0484444444448F000000000FC77 -:103DD000445070504044FC000000007C20283828EB -:103DE000202070000000003C4440404C4444380017 -:103DF000000000EC44447C444444EC000000007C9F -:103E00001010101010107C000000003C080808483A -:103E100048483000000000EC444850704844E4003A -:103E2000000000702020202024247C00000000ECF2 -:103E30006C6C54544444EC00000000EC6464545432 -:103E4000544CEC00000000384444444444443800DE -:103E5000000000782424243820207000000000385E -:103E6000444444444444381C000000F8444444782A -:103E70004844E000000000344C403804046458001A -:103E8000000000FC9010101010103800000000EC32 -:103E90004444444444443800000000EC444428288E -:103EA00028101000000000EC4444545454542800DE -:103EB000000000C4442810102844C400000000EC96 -:103EC00044282810101038000000007C440810100E -:103ED00020447C00000000382020202020202020CA -:103EE000380000402020201010080808000000388A -:103EF00008080808080808083800001010284400BE -:103F000000000000000000000000000000000000B1 -:103F100000FC00100800000000000000000000008D -:103F20000038443C44443C00000000C04058644415 -:103F30004444F80000000000003C44404044380085 -:103F40000000000C04344C4444443C0000000000D9 -:103F50000038447C40403C000000001C207C2020B5 -:103F600020207C000000000000344C4444443C0409 -:103F7000380000C0405864444444EC000000001085 -:103F80000070101010107C0000000010007808086D -:103F900008080808700000C0405C48705048DC0009 -:103FA000000000301010101010107C000000000005 -:103FB00000E854545454FC000000000000D864444D -:103FC0004444EC00000000000038444444443800FD -:103FD0000000000000D8644444447840E000000041 -:103FE00000344C4444443C040C000000006C30207D -:103FF00020207C0000000000003C4438044478008D -:1040000000000000207C202020201C000000000078 -:1040100000CC4444444C34000000000000EC444414 -:10402000282810000000000000EC445454542800DC -:104030000000000000CC48303048CC0000000000F8 -:1040400000EC44242818101078000000007C481070 -:1040500020447C00000000081010101020101010E8 -:104060000800001010101010101010100000002098 -:104070001010101008101010200000000000002484 -:1040800058000000000000000000000000000000D8 -:10409000000000000000000000183C3C3C1818180C -:1040A0000018180000000066666666240000000024 -:1040B000000000000000000000006C6CFE6C6C6CE6 -:1040C000FE6C6C0000001818187CC6C2C07C068606 -:1040D000C67C181800000000000000C2C60C183092 -:1040E00060C686000000000000386C6C3876DCCCBE -:1040F000CCCC760000000030303030600000000092 -:104100000000000000000000000C1830303030309B -:1041100030180C00000000000030180C0C0C0C0CC7 -:104120000C1830000000000000000000663CFF3C5E -:1041300066000000000000000000000018187E1853 -:104140001800000000000000000000000000000057 -:104150001818183000000000000000000000FE00E9 -:10416000000000000000000000000000000000004F -:10417000001818000000000000000002060C1830B3 -:1041800060C0800000000000007CC6C6CED6D6E627 -:10419000C6C67C00000000000018387818181818EF -:1041A00018187E0000000000007CC6060C18306065 -:1041B000C0C6FE0000000000007CC606063C0606E5 -:1041C00006C67C0000000000000C1C3C6CCCFE0C01 -:1041D0000C0C1E000000000000FEC0C0C0FC0E065B -:1041E00006C67C0000000000003860C0C0FCC6C6E7 -:1041F000C6C67C000000000000FEC606060C183093 -:104200003030300000000000007CC6C6C67CC6C648 -:10421000C6C67C0000000000007CC6C6C67E06063E -:10422000060C7800000000000000001818000000D4 -:10423000181800000000000000000018180000001E -:1042400018183000000000000000060C1830603024 -:10425000180C0600000000000000000000FE000036 -:10426000FE0000000000000000006030180C060C8A -:104270001830600000000000007CC6C60C1818183A -:10428000001818000000000000007CC6C6DEDEDE5C -:10429000DCC07C00000000000010386CC6C6FEC602 -:1042A000C6C6C6000000000000FC6666667C666646 -:1042B0006666FC0000000000003C66C2C0C0C0C0D2 -:1042C000C2663C000000000000F86C666666666628 -:1042D000666CF8000000000000FE666268786860A6 -:1042E0006266FE000000000000FE6662687868609A -:1042F0006060F00000000000003C66C2C0C0DEC686 -:10430000C6663A000000000000C6C6C6C6FEC6C6A5 -:10431000C6C6C60000000000003C1818181818187F -:1043200018183C0000000000001E0C0C0C0C0CCCFB -:10433000CCCC78000000000000E6666C6C78786CED -:104340006666E6000000000000F06060606060608B -:104350006266FE000000000000C6EEFEFED6C6C685 -:10436000C6C6C6000000000000C6E6F6FEDECEC6E9 -:10437000C6C6C6000000000000386CC6C6C6C6C669 -:10438000C66C38000000000000FC6666667C606059 -:104390006060F00000000000007CC6C6C6C6C6C64D -:1043A000D6DE7C0C0E00000000FC6666667C6C6647 -:1043B0006666E60000000000007CC6C660380C0699 -:1043C000C6C67C0000000000007E7E5A181818182F -:1043D00018183C000000000000C6C6C6C6C6C6C607 -:1043E000C6C67C000000000000C6C6C6C6C6C6C65B -:1043F0006C3810000000000000C6C6C6C6C6D6D67F -:10440000FE6C6C000000000000C6C66C6C38386C96 -:104410006CC6C6000000000000666666663C1818A0 -:1044200018183C000000000000FEC6860C18306022 -:10443000C2C6FE0000000000003C3030303030309A -:1044400030303C0000000000000080C0E070381CEC -:104450000E06020000000000003C0C0C0C0C0C0CC2 -:104460000C0C3C0000001038386CC6000000000046 -:10447000000000000000000000000000000000003C -:1044800000000000FF003030301800000000000085 -:10449000000000000000000000000000780C7CCC50 -:1044A000CCCC76000000000000E06060786C6666AE -:1044B0006666DC0000000000000000007CC6C0C092 -:1044C000C0C67C0000000000001C0C0C3C6CCCCC76 -:1044D000CCCC760000000000000000007CC6FEC0CE -:1044E000C0C67C000000000000386C6460F06060B2 -:1044F0006060F000000000000000000076CCCCCC32 -:10450000CCCC7C0CCC78000000E060606C766666F9 -:104510006666E60000000000001818003818181839 -:1045200018183C0000000000000606000E060606F3 -:1045300006060666663C000000E06060666C7878FF -:104540006C66E600000000000038181818181818EB -:1045500018183C000000000000000000ECFED6D659 -:10456000D6D6D6000000000000000000DC666666BB -:104570006666660000000000000000007CC6C6C63B -:10458000C6C67C000000000000000000DC66666615 -:1045900066667C6060F000000000000076CCCCCC49 -:1045A000CCCC7C0C0C1E000000000000DC766260AD -:1045B0006060F00000000000000000007CC6603871 -:1045C0000CC67C000000000000103030FC303030A1 -:1045D00030361C000000000000000000CCCCCCCC29 -:1045E000CCCC760000000000000000006666666625 -:1045F000663C18000000000000000000C6C6C6D6D9 -:10460000D6FE6C000000000000000000C66C3838C8 -:10461000386CC6000000000000000000C6C6C6C618 -:10462000C6C67E060CF8000000000000FECC183064 -:1046300060C6FE0000000000000E18181870181860 -:1046400018180E000000000000181818180018189C -:10465000181818000000000000701818180E18181C -:1046600018187000000000000076DC000000000058 -:1046700000000000000002030405060708090A0BF9 -:104680000C0D0E0F101002404104804204A04303A1 -:10469000804401004504204603C04704004802004E -:1046A0004904704A03A04B04404C02C04D02804EA6 -:1046B00003E04F04605004D0510340520300530103 -:1046C000805403205504105603605704905804B0DA -:1046D0005904C05A057831053832051833050834B5 -:1046E00005003505803605C03705E03805F0390589 -:1046F000F83006303F05902F4261636B0A436C69C6 -:10470000636B0A50726573730A53656C6520636846 -:10471000616E6765004261636B0A496E7075742053 -:104720006D6F64650A42757A7A65720A44697370BE -:104730006C61790A4C616E67756167650A41626FE9 -:10474000757400E8BF94E59B9E0AE8BE93E585A5D5 -:10475000E6A8A1E5BC8F0AE89C82E9B8A3E599A880 -:104760000AE698BEE7A4BA0AE8AFADE8A8800AE571 -:1047700085B3E4BA8E00E8BF94E59B9E0AE782B950 -:10478000E587BB0AE995BFE68C890AE98089E68B53 -:10479000A9E58887E68DA200B84700080000002040 -:1047A0003800000028010008F04700083800002009 -:1047B0006810000044010008010000001000000023 -:1047C0000101010000000000000000001547000882 -:1047D0004347000800000000000000000000000047 -:1047E000F846000876470008000000000024F400A6 +:102980002DE9F04F83B091460D46102A80460DD0B8 +:10299000B9F10C0F10D0B9F1080F0CBF4FF0060BB6 +:1029A0004FF0000B197861B966E000BF4FF0080BDB +:1029B000197831B960E000BF4FF0070B1978002992 +:1029C0005AD00C9C5E1C0127C24615E044F29E02C0 +:1029D000C0F6000202EB0111A1F500710091E9B20D +:1029E000082210230D9C0194FFF720FF0C9C00BFD0 +:1029F00016F8011B00293FD05FFA8AF00BEB000AA2 +:102A0000BAF17F0F1CD80A291AD0A1F120025E2A40 +:102A1000EED8B9F1100FD9D0B9F10C0F1CD0B9F123 +:102A2000080FE5D143F63212C0F6000202EBC101F5 +:102A3000A1F580710091E9B205220823D2E700BF19 +:102A400014B1F8B2A04217D24D44E8B23F2813D8CF +:102A50000137C246CCE700BF43F62A4201EB4101F1 +:102A6000C0F6000202EB8101A1F5C0710091E9B24C +:102A700006220C23B6E700BF03B0BDE8F08F0000CC +:102A80007047000070470000FEF710BA7047000062 +:102A900040F66C10C2F20000FEF794BF40F6B4108E +:102AA000C2F20000FEF78EBFFEE7000092B0FEF714 +:102AB0000BFA00240120CDE90B44CDE9094406902E +:102AC0000A904FF4E0104FF4803102250F9006A8D1 +:102AD000CDE90714CDE90D51FEF790FB20B1EFF3DE +:102AE000108072B6FEE700BF0F20CDE900054FF45D +:102AF0008060CDE90304684602210294FEF78AFA59 +:102B000020B1EFF3108072B6FEE700BF41F218006B +:102B1000C4F20200016840F6004841F01001016073 +:102B20000168C4F2010801F01001069106990168DC +:102B3000A8F5806541F0200101600168012201F0E3 +:102B40002001069106990168082641F00401016000 +:102B50000168012401F0040106910699016841F021 +:102B6000080101600068082100F00800069006983E +:102B70002846FDF7B3FF40464FF4805100224FF442 +:102B8000805B0027FDF7AAFF40464FF40041012279 +:102B9000FDF7A4FF28464FF480710022FDF79EFF49 +:102BA000CDE9066406AE4FF0030928463146089485 +:102BB000CDF82490FDF77AFE40F2000A0B20C1F216 +:102BC000110A06900AF50010CDE907044046314687 +:102BD000FDF76CFECDE906B44FF0020B40463146DE +:102BE0000897CDF824B0FDF761FE4FF40040CDE921 +:102BF000060440463146CDE90849FDF757FE4FF43B +:102C0000807006A981E8110828463146CDF8249045 +:102C1000FDF74CFE1020CDE9060A404631460894E7 +:102C2000FDF744FE2020CDE90607404631460894D2 +:102C3000FDF73CFE062000210022FEF7AFF906203A +:102C4000FEF79CF9072000210022FEF7A7F90720D4 +:102C5000FEF794F9092000210022FEF79FF90920D0 +:102C6000FEF78CF90A2000210022FEF797F90A20CE +:102C7000FEF784F940F61810A8F53841C2F20000BA +:102C800048F2A0624FF48043C0F2010280E886005F +:102C9000C0E90373C0E90577C0E90777FDF72AFFAC +:102CA00020B1EFF3108072B6FEE700BF40F66C1063 +:102CB000C2F200004FF080410397CDE90177CDE9E2 +:102CC0001077CDE90B77CDE909778761C0E9001767 +:102CD000C0E902770761FEF7C3FC28B1EFF310806B +:102CE00072B600BFFEE700BF4FF48050009040F680 +:102CF0006C10C2F200006946FEF798FD20B1EFF3B8 +:102D0000108072B6FEE700BF40F66C10C2F2000001 +:102D1000FFF732F820B1EFF3108072B6FEE700BF84 +:102D200040F66C10C2F2000010A9FEF75BFC28B15F +:102D3000EFF3108072B600BFFEE700BF6020069080 +:102D400040F66C100024C2F2000006A90822CDE96A +:102D500007440A94FEF716FF20B1EFF3108072B615 +:102D6000FEE700BF40F66C10C2F20000FEF7E2FE84 +:102D700040F6B410A8F58431C2F2000040F2E73307 +:102D80000994CDE90744CDE90044472280E81600C4 +:102D9000C0E903348461FEF763FC28B1EFF31080CF +:102DA00072B600BFFEE700BF4FF48050069040F6B9 +:102DB000B410C2F2000006A9FEF738FD20B1EFF30F +:102DC000108072B6FEE700BF40F6B410C2F20000F9 +:102DD0006946FEF707FC18B1EFF3108072B6FEE704 +:102DE00000F0B6F8FEE7000010B540F29804C2F219 +:102DF00000042078617840F6FC1C0844C2F2000C04 +:102E00002D23A2780CF800308020C8401043A07019 +:102E1000481CC1B2083918BF01466170FDF764FE55 +:102E200000F5E170A0600120E07010BD10B540F227 +:102E30009804C2F200042078617840F6FC1208443D +:102E4000C2F200022E231354481CC1B2083918BF25 +:102E500001466170FDF748FE00F5E170A0600120B9 +:102E6000E07010BD70B540F29804C2F20004E07842 +:102E7000012849D1FDF738FEA168884244D920785D +:102E800040F6FC1EC2F2000E44F29E6C00216378F4 +:102E9000A2780EEB0005C0F6000CE1704EF80010B1 +:102EA00069600CF104056FF0250103E0023105F1C2 +:102EB000060511D015F8046C9E4203D115F8036C79 +:102EC00096420DD015F8016C9E42EFD12E789642B5 +:102ED000ECD1273105E000BF20210EF800100EE0F4 +:102EE000263101EB4101614489780EF80010012080 +:102EF0002071FDF7F9FD00F196012078A160013005 +:102F000020700020A4F801002079012810D1FDF7DD +:102F1000EBFDA16888420BD900202071207840F693 +:102F2000FC11C2F2000120220A540130207000E09E +:102F30002078C0B2932818BF70BD40F6FC10C2F2D2 +:102F400000009321FDF722FA0020207070BD0000E0 +:102F50008EB040F60048C4F20108A8F58065284606 +:102F60004FF4807101220124FDF7B8FDFFF71EFA2E +:102F700040F66C10C2F200000821FEF777FF40F621 +:102F8000B410C2F20000FEF719FCFDF79BFB2846C7 +:102F9000082100224FF00009FDF7A0FD4FF47A70E0 +:102FA0004FF47A713222FDF799FB00204FF47A71C9 +:102FB0003222FDF793FB40F2A806C2F2000640F26F +:102FC000080B4FF0010A86F82E4006F1200406F1A6 +:102FD0001805C2F2000B06F1300006AF0290CDE9F1 +:102FE000045400BF40460821FDF76AFD0146204613 +:102FF000FDF7F2FB2846FDF727FC718C7061013963 +:10300000FD290FD89BF8001001290BD14FF47A70DD +:1030100064213222FDF762FB002000210022FDF72F +:103020005DFB7069B8B1FDF75FFDB16842F21072E7 +:103030001044022930610FD19BF8020001280BD106 +:103040004FF47A7032213222FDF748FB0020002134 +:103050000022FDF743FBB168032900F26682DFE836 +:1030600001F003077F8B00BFC6F808A05DE200BF38 +:1030700040460121FDF724FD01460298FDF7ACFB17 +:1030800040460221FDF71CFD014606F14000FDF718 +:10309000A3FB7069002802DCB6F8421069B14FF456 +:1030A0007A7032213222FDF719FB002032210022F2 +:1030B000FDF714FBFFF7BAFE7069002801D4708E8B +:1030C00060B14FF47A7096213222FDF707FB0020A1 +:1030D00032210022FDF702FBFFF786FE40F6FC13CB +:1030E000002000210822C2F200030125CDF8009043 +:1030F0000195FFF745FCB0887288013006F1500455 +:10310000B08020460FF25441FDF7BCF80020382172 +:1031100008222346CDF800904FF0010A0195FFF7F1 +:103120002FFC708CDDE90454FF2840F0FE819BF8F1 +:10313000010001280AD14FF47A7064213222FDF790 +:10314000CDFA002000210022FDF7C8FA0220B0606D +:10315000FDF7CAFC42F2107108443061E5E100BF9E +:1031600031787069728CA9B1012940F0D7810BF1D7 +:103170001001039211E000BF31787069728C002950 +:1031800000F08480012940F0C9810BF124010392F1 +:103190007FE000BF03920BF10C010C6800210022BC +:1031A00002E000BF0131043293B2E35C0A2B01D08C +:1031B0000BB91CE0013142F001039BB2E35C0A2B26 +:1031C00002D013B913E000BF013142F002039BB2F9 +:1031D000E35C0A2B02D013B909E000BF013142F0D1 +:1031E00003039BB2E35C0A2BDCD0002BDBD1DBE9D1 +:1031F000013289B2184420EAE070884202F10306E5 +:1032000088BF0846B042BCBF961C013A90424FF0BE +:103210000003C8BF01238E424FF00006B8BF01264D +:103220000329CBF8040040F2AD8003EA0601114403 +:103230000129CBF80810C0F2AB800022237863B9D3 +:1032400001E000BF0134013293B2994204F101045C +:1032500040F39E802378002BF5D00A2BF3D06378BF +:10326000002BEFD00A2BEDD0A3785BB10A2B09D04D +:10327000E3784BB10A2B07D004342378002BECD130 +:10328000E1E700BF0234DEE70334DCE703920BF131 +:1032900020010C680021002202E000BF013104324D +:1032A00093B2E35C0A2B01D00BB91CE0013142F070 +:1032B00001039BB2E35C0A2B02D013B913E000BFF9 +:1032C000013142F002039BB2E35C0A2B02D013B936 +:1032D00009E000BF013142F003039BB2E35C0A2B1B +:1032E000DCD0002BDBD1DBE9063289B2184420EABE +:1032F000E070884202F1030688BF0846B042BCBFB6 +:10330000961C013A90424FF00003C8BF01238E4241 +:103310004FF00006B8BF01260329CBF8180040F291 +:10332000998003EA060111440129CBF81C10C0F270 +:1033300097800022237863B901E000BF0134013295 +:1033400093B2994204F1010440F38A802378002B60 +:10335000F5D00A2BF3D06378002BEFD00A2BEDD0F9 +:10336000A3785BB10A2B09D0E3784BB10A2B07D0C5 +:1033700004342378002BECD1E1E700BF0234DEE710 +:103380000334DCE74D1C0021CBF8081001E000BF3E +:10339000042500264FF00008314481424FF0200000 +:1033A00008BF3E208DF818000120217821B30A299A +:1033B00022D082B2B9546278411CBAB10A2A15D01F +:1033C00089B27A54A278811C92B10A2A10D089B2AB +:1033D0007A54E278C11C6AB10A2A0BD089B27A54B5 +:1033E0000430043421780029E1D105E0013402E001 +:1033F000023400E00334084680B207F800904FEA38 +:103400000810C1B2002010223B46CDF80090CDF844 +:1034100004A0FFF7B5FA0136AE4205D0DBE90101A1 +:1034200008F101080134B7E7039840F60048C0B23C +:1034300040F2A806DDE904540128C4F20108C2F2F2 +:1034400000066BD1DBF80400022863D10320B060D2 +:1034500064E000BF01F101080021CBF81C1001E07D +:103460004FF0040800260025314481424FF020002F +:1034700008BF3E208DF818000120217821B30A29C9 +:1034800022D082B2B9546278411CBAB10A2A15D04E +:1034900089B27A54A278811C92B10A2A10D089B2DA +:1034A0007A54E278C11C6AB10A2A0BD089B27A54E4 +:1034B0000430043421780029E1D105E0013402E030 +:1034C000023400E00334084680B207F80090280177 +:1034D000C1B2002010223B46CDF80090CDF804A0E8 +:1034E000FFF74EFA0136464504D0DBE90601013507 +:1034F0000134B9E7039840F60048C0B240F2A8068C +:10350000DDE904540128C4F20108C2F2000605D125 +:10351000DBF81800002808BFC6F808A0FDF7E4FA99 +:103520003169884288BFC6F808A0FFF79BFCFDF709 +:10353000F1F8FEF7B7FEFDF7D7FAF16888427FF69B +:1035400051AD01F57A70F06040464FF40041FDF74F +:10355000BDFAB088A6F80490708043E54650533A0F +:10356000256400004FF47F0C1CEAD0121EBF1CEA39 +:10357000D11392EA0C0F93EA0C0F00F0858090EAC9 +:10358000010F48BF42F4807240F4000C41F4000087 +:103590002CF07F4120F07F4000B5A2EB0302814276 +:1035A0000FF2081CACEB504E9EF800E0C0F100009A +:1035B0004FEA4E0E00FB0EFC38BF49004FEA2C1CB0 +:1035C0000CFB0EF34FEACE1E0EEB635E4FEA112C9E +:1035D0000EFB0CFC4FEAC1214FEA1C5300FB031108 +:1035E00002F5FA024FEA112C0EFB0CFC4FEA0131F6 +:1035F0004FEADC4C00FB0C1142EB2242C14228BFD7 +:1036000009184CEB03335DF804EB10EB410143EB7D +:10361000C250B2F57C0F38BF704729D512F0F00FB9 +:103620001CBF00F1C04000F0004070470081828361 +:103630008485868788898B8C8D8E8F9192939596C1 +:1036400097999A9C9D9FA0A2A3A5A7A8AAACAEB04B +:10365000B2B3B5B7B9BCBEC0C2C5C7C9CCCED1D450 +:10366000D7D9DCDFE2E6E9ECF0F3F7FAFE00000080 +:103670004FEA400C0CF1807CBCF17E4F28BF7047B4 +:10368000B0F1C04000F043B90CEAD11390EA010F49 +:1036900048BF42F48072624538BF634507D213F4D5 +:1036A0007F0F16D080EA010000F00040704710B58F +:1036B00000F0E7F8097EFC3E00F005B880EA010062 +:1036C00000F00040704780EA010000F0004000F088 +:1036D0001EB912F47F0F04BF0248704780EA010050 +:1036E00000F015B90000C07FC10DD1F19E0206DBCC +:1036F0004FEA002343F0004323FA02F070470042F0 +:1037000007D54FEA4001B1F1FE4F02D24FF0000061 +:10371000704710B500F0B5F849922480002070473A +:103720006FEA20007047000010F0004148BF40429F +:10373000B0FA80F310FA03F2C3F19D030BD051EA03 +:10374000C35101EB1220530638BF704700F101004E +:1037500008BF20F001007047B0FA80F310FA03F2BE +:10376000C3F19D030AD0D90501EB1220530638BFDF +:10377000704700F1010008BF20F001007047000011 +:103780004FF47F0C1CEAD0121EBF1CEAD11392EA40 +:103790000C0F93EA0C0F00F0478090EA010F48BF2E +:1037A00042F480724FF0004C4CEA00204CEA0121B8 +:1037B00002EB0302A0FB0113A2F50002002918BFCF +:1037C00043F001035B0028BF4FEA330342EB224280 +:1037D0005FEA132C4CEBC2502EBFBCEB436FB2F52B +:1037E0007C0F70474FEA036CBCF1004F08BF20F01C +:1037F0000100B2F57C0F38BF70470BD582F0FF0295 +:1038000012F5803FC8BF704700F1C040D8BF00F03C +:103810000040704700F5000C5FEA4C0C48BF704751 +:10382000B0F1C04000F073B80CEAD11390EA010F78 +:1038300048BF42F48072624538BF634504D280EAD3 +:10384000010000F00040704710B500F01AF800BF0A +:103850008900013E00F007B800F009B85FEA410CAA +:103860005FEA1C6C08D080EA010000F050B85FEA03 +:10387000400C5FEA1C6CF6D14FF00040A0F58000D0 +:1038800070470EF1020E2EF0030E5EF8044B244238 +:1038900004D44FEA4102B2F17F4F11D84FEA4003FE +:1038A000B3F17F4F0CD80ED14FEAD07C0CEB4C0C0F +:1038B0000CF1020CB2F17F4F08BF4CEBD17C04E05D +:1038C0004FF0080C01E04FEAD17C0CEB4C0324FADA +:1038D00003F404F00704B4F1040C06D20EEB840CDC +:1038E000BDE810404CF0010C6047DFE80CF0070821 +:1038F00002024FF00040A0F5800010BD08464200D3 +:1039000018BFD2F1807288BF00F0004010BDFF21C7 +:1039100041EAD050C00570470102000000000000DD +:10392000000001020304060708090000000001026C +:1039300003040000000000000000202020202000E0 +:10394000200050505000000000005050F850F85037 +:1039500050002078C07028F02000C0C81020409887 +:10396000180040A0A040A89068003020400000004F +:103970000000102040404020100040201010102077 +:10398000400020A8702070A82000202020F82020CF +:1039900020000000000060408000000000F80000EF +:1039A000000000000000006060000008102040805F +:1039B0000000708898A8C88870002060202020200F +:1039C0007000708808304080F800F80810300888CF +:1039D000700010305090F8101000F880F00808883F +:1039E0007000384080F088887000F808102040404F +:1039F0004000708888708888700070888878081007 +:103A0000E0000060600060600000006060006060D6 +:103A1000800010204080402010000000F800F800D6 +:103A20000000402010081020400070881020200066 +:103A300020007088B8A8B880780020508888F8885E +:103A40008800F08888F08888F000708880808088FE +:103A50007000F08888888888F000F88080F0808086 +:103A6000F800F88080F08080800070888080B888BE +:103A70007800888888F88888880070202020202096 +:103A8000700038101010109060008890A0C0A090B6 +:103A90008800808080808080F80088D8A8A88888E6 +:103AA00088008888C8A8988888007088888888884E +:103AB0007000F08888F08080800070888888A890E6 +:103AC0006800F08888F0A09088007088807008886E +:103AD0007000F8202020202020008888888888888E +:103AE00070008888888888502000888888A8A8D88E +:103AF000880088885020508888008888502020209E +:103B00002000F80810204080F800F0C0C0C0C0C0FD +:103B1000F0000080402010080000781818181818CD +:103B200078002070A82020202000002040F84020AD +:103B3000000020100800000000000000E01070905D +:103B400068008080B0C888C8B0000000708880809D +:103B50007000080868988898680000007088F080F5 +:103B60007000304840F04040400000007088887885 +:103B700008F08080B0C888888800200000202020BD +:103B800020001000003010101060808090A0C0A0B5 +:103B900098006020202020207000000050A8A8A8D5 +:103BA000A8000000B0484848480000007088888895 +:103BB00070000000F08888F08080000078888878A5 +:103BC00008080000B04840404000000078807008BD +:103BD000F0004040F8404048300000009090909045 +:103BE000680000008888885020000000A8A8A8A8C5 +:103BF0005000000088502050880000008888986895 +:103C000008F00000F8102040F800204040804040BC +:103C1000200020202000202020002010100810105C +:103C20002000000040A8100000000000000000007C +:103C30000000000000000010101010100000100024 +:103C40000000006C48480000000000000000001464 +:103C500014287C287C285050000000103840403840 +:103C6000487010100000002050200C70081408004C +:103C7000000000000018202054483400000000100C +:103C800010101000000000000000000808101010C4 +:103C90001010100808000020201010101010102024 +:103CA000200000107C102828000000000000000008 +:103CB000101010FC101010000000000000000000A8 +:103CC00000181030200000000000007C0000000000 +:103CD0000000000000000000003030000000000480 +:103CE00004080810102020400000003844444444D8 +:103CF00044443800000000301010101010107C00F8 +:103D0000000000384404081020447C000000003803 +:103D100044041804044438000000000C1414244423 +:103D20007C040C000000003C2020380404443800CF +:103D30000000001C20407844444438000000007C0F +:103D400044040808081010000000003844443844B7 +:103D500044443800000000384444443C04087000E7 +:103D60000000000000303000003030000000000093 +:103D70000018180000183020000000000C106080AF +:103D800060100C000000000000007C007C000000BF +:103D900000000000C02018041820C000000000002F +:103DA000182404081000300000003844444C5454D7 +:103DB0004C40443800000030102828287C44EC0097 +:103DC000000000F8444478444444F8000000003CFB +:103DD0004440404040443800000000F0484444441F +:103DE0004448F000000000FC445070504044FC0087 +:103DF0000000007C20283828202070000000003CB3 +:103E00004440404C44443800000000EC44447C44AE +:103E10004444EC000000007C1010101010107C00D6 +:103E20000000003C0808084848483000000000EC4A +:103E3000444850704844E4000000007020202020D6 +:103E400024247C00000000EC6C6C54544444EC00CE +:103E5000000000EC64645454544CEC000000003842 +:103E60004444444444443800000000782424243866 +:103E70002020700000000038444444444444381C6E +:103E8000000000F8444444784844E0000000003456 +:103E90004C40380404645800000000FC90101010DE +:103EA00010103800000000EC4444444444443800FE +:103EB000000000EC4444282828101000000000EC0A +:103EC0004444545454542800000000C444281010A2 +:103ED0002844C400000000EC4428281010103800CA +:103EE0000000007C4408101020447C0000000038D2 +:103EF00020202020202020203800004020202010DA +:103F00001008080800000038080808080808080811 +:103F100038000010102844000000000000000000DD +:103F2000000000000000000000FC0010080000007D +:103F300000000000000000000038443C44443C0005 +:103F4000000000C0405864444444F80000000000F1 +:103F5000003C4440404438000000000C04344C4411 +:103F600044443C00000000000038447C40403C00D9 +:103F70000000001C207C202020207C00000000008D +:103F800000344C4444443C04380000C0405864446D +:103F90004444EC00000000100070101010107C0071 +:103FA000000000100078080808080808700000C029 +:103FB000405C48705048DC000000003010101010C9 +:103FC00010107C000000000000E854545454FC0021 +:103FD0000000000000D864444444EC0000000000ED +:103FE00000384444444438000000000000D86444D1 +:103FF00044447840E000000000344C4444443C0415 +:104000000C000000006C302020207C00000000002C +:10401000003C44380444780000000000207C20204C +:1040200020201C000000000000CC4444444C34001C +:104030000000000000EC44442828100000000000AC +:1040400000EC4454545428000000000000CC4830D8 +:104050003048CC000000000000EC44242818101068 +:1040600078000000007C481020447C00000000081C +:104070001010101020101010080000101010101058 +:104080001010101000000020101010100810101058 +:104090002000000000000024580000000000000084 +:1040A0000000000000000000000000000000000010 +:1040B00000183C3C3C181818001818000000006656 +:1040C000666666240000000000000000000000009A +:1040D00000006C6CFE6C6C6CFE6C6C0000001818C0 +:1040E000187CC6C2C07C0686C67C1818000000007A +:1040F000000000C2C60C183060C686000000000038 +:1041000000386C6C3876DCCCCCCC7600000000300B +:1041100030303060000000000000000000000000AF +:10412000000C18303030303030180C000000000027 +:104130000030180C0C0C0C0C0C18300000000000A7 +:1041400000000000663CFF3C66000000000000002C +:104150000000000018187E18180000000000000081 +:1041600000000000000000001818183000000000D7 +:10417000000000000000FE00000000000000000041 +:1041800000000000000000000018180000000000FF +:1041900000000002060C183060C080000000000023 +:1041A000007CC6C6CED6D6E6C6C67C00000000009F +:1041B000001838781818181818187E000000000029 +:1041C000007CC6060C183060C0C6FE00000000006F +:1041D000007CC606063C060606C67C000000000001 +:1041E000000C1C3C6CCCFE0C0C0C1E0000000000F3 +:1041F00000FEC0C0C0FC0E0606C67C000000000029 +:10420000003860C0C0FCC6C6C6C67C000000000006 +:1042100000FEC606060C18303030300000000000EA +:10422000007CC6C6C67CC6C6C6C67C0000000000B0 +:10423000007CC6C6C67E0606060C7800000000009C +:10424000000000181800000018180000000000000E +:1042500000000018180000001818300000000000CE +:104260000000060C18306030180C0600000000003A +:104270000000000000FE0000FE0000000000000042 +:1042800000006030180C060C1830600000000000C0 +:10429000007CC6C60C181818001818000000000092 +:1042A00000007CC6C6DEDEDEDCC07C000000000054 +:1042B0000010386CC6C6FEC6C6C6C60000000000A8 +:1042C00000FC6666667C66666666FC0000000000B0 +:1042D000003C66C2C0C0C0C0C2663C000000000016 +:1042E00000F86C6666666666666CF80000000000A2 +:1042F00000FE6662687868606266FE00000000008A +:1043000000FE6662687868606060F000000000008F +:10431000003C66C2C0C0DEC6C6663A0000000000AF +:1043200000C6C6C6C6FEC6C6C6C6C6000000000099 +:10433000003C18181818181818183C000000000045 +:10434000001E0C0C0C0C0CCCCCCC78000000000037 +:1043500000E6666C6C78786C6666E600000000002B +:1043600000F06060606060606266FE000000000057 +:1043700000C6EEFEFED6C6C6C6C6C60000000000D9 +:1043800000C6E6F6FEDECEC6C6C6C60000000000C9 +:1043900000386CC6C6C6C6C6C66C38000000000031 +:1043A00000FC6666667C60606060F00000000000F3 +:1043B000007CC6C6C6C6C6C6D6DE7C0C0E00000093 +:1043C00000FC6666667C6C666666E60000000000BF +:1043D000007CC6C660380C06C6C67C000000000023 +:1043E000007E7E5A1818181818183C0000000000AB +:1043F00000C6C6C6C6C6C6C6C6C67C00000000004B +:1044000000C6C6C6C6C6C6C66C381000000000008E +:1044100000C6C6C6C6C6D6D6FE6C6C00000000003C +:1044200000C6C66C6C38386C6CC6C6000000000054 +:1044300000666666663C181818183C00000000000C +:1044400000FEC6860C183060C2C6FE0000000000E8 +:10445000003C30303030303030303C000000000064 +:10446000000080C0E070381C0E0602000000000052 +:10447000003C0C0C0C0C0C0C0C0C3C00000010381C +:10448000386CC600000000000000000000000000C2 +:10449000000000000000000000000000FF003030BD +:1044A00030180000000000000000000000000000C4 +:1044B00000000000780C7CCCCCCC76000000000022 +:1044C00000E06060786C66666666DC0000000000F4 +:1044D000000000007CC6C0C0C0C67C000000000018 +:1044E000001C0C0C3C6CCCCCCCCC7600000000004A +:1044F000000000007CC6FEC0C0C67C0000000000BA +:1045000000386C6460F060606060F00000000000E3 +:104510000000000076CCCCCCCCCC7C0CCC7800005D +:1045200000E060606C7666666666E600000000008B +:10453000001818003818181818183C00000000005F +:10454000000606000E06060606060666663C000025 +:1045500000E06060666C78786C66E6000000000041 +:10456000003818181818181818183C000000000017 +:1045700000000000ECFED6D6D6D6D6000000000023 +:1045800000000000DC6666666666660000000000EB +:10459000000000007CC6C6C6C6C67C000000000045 +:1045A00000000000DC66666666667C6060F0000005 +:1045B0000000000076CCCCCCCCCC7C0C0C1E0000D7 +:1045C00000000000DC7662606060F0000000000027 +:1045D000000000007CC660380CC67C0000000000B3 +:1045E00000103030FC30303030361C00000000004D +:1045F00000000000CCCCCCCCCCCC7600000000007D +:104600000000000066666666663C18000000000058 +:1046100000000000C6C6C6D6D6FE6C000000000032 +:1046200000000000C66C3838386CC600000000007E +:1046300000000000C6C6C6C6C6C67E060CF800004E +:1046400000000000FECC183060C6FE000000000034 +:10465000000E18181870181818180E000000000026 +:104660000018181818001818181818000000000072 +:1046700000701818180E18181818700000000000A4 +:104680000076DC00000000000000000000000203D3 +:104690000405060708090A0B0C0D0E0F1010024046 +:1046A0004104804204A043038044010045042046A5 +:1046B00003C04704004802004904704A03A04B04A9 +:1046C000404C02C04D02804E03E04F04605004D0C5 +:1046D00051034052030053018054032055041056E7 +:1046E00003605704905804B05904C05A0578310546 +:1046F000383205183305083405003505803605C005 +:104700003705E03805F03905F83006303F05902FC1 +:104710004261636B0A436C69636B0A507265737321 +:104720000A53656C65206368616E6765004261636A +:104730006B0A496E707574206D6F64650A42757AF4 +:104740007A65720A446973706C61790A4C616E67AC +:10475000756167650A41626F757400E8BF94E59BF7 +:104760009E0AE8BE93E585A5E6A8A1E5BC8F0AE808 +:104770009C82E9B8A3E599A80AE698BEE7A4BA0A1C +:10478000E8AFADE8A8800AE585B3E4BA8E00E8BFDB +:1047900094E59B9E0AE782B9E587BB0AE995BFE6E7 +:1047A0008C890AE98089E68BA9E58887E68DA200D5 +:1047B000D047000800000020380000002801000851 +:1047C0000848000838000020681000004401000874 +:1047D00001000000100000000101010000000000C5 +:1047E000000000002D4700085B47000800000000A3 +:1047F0000000000000000000104700088E4700087D +:08480000000000000024F40098 :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 129b646..2247e44 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, 6180002: Last Updated: Mon Aug 8 22:27:17 2022 +

#<CALLGRAPH># ARM Linker, 6180002: Last Updated: Tue Aug 9 23:42:39 2022

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

Call chain for Maximum Stack Depth:

@@ -978,7 +978,7 @@ Global Symbols
[Called By]
  • >>   OLED_Str
-

OLED_Str (Thumb, 226 bytes, Stack size 48 bytes, oled.o(.text.OLED_Str)) +

OLED_Str (Thumb, 254 bytes, Stack size 48 bytes, oled.o(.text.OLED_Str))

[Stack]

  • Max Depth = 108
  • Call Chain = OLED_Str ⇒ OLED_Pix

[Calls]
  • >>   OLED_Pix @@ -1070,7 +1070,7 @@ Global Symbols
    [Called By]
    • >>   mymain
    -

    mymain (Thumb, 1552 bytes, Stack size 56 bytes, mymain.o(.text.mymain)) +

    mymain (Thumb, 1548 bytes, Stack size 56 bytes, mymain.o(.text.mymain))

    [Stack]

    • Max Depth = 200 + Unknown Stack Size
    • Call Chain = mymain ⇒ OLED_Cache_to_hardware ⇒ IIC_SAND_DATE ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite
    diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map index 38f8d87..88e75a8 100644 --- a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map +++ b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/f103c8t6_KEIL.map @@ -865,11 +865,13 @@ Section Cross References oled.o(.text.OLED_Ascii) refers to oled.o(.rodata.asc2_1608) for asc2_1608 oled.o(.text.OLED_Ascii) refers to oled.o(.rodata.asc2_1206) for asc2_1206 oled.o(.ARM.exidx.text.OLED_Ascii) refers to oled.o(.text.OLED_Ascii) for [Anonymous Symbol] - oled.o(.text.OLED_Str) refers to oled.o(.rodata.asc2_1206) for asc2_1206 - oled.o(.text.OLED_Str) refers to oled.o(.rodata.asc2_0805) for asc2_0805 - oled.o(.text.OLED_Str) refers to oled.o(.text.OLED_Pix) for OLED_Pix oled.o(.text.OLED_Str) refers to oled.o(.rodata.asc2_1608) for asc2_1608 + oled.o(.text.OLED_Str) refers to oled.o(.text.OLED_Pix) for OLED_Pix + oled.o(.text.OLED_Str) refers to oled.o(.rodata.asc2_0805) for asc2_0805 + oled.o(.text.OLED_Str) refers to oled.o(.rodata.asc2_1206) for asc2_1206 oled.o(.ARM.exidx.text.OLED_Str) refers to oled.o(.text.OLED_Str) for [Anonymous Symbol] + oled.o(.text.OLED_Str_list) refers to oled.o(.text.OLED_Str) for OLED_Str + oled.o(.ARM.exidx.text.OLED_Str_list) refers to oled.o(.text.OLED_Str_list) for [Anonymous Symbol] oled.o(.ARM.exidx.text.OLED_HL) refers to oled.o(.text.OLED_HL) for [Anonymous Symbol] oled.o(.ARM.exidx.text.OLED_VL) refers to oled.o(.text.OLED_VL) for [Anonymous Symbol] oled.o(.text.OLED_AL) refers to oled.o(.bss.OLED_buff) for OLED_buff @@ -1875,7 +1877,7 @@ Removing Unused input sections from the image. Removing hread_interface.o(.text.IIC_READ_DATE), (40 bytes). Removing hread_interface.o(.ARM.exidx.text.IIC_READ_DATE), (8 bytes). Removing mymain.o(.text), (0 bytes). - Removing mymain.o(.text.SHOW_MENU), (466 bytes). + Removing mymain.o(.text.SHOW_MENU), (470 bytes). Removing mymain.o(.ARM.exidx.text.SHOW_MENU), (8 bytes). Removing mymain.o(.text.di), (32 bytes). Removing mymain.o(.ARM.exidx.text.di), (8 bytes). @@ -1905,6 +1907,8 @@ Removing Unused input sections from the image. Removing oled.o(.text.OLED_Ascii), (138 bytes). Removing oled.o(.ARM.exidx.text.OLED_Ascii), (8 bytes). Removing oled.o(.ARM.exidx.text.OLED_Str), (8 bytes). + Removing oled.o(.text.OLED_Str_list), (174 bytes). + Removing oled.o(.ARM.exidx.text.OLED_Str_list), (8 bytes). Removing oled.o(.text.OLED_HL), (2 bytes). Removing oled.o(.ARM.exidx.text.OLED_HL), (8 bytes). Removing oled.o(.text.OLED_VL), (2 bytes). @@ -1933,7 +1937,7 @@ Removing Unused input sections from the image. Removing morsr.o(.ARM.exidx.text.mo_one_tick), (8 bytes). Removing morsr.o(.data.mo_one_tick.last_input), (1 bytes). -760 unused section(s) (total 53347 bytes) removed from the image. +762 unused section(s) (total 53533 bytes) removed from the image. ============================================================================== @@ -2223,30 +2227,30 @@ Image Symbol Table [Anonymous Symbol] 0x08002560 Section 0 oled.o(.text.OLED_Init_Display_Buffer) [Anonymous Symbol] 0x0800282c Section 0 oled.o(.text.OLED_Pix) [Anonymous Symbol] 0x08002980 Section 0 oled.o(.text.OLED_Str) - [Anonymous Symbol] 0x08002a64 Section 0 stm32f1xx_it.o(.text.PendSV_Handler) - [Anonymous Symbol] 0x08002a68 Section 0 stm32f1xx_it.o(.text.SVC_Handler) - [Anonymous Symbol] 0x08002a6c Section 0 stm32f1xx_it.o(.text.SysTick_Handler) - [Anonymous Symbol] 0x08002a70 Section 0 system_stm32f1xx.o(.text.SystemInit) - [Anonymous Symbol] 0x08002a74 Section 0 stm32f1xx_it.o(.text.TIM2_IRQHandler) - [Anonymous Symbol] 0x08002a80 Section 0 stm32f1xx_it.o(.text.TIM3_IRQHandler) - [Anonymous Symbol] 0x08002a8c Section 0 stm32f1xx_it.o(.text.UsageFault_Handler) - [Anonymous Symbol] 0x08002a90 Section 0 main.o(.text.main) - [Anonymous Symbol] 0x08002dcc Section 0 morsr.o(.text.mo_da) - [Anonymous Symbol] 0x08002e10 Section 0 morsr.o(.text.mo_di) - [Anonymous Symbol] 0x08002e48 Section 0 morsr.o(.text.mo_server) - [Anonymous Symbol] 0x08002f34 Section 0 mymain.o(.text.mymain) - _fdiv1 0x0800354d Thumb Code 0 fdiv.o(x$fpl$fdiv) - x$fpl$fdiv 0x0800354c Section 388 fdiv.o(x$fpl$fdiv) - x$fpl$ffixu 0x080036d0 Section 62 ffixu.o(x$fpl$ffixu) - x$fpl$fflt 0x08003710 Section 48 fflt_clz.o(x$fpl$fflt) - x$fpl$ffltu 0x08003740 Section 38 fflt_clz.o(x$fpl$ffltu) - x$fpl$fmul 0x08003768 Section 258 fmul.o(x$fpl$fmul) - x$fpl$fnaninf 0x0800386a Section 140 fnaninf.o(x$fpl$fnaninf) - x$fpl$fretinf 0x080038f6 Section 10 fretinf.o(x$fpl$fretinf) - .L__const.HAL_RCC_GetSysClockFreq.aPredivFactorTable 0x08003900 Data 2 stm32f1xx_hal_rcc.o(.rodata..L__const.HAL_RCC_GetSysClockFreq.aPredivFactorTable) - x$fpl$usenofp 0x08003900 Section 0 usenofp.o(x$fpl$usenofp) - .L__const.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable 0x08004676 Data 16 stm32f1xx_hal_rcc.o(.rodata.cst16) - [Anonymous Symbol] 0x080046f8 Section 0 mymain.o(.rodata.str1.1) + [Anonymous Symbol] 0x08002a80 Section 0 stm32f1xx_it.o(.text.PendSV_Handler) + [Anonymous Symbol] 0x08002a84 Section 0 stm32f1xx_it.o(.text.SVC_Handler) + [Anonymous Symbol] 0x08002a88 Section 0 stm32f1xx_it.o(.text.SysTick_Handler) + [Anonymous Symbol] 0x08002a8c Section 0 system_stm32f1xx.o(.text.SystemInit) + [Anonymous Symbol] 0x08002a90 Section 0 stm32f1xx_it.o(.text.TIM2_IRQHandler) + [Anonymous Symbol] 0x08002a9c Section 0 stm32f1xx_it.o(.text.TIM3_IRQHandler) + [Anonymous Symbol] 0x08002aa8 Section 0 stm32f1xx_it.o(.text.UsageFault_Handler) + [Anonymous Symbol] 0x08002aac Section 0 main.o(.text.main) + [Anonymous Symbol] 0x08002de8 Section 0 morsr.o(.text.mo_da) + [Anonymous Symbol] 0x08002e2c Section 0 morsr.o(.text.mo_di) + [Anonymous Symbol] 0x08002e64 Section 0 morsr.o(.text.mo_server) + [Anonymous Symbol] 0x08002f50 Section 0 mymain.o(.text.mymain) + _fdiv1 0x08003565 Thumb Code 0 fdiv.o(x$fpl$fdiv) + x$fpl$fdiv 0x08003564 Section 388 fdiv.o(x$fpl$fdiv) + x$fpl$ffixu 0x080036e8 Section 62 ffixu.o(x$fpl$ffixu) + x$fpl$fflt 0x08003728 Section 48 fflt_clz.o(x$fpl$fflt) + x$fpl$ffltu 0x08003758 Section 38 fflt_clz.o(x$fpl$ffltu) + x$fpl$fmul 0x08003780 Section 258 fmul.o(x$fpl$fmul) + x$fpl$fnaninf 0x08003882 Section 140 fnaninf.o(x$fpl$fnaninf) + x$fpl$fretinf 0x0800390e Section 10 fretinf.o(x$fpl$fretinf) + .L__const.HAL_RCC_GetSysClockFreq.aPredivFactorTable 0x08003918 Data 2 stm32f1xx_hal_rcc.o(.rodata..L__const.HAL_RCC_GetSysClockFreq.aPredivFactorTable) + x$fpl$usenofp 0x08003918 Section 0 usenofp.o(x$fpl$usenofp) + .L__const.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable 0x0800468e Data 16 stm32f1xx_hal_rcc.o(.rodata.cst16) + [Anonymous Symbol] 0x08004710 Section 0 mymain.o(.rodata.str1.1) .L_MergedGlobals 0x20000000 Data 8 stm32f1xx_hal.o(.data..L_MergedGlobals) [Anonymous Symbol] 0x20000000 Section 0 stm32f1xx_hal.o(.data..L_MergedGlobals) .L_MergedGlobals 0x20000008 Data 44 mymain.o(.data..L_MergedGlobals) @@ -2496,40 +2500,40 @@ Image Symbol Table OLED_Init 0x080023ad Thumb Code 434 oled.o(.text.OLED_Init) OLED_Init_Display_Buffer 0x08002561 Thumb Code 714 oled.o(.text.OLED_Init_Display_Buffer) OLED_Pix 0x0800282d Thumb Code 338 oled.o(.text.OLED_Pix) - OLED_Str 0x08002981 Thumb Code 226 oled.o(.text.OLED_Str) - PendSV_Handler 0x08002a65 Thumb Code 2 stm32f1xx_it.o(.text.PendSV_Handler) - SVC_Handler 0x08002a69 Thumb Code 2 stm32f1xx_it.o(.text.SVC_Handler) - SysTick_Handler 0x08002a6d Thumb Code 4 stm32f1xx_it.o(.text.SysTick_Handler) - SystemInit 0x08002a71 Thumb Code 2 system_stm32f1xx.o(.text.SystemInit) - TIM2_IRQHandler 0x08002a75 Thumb Code 12 stm32f1xx_it.o(.text.TIM2_IRQHandler) - TIM3_IRQHandler 0x08002a81 Thumb Code 12 stm32f1xx_it.o(.text.TIM3_IRQHandler) - UsageFault_Handler 0x08002a8d Thumb Code 2 stm32f1xx_it.o(.text.UsageFault_Handler) - main 0x08002a91 Thumb Code 826 main.o(.text.main) - mo_da 0x08002dcd Thumb Code 68 morsr.o(.text.mo_da) - mo_di 0x08002e11 Thumb Code 56 morsr.o(.text.mo_di) - mo_server 0x08002e49 Thumb Code 234 morsr.o(.text.mo_server) - mymain 0x08002f35 Thumb Code 1552 mymain.o(.text.mymain) - __aeabi_fdiv 0x0800354d Thumb Code 0 fdiv.o(x$fpl$fdiv) - _fdiv 0x0800354d Thumb Code 384 fdiv.o(x$fpl$fdiv) - __aeabi_f2uiz 0x080036d1 Thumb Code 0 ffixu.o(x$fpl$ffixu) - _ffixu 0x080036d1 Thumb Code 62 ffixu.o(x$fpl$ffixu) - __aeabi_i2f 0x08003711 Thumb Code 0 fflt_clz.o(x$fpl$fflt) - _fflt 0x08003711 Thumb Code 48 fflt_clz.o(x$fpl$fflt) - __aeabi_ui2f 0x08003741 Thumb Code 0 fflt_clz.o(x$fpl$ffltu) - _ffltu 0x08003741 Thumb Code 38 fflt_clz.o(x$fpl$ffltu) - __aeabi_fmul 0x08003769 Thumb Code 0 fmul.o(x$fpl$fmul) - _fmul 0x08003769 Thumb Code 258 fmul.o(x$fpl$fmul) - __fpl_fnaninf 0x0800386b Thumb Code 140 fnaninf.o(x$fpl$fnaninf) - __fpl_fretinf 0x080038f7 Thumb Code 10 fretinf.o(x$fpl$fretinf) - __I$use$fp 0x08003900 Number 0 usenofp.o(x$fpl$usenofp) - AHBPrescTable 0x08003902 Data 16 system_stm32f1xx.o(.rodata.AHBPrescTable) - APBPrescTable 0x08003912 Data 8 system_stm32f1xx.o(.rodata.APBPrescTable) - asc2_0805 0x0800391a Data 760 oled.o(.rodata.asc2_0805) - asc2_1206 0x08003c12 Data 1140 oled.o(.rodata.asc2_1206) - asc2_1608 0x08004086 Data 1520 oled.o(.rodata.asc2_1608) - morsecodes 0x08004686 Data 114 morsr.o(.rodata.morsecodes) - Region$$Table$$Base 0x08004798 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x080047b8 Number 0 anon$$obj.o(Region$$Table) + OLED_Str 0x08002981 Thumb Code 254 oled.o(.text.OLED_Str) + PendSV_Handler 0x08002a81 Thumb Code 2 stm32f1xx_it.o(.text.PendSV_Handler) + SVC_Handler 0x08002a85 Thumb Code 2 stm32f1xx_it.o(.text.SVC_Handler) + SysTick_Handler 0x08002a89 Thumb Code 4 stm32f1xx_it.o(.text.SysTick_Handler) + SystemInit 0x08002a8d Thumb Code 2 system_stm32f1xx.o(.text.SystemInit) + TIM2_IRQHandler 0x08002a91 Thumb Code 12 stm32f1xx_it.o(.text.TIM2_IRQHandler) + TIM3_IRQHandler 0x08002a9d Thumb Code 12 stm32f1xx_it.o(.text.TIM3_IRQHandler) + UsageFault_Handler 0x08002aa9 Thumb Code 2 stm32f1xx_it.o(.text.UsageFault_Handler) + main 0x08002aad Thumb Code 826 main.o(.text.main) + mo_da 0x08002de9 Thumb Code 68 morsr.o(.text.mo_da) + mo_di 0x08002e2d Thumb Code 56 morsr.o(.text.mo_di) + mo_server 0x08002e65 Thumb Code 234 morsr.o(.text.mo_server) + mymain 0x08002f51 Thumb Code 1548 mymain.o(.text.mymain) + __aeabi_fdiv 0x08003565 Thumb Code 0 fdiv.o(x$fpl$fdiv) + _fdiv 0x08003565 Thumb Code 384 fdiv.o(x$fpl$fdiv) + __aeabi_f2uiz 0x080036e9 Thumb Code 0 ffixu.o(x$fpl$ffixu) + _ffixu 0x080036e9 Thumb Code 62 ffixu.o(x$fpl$ffixu) + __aeabi_i2f 0x08003729 Thumb Code 0 fflt_clz.o(x$fpl$fflt) + _fflt 0x08003729 Thumb Code 48 fflt_clz.o(x$fpl$fflt) + __aeabi_ui2f 0x08003759 Thumb Code 0 fflt_clz.o(x$fpl$ffltu) + _ffltu 0x08003759 Thumb Code 38 fflt_clz.o(x$fpl$ffltu) + __aeabi_fmul 0x08003781 Thumb Code 0 fmul.o(x$fpl$fmul) + _fmul 0x08003781 Thumb Code 258 fmul.o(x$fpl$fmul) + __fpl_fnaninf 0x08003883 Thumb Code 140 fnaninf.o(x$fpl$fnaninf) + __fpl_fretinf 0x0800390f Thumb Code 10 fretinf.o(x$fpl$fretinf) + __I$use$fp 0x08003918 Number 0 usenofp.o(x$fpl$usenofp) + AHBPrescTable 0x0800391a Data 16 system_stm32f1xx.o(.rodata.AHBPrescTable) + APBPrescTable 0x0800392a Data 8 system_stm32f1xx.o(.rodata.APBPrescTable) + asc2_0805 0x08003932 Data 760 oled.o(.rodata.asc2_0805) + asc2_1206 0x08003c2a Data 1140 oled.o(.rodata.asc2_1206) + asc2_1608 0x0800409e Data 1520 oled.o(.rodata.asc2_1608) + morsecodes 0x0800469e Data 114 morsr.o(.rodata.morsecodes) + Region$$Table$$Base 0x080047b0 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080047d0 Number 0 anon$$obj.o(Region$$Table) uwTickFreq 0x20000000 Data 1 stm32f1xx_hal.o(.data..L_MergedGlobals) uwTickPrio 0x20000004 Data 4 stm32f1xx_hal.o(.data..L_MergedGlobals) config_buzzer_for_button_pass 0x20000008 Data 1 mymain.o(.data..L_MergedGlobals) @@ -2575,99 +2579,99 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000047f0, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00004808, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000047b8, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000047d0, 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 1129 * !!!main c_w.l(__main.o) - 0x080000f4 0x080000f4 0x00000034 Code RO 1384 !!!scatter c_w.l(__scatter.o) - 0x08000128 0x08000128 0x0000001a Code RO 1386 !!handler_copy c_w.l(__scatter_copy.o) + 0x080000ec 0x080000ec 0x00000008 Code RO 1131 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x00000034 Code RO 1386 !!!scatter c_w.l(__scatter.o) + 0x08000128 0x08000128 0x0000001a Code RO 1388 !!handler_copy c_w.l(__scatter_copy.o) 0x08000142 0x08000142 0x00000002 PAD - 0x08000144 0x08000144 0x0000001c Code RO 1388 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000160 0x08000160 0x00000000 Code RO 1124 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) - 0x08000160 0x08000160 0x00000006 Code RO 1123 .ARM.Collect$$_printf_percent$$00000009 c_w.l(_printf_d.o) - 0x08000166 0x08000166 0x00000004 Code RO 1191 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) - 0x0800016a 0x0800016a 0x00000002 Code RO 1319 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 1197 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 1199 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000000 Code RO 1201 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) - 0x0800016c 0x0800016c 0x00000008 Code RO 1202 .ARM.Collect$$libinit$$00000007 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1204 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1206 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1208 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1211 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1213 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1215 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1217 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1219 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1221 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1223 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1225 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1227 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1229 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1231 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1235 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1237 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1239 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000000 Code RO 1241 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000002 Code RO 1242 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) - 0x08000176 0x08000176 0x00000002 Code RO 1381 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000178 0x08000178 0x00000000 Code RO 1335 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000178 0x08000178 0x00000000 Code RO 1337 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000178 0x08000178 0x00000000 Code RO 1340 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) - 0x08000178 0x08000178 0x00000000 Code RO 1343 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) - 0x08000178 0x08000178 0x00000000 Code RO 1345 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000178 0x08000178 0x00000000 Code RO 1348 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) - 0x08000178 0x08000178 0x00000002 Code RO 1349 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) - 0x0800017a 0x0800017a 0x00000000 Code RO 1161 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x0800017a 0x0800017a 0x00000000 Code RO 1260 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x0800017a 0x0800017a 0x00000006 Code RO 1272 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x08000180 0x08000180 0x00000000 Code RO 1262 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x08000180 0x08000180 0x00000004 Code RO 1263 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000184 0x08000184 0x00000000 Code RO 1265 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000184 0x08000184 0x00000008 Code RO 1266 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800018c 0x0800018c 0x00000002 Code RO 1324 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800018e 0x0800018e 0x00000000 Code RO 1355 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800018e 0x0800018e 0x00000004 Code RO 1356 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000192 0x08000192 0x00000006 Code RO 1357 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000144 0x08000144 0x0000001c Code RO 1390 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000160 0x08000160 0x00000000 Code RO 1126 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) + 0x08000160 0x08000160 0x00000006 Code RO 1125 .ARM.Collect$$_printf_percent$$00000009 c_w.l(_printf_d.o) + 0x08000166 0x08000166 0x00000004 Code RO 1193 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) + 0x0800016a 0x0800016a 0x00000002 Code RO 1321 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 1199 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 1201 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000000 Code RO 1203 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) + 0x0800016c 0x0800016c 0x00000008 Code RO 1204 .ARM.Collect$$libinit$$00000007 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1206 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1208 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1210 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1213 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1215 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1217 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1219 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1221 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1223 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1225 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1227 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1229 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1231 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1233 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1237 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1239 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1241 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000000 Code RO 1243 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000002 Code RO 1244 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) + 0x08000176 0x08000176 0x00000002 Code RO 1383 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000178 0x08000178 0x00000000 Code RO 1337 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000178 0x08000178 0x00000000 Code RO 1339 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000178 0x08000178 0x00000000 Code RO 1342 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x08000178 0x08000178 0x00000000 Code RO 1345 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x08000178 0x08000178 0x00000000 Code RO 1347 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000178 0x08000178 0x00000000 Code RO 1350 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x08000178 0x08000178 0x00000002 Code RO 1351 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x0800017a 0x0800017a 0x00000000 Code RO 1163 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x0800017a 0x0800017a 0x00000000 Code RO 1262 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x0800017a 0x0800017a 0x00000006 Code RO 1274 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x08000180 0x08000180 0x00000000 Code RO 1264 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x08000180 0x08000180 0x00000004 Code RO 1265 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000184 0x08000184 0x00000000 Code RO 1267 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000184 0x08000184 0x00000008 Code RO 1268 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800018c 0x0800018c 0x00000002 Code RO 1326 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800018e 0x0800018e 0x00000000 Code RO 1357 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800018e 0x0800018e 0x00000004 Code RO 1358 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000192 0x08000192 0x00000006 Code RO 1359 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000198 0x08000198 0x00000040 Code RO 4 .text startup_stm32f103xb.o - 0x080001d8 0x080001d8 0x0000005e Code RO 1037 .text c_w.l(h1_alloc.o) - 0x08000236 0x08000236 0x0000004e Code RO 1039 .text c_w.l(h1_free.o) - 0x08000284 0x08000284 0x00000028 Code RO 1097 .text c_w.l(noretval__2sprintf.o) - 0x080002ac 0x080002ac 0x00000068 Code RO 1099 .text c_w.l(__printf.o) - 0x08000314 0x08000314 0x00000078 Code RO 1101 .text c_w.l(_printf_dec.o) - 0x0800038c 0x0800038c 0x0000004e Code RO 1125 .text c_w.l(rt_memclr_w.o) - 0x080003da 0x080003da 0x00000006 Code RO 1127 .text c_w.l(heapauxi.o) - 0x080003e0 0x080003e0 0x00000008 Code RO 1165 .text c_w.l(rt_heap_descriptor_intlibspace.o) - 0x080003e8 0x080003e8 0x00000004 Code RO 1167 .text c_w.l(hguard.o) - 0x080003ec 0x080003ec 0x0000008a Code RO 1169 .text c_w.l(init_alloc.o) - 0x08000476 0x08000476 0x0000000e Code RO 1173 .text c_w.l(h1_init.o) - 0x08000484 0x08000484 0x000000b2 Code RO 1185 .text c_w.l(_printf_intcommon.o) + 0x080001d8 0x080001d8 0x0000005e Code RO 1039 .text c_w.l(h1_alloc.o) + 0x08000236 0x08000236 0x0000004e Code RO 1041 .text c_w.l(h1_free.o) + 0x08000284 0x08000284 0x00000028 Code RO 1099 .text c_w.l(noretval__2sprintf.o) + 0x080002ac 0x080002ac 0x00000068 Code RO 1101 .text c_w.l(__printf.o) + 0x08000314 0x08000314 0x00000078 Code RO 1103 .text c_w.l(_printf_dec.o) + 0x0800038c 0x0800038c 0x0000004e Code RO 1127 .text c_w.l(rt_memclr_w.o) + 0x080003da 0x080003da 0x00000006 Code RO 1129 .text c_w.l(heapauxi.o) + 0x080003e0 0x080003e0 0x00000008 Code RO 1167 .text c_w.l(rt_heap_descriptor_intlibspace.o) + 0x080003e8 0x080003e8 0x00000004 Code RO 1169 .text c_w.l(hguard.o) + 0x080003ec 0x080003ec 0x0000008a Code RO 1171 .text c_w.l(init_alloc.o) + 0x08000476 0x08000476 0x0000000e Code RO 1175 .text c_w.l(h1_init.o) + 0x08000484 0x08000484 0x000000b2 Code RO 1187 .text c_w.l(_printf_intcommon.o) 0x08000536 0x08000536 0x00000002 PAD - 0x08000538 0x08000538 0x00000030 Code RO 1187 .text c_w.l(_printf_char_common.o) - 0x08000568 0x08000568 0x0000000a Code RO 1189 .text c_w.l(_sputc.o) + 0x08000538 0x08000538 0x00000030 Code RO 1189 .text c_w.l(_printf_char_common.o) + 0x08000568 0x08000568 0x0000000a Code RO 1191 .text c_w.l(_sputc.o) 0x08000572 0x08000572 0x00000002 PAD - 0x08000574 0x08000574 0x00000008 Code RO 1256 .text c_w.l(libspace.o) - 0x0800057c 0x0800057c 0x00000000 Code RO 1276 .text c_w.l(maybetermalloc1.o) - 0x0800057c 0x0800057c 0x00000034 Code RO 1278 .text c_w.l(h1_extend.o) - 0x080005b0 0x080005b0 0x0000000e Code RO 1284 .text c_w.l(defsig_rtmem_outer.o) - 0x080005be 0x080005be 0x00000002 Code RO 1295 .text c_w.l(use_no_semi.o) - 0x080005c0 0x080005c0 0x00000000 Code RO 1297 .text c_w.l(indicate_semi.o) - 0x080005c0 0x080005c0 0x0000004a Code RO 1298 .text c_w.l(sys_stackheap_outer.o) - 0x0800060a 0x0800060a 0x00000012 Code RO 1304 .text c_w.l(exit.o) - 0x0800061c 0x0800061c 0x0000000a Code RO 1306 .text c_w.l(defsig_exit.o) + 0x08000574 0x08000574 0x00000008 Code RO 1258 .text c_w.l(libspace.o) + 0x0800057c 0x0800057c 0x00000000 Code RO 1278 .text c_w.l(maybetermalloc1.o) + 0x0800057c 0x0800057c 0x00000034 Code RO 1280 .text c_w.l(h1_extend.o) + 0x080005b0 0x080005b0 0x0000000e Code RO 1286 .text c_w.l(defsig_rtmem_outer.o) + 0x080005be 0x080005be 0x00000002 Code RO 1297 .text c_w.l(use_no_semi.o) + 0x080005c0 0x080005c0 0x00000000 Code RO 1299 .text c_w.l(indicate_semi.o) + 0x080005c0 0x080005c0 0x0000004a Code RO 1300 .text c_w.l(sys_stackheap_outer.o) + 0x0800060a 0x0800060a 0x00000012 Code RO 1306 .text c_w.l(exit.o) + 0x0800061c 0x0800061c 0x0000000a Code RO 1308 .text c_w.l(defsig_exit.o) 0x08000626 0x08000626 0x00000002 PAD - 0x08000628 0x08000628 0x00000050 Code RO 1308 .text c_w.l(defsig_rtmem_inner.o) - 0x08000678 0x08000678 0x0000000c Code RO 1320 .text c_w.l(sys_exit.o) - 0x08000684 0x08000684 0x00000032 Code RO 1332 .text c_w.l(defsig_general.o) - 0x080006b6 0x080006b6 0x0000000e Code RO 1350 .text c_w.l(sys_wrch.o) - 0x080006c4 0x080006c4 0x00000018 Code RO 983 .text.BUZZER_PLAY_INIT buzzer.o - 0x080006dc 0x080006dc 0x00000036 Code RO 985 .text.BUZZER_PLAY_NOTES buzzer.o + 0x08000628 0x08000628 0x00000050 Code RO 1310 .text c_w.l(defsig_rtmem_inner.o) + 0x08000678 0x08000678 0x0000000c Code RO 1322 .text c_w.l(sys_exit.o) + 0x08000684 0x08000684 0x00000032 Code RO 1334 .text c_w.l(defsig_general.o) + 0x080006b6 0x080006b6 0x0000000e Code RO 1352 .text c_w.l(sys_wrch.o) + 0x080006c4 0x080006c4 0x00000018 Code RO 985 .text.BUZZER_PLAY_INIT buzzer.o + 0x080006dc 0x080006dc 0x00000036 Code RO 987 .text.BUZZER_PLAY_NOTES buzzer.o 0x08000712 0x08000712 0x00000002 PAD - 0x08000714 0x08000714 0x0000009c Code RO 987 .text.BUZZER_PLAY_SERVER buzzer.o + 0x08000714 0x08000714 0x0000009c Code RO 989 .text.BUZZER_PLAY_SERVER buzzer.o 0x080007b0 0x080007b0 0x00000002 Code RO 34 .text.BusFault_Handler stm32f1xx_it.o 0x080007b2 0x080007b2 0x00000002 PAD 0x080007b4 0x080007b4 0x00000002 Code RO 40 .text.DebugMon_Handler stm32f1xx_it.o @@ -2680,9 +2684,9 @@ Memory Map of the image 0x080007ce 0x080007ce 0x00000002 PAD 0x080007d0 0x080007d0 0x00000006 Code RO 52 .text.EXTI4_IRQHandler stm32f1xx_it.o 0x080007d6 0x080007d6 0x00000002 PAD - 0x080007d8 0x080007d8 0x0000006e Code RO 998 .text.GEI_BUTTON_CODE encode.o + 0x080007d8 0x080007d8 0x0000006e Code RO 1000 .text.GEI_BUTTON_CODE encode.o 0x08000846 0x08000846 0x00000002 PAD - 0x08000848 0x08000848 0x0000000a Code RO 1000 .text.GET_ENCODE encode.o + 0x08000848 0x08000848 0x0000000a Code RO 1002 .text.GET_ENCODE encode.o 0x08000852 0x08000852 0x00000002 PAD 0x08000854 0x08000854 0x0000003e Code RO 919 .text.HAL_GPIO_EXTI_Callback mymain.o 0x08000892 0x08000892 0x00000002 PAD @@ -2769,68 +2773,68 @@ Memory Map of the image 0x0800282a 0x0800282a 0x00000002 PAD 0x0800282c 0x0800282c 0x00000152 Code RO 953 .text.OLED_Pix oled.o 0x0800297e 0x0800297e 0x00000002 PAD - 0x08002980 0x08002980 0x000000e2 Code RO 957 .text.OLED_Str oled.o - 0x08002a62 0x08002a62 0x00000002 PAD - 0x08002a64 0x08002a64 0x00000002 Code RO 42 .text.PendSV_Handler stm32f1xx_it.o - 0x08002a66 0x08002a66 0x00000002 PAD - 0x08002a68 0x08002a68 0x00000002 Code RO 38 .text.SVC_Handler stm32f1xx_it.o - 0x08002a6a 0x08002a6a 0x00000002 PAD - 0x08002a6c 0x08002a6c 0x00000004 Code RO 44 .text.SysTick_Handler stm32f1xx_it.o - 0x08002a70 0x08002a70 0x00000002 Code RO 884 .text.SystemInit system_stm32f1xx.o - 0x08002a72 0x08002a72 0x00000002 PAD - 0x08002a74 0x08002a74 0x0000000c Code RO 54 .text.TIM2_IRQHandler stm32f1xx_it.o - 0x08002a80 0x08002a80 0x0000000c Code RO 56 .text.TIM3_IRQHandler stm32f1xx_it.o - 0x08002a8c 0x08002a8c 0x00000002 Code RO 36 .text.UsageFault_Handler stm32f1xx_it.o + 0x08002980 0x08002980 0x000000fe Code RO 957 .text.OLED_Str oled.o + 0x08002a7e 0x08002a7e 0x00000002 PAD + 0x08002a80 0x08002a80 0x00000002 Code RO 42 .text.PendSV_Handler stm32f1xx_it.o + 0x08002a82 0x08002a82 0x00000002 PAD + 0x08002a84 0x08002a84 0x00000002 Code RO 38 .text.SVC_Handler stm32f1xx_it.o + 0x08002a86 0x08002a86 0x00000002 PAD + 0x08002a88 0x08002a88 0x00000004 Code RO 44 .text.SysTick_Handler stm32f1xx_it.o + 0x08002a8c 0x08002a8c 0x00000002 Code RO 884 .text.SystemInit system_stm32f1xx.o 0x08002a8e 0x08002a8e 0x00000002 PAD - 0x08002a90 0x08002a90 0x0000033a Code RO 11 .text.main main.o - 0x08002dca 0x08002dca 0x00000002 PAD - 0x08002dcc 0x08002dcc 0x00000044 Code RO 1016 .text.mo_da morsr.o - 0x08002e10 0x08002e10 0x00000038 Code RO 1014 .text.mo_di morsr.o - 0x08002e48 0x08002e48 0x000000ea Code RO 1012 .text.mo_server morsr.o - 0x08002f32 0x08002f32 0x00000002 PAD - 0x08002f34 0x08002f34 0x00000618 Code RO 917 .text.mymain mymain.o - 0x0800354c 0x0800354c 0x00000184 Code RO 1144 x$fpl$fdiv fz_ws.l(fdiv.o) - 0x080036d0 0x080036d0 0x0000003e Code RO 1147 x$fpl$ffixu fz_ws.l(ffixu.o) - 0x0800370e 0x0800370e 0x00000002 PAD - 0x08003710 0x08003710 0x00000030 Code RO 1152 x$fpl$fflt fz_ws.l(fflt_clz.o) - 0x08003740 0x08003740 0x00000026 Code RO 1151 x$fpl$ffltu fz_ws.l(fflt_clz.o) - 0x08003766 0x08003766 0x00000002 PAD - 0x08003768 0x08003768 0x00000102 Code RO 1157 x$fpl$fmul fz_ws.l(fmul.o) - 0x0800386a 0x0800386a 0x0000008c Code RO 1247 x$fpl$fnaninf fz_ws.l(fnaninf.o) - 0x080038f6 0x080038f6 0x0000000a Code RO 1249 x$fpl$fretinf fz_ws.l(fretinf.o) - 0x08003900 0x08003900 0x00000000 Code RO 1251 x$fpl$usenofp fz_ws.l(usenofp.o) - 0x08003900 0x08003900 0x00000002 Data RO 322 .rodata..L__const.HAL_RCC_GetSysClockFreq.aPredivFactorTable stm32f1xx_hal_rcc.o - 0x08003902 0x08003902 0x00000010 Data RO 889 .rodata.AHBPrescTable system_stm32f1xx.o - 0x08003912 0x08003912 0x00000008 Data RO 890 .rodata.APBPrescTable system_stm32f1xx.o - 0x0800391a 0x0800391a 0x000002f8 Data RO 969 .rodata.asc2_0805 oled.o - 0x08003c12 0x08003c12 0x00000474 Data RO 970 .rodata.asc2_1206 oled.o - 0x08004086 0x08004086 0x000005f0 Data RO 971 .rodata.asc2_1608 oled.o - 0x08004676 0x08004676 0x00000010 Data RO 321 .rodata.cst16 stm32f1xx_hal_rcc.o - 0x08004686 0x08004686 0x00000072 Data RO 1020 .rodata.morsecodes morsr.o - 0x080046f8 0x080046f8 0x000000a0 Data RO 924 .rodata.str1.1 mymain.o - 0x08004798 0x08004798 0x00000020 Data RO 1383 Region$$Table anon$$obj.o + 0x08002a90 0x08002a90 0x0000000c Code RO 54 .text.TIM2_IRQHandler stm32f1xx_it.o + 0x08002a9c 0x08002a9c 0x0000000c Code RO 56 .text.TIM3_IRQHandler stm32f1xx_it.o + 0x08002aa8 0x08002aa8 0x00000002 Code RO 36 .text.UsageFault_Handler stm32f1xx_it.o + 0x08002aaa 0x08002aaa 0x00000002 PAD + 0x08002aac 0x08002aac 0x0000033a Code RO 11 .text.main main.o + 0x08002de6 0x08002de6 0x00000002 PAD + 0x08002de8 0x08002de8 0x00000044 Code RO 1018 .text.mo_da morsr.o + 0x08002e2c 0x08002e2c 0x00000038 Code RO 1016 .text.mo_di morsr.o + 0x08002e64 0x08002e64 0x000000ea Code RO 1014 .text.mo_server morsr.o + 0x08002f4e 0x08002f4e 0x00000002 PAD + 0x08002f50 0x08002f50 0x00000614 Code RO 917 .text.mymain mymain.o + 0x08003564 0x08003564 0x00000184 Code RO 1146 x$fpl$fdiv fz_ws.l(fdiv.o) + 0x080036e8 0x080036e8 0x0000003e Code RO 1149 x$fpl$ffixu fz_ws.l(ffixu.o) + 0x08003726 0x08003726 0x00000002 PAD + 0x08003728 0x08003728 0x00000030 Code RO 1154 x$fpl$fflt fz_ws.l(fflt_clz.o) + 0x08003758 0x08003758 0x00000026 Code RO 1153 x$fpl$ffltu fz_ws.l(fflt_clz.o) + 0x0800377e 0x0800377e 0x00000002 PAD + 0x08003780 0x08003780 0x00000102 Code RO 1159 x$fpl$fmul fz_ws.l(fmul.o) + 0x08003882 0x08003882 0x0000008c Code RO 1249 x$fpl$fnaninf fz_ws.l(fnaninf.o) + 0x0800390e 0x0800390e 0x0000000a Code RO 1251 x$fpl$fretinf fz_ws.l(fretinf.o) + 0x08003918 0x08003918 0x00000000 Code RO 1253 x$fpl$usenofp fz_ws.l(usenofp.o) + 0x08003918 0x08003918 0x00000002 Data RO 322 .rodata..L__const.HAL_RCC_GetSysClockFreq.aPredivFactorTable stm32f1xx_hal_rcc.o + 0x0800391a 0x0800391a 0x00000010 Data RO 889 .rodata.AHBPrescTable system_stm32f1xx.o + 0x0800392a 0x0800392a 0x00000008 Data RO 890 .rodata.APBPrescTable system_stm32f1xx.o + 0x08003932 0x08003932 0x000002f8 Data RO 971 .rodata.asc2_0805 oled.o + 0x08003c2a 0x08003c2a 0x00000474 Data RO 972 .rodata.asc2_1206 oled.o + 0x0800409e 0x0800409e 0x000005f0 Data RO 973 .rodata.asc2_1608 oled.o + 0x0800468e 0x0800468e 0x00000010 Data RO 321 .rodata.cst16 stm32f1xx_hal_rcc.o + 0x0800469e 0x0800469e 0x00000072 Data RO 1022 .rodata.morsecodes morsr.o + 0x08004710 0x08004710 0x000000a0 Data RO 924 .rodata.str1.1 mymain.o + 0x080047b0 0x080047b0 0x00000020 Data RO 1385 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080047b8, Size: 0x000010a0, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080047d0, Size: 0x000010a0, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x080047b8 0x00000008 Data RW 284 .data..L_MergedGlobals stm32f1xx_hal.o - 0x20000008 0x080047c0 0x0000002c Data RW 927 .data..L_MergedGlobals mymain.o - 0x20000034 0x080047ec 0x00000004 Data RW 888 .data.SystemCoreClock system_stm32f1xx.o - 0x20000038 - 0x00000060 Zero RW 1257 .bss c_w.l(libspace.o) - 0x20000098 - 0x00000010 Zero RW 1023 .bss..L_MergedGlobals morsr.o + 0x20000000 0x080047d0 0x00000008 Data RW 284 .data..L_MergedGlobals stm32f1xx_hal.o + 0x20000008 0x080047d8 0x0000002c Data RW 927 .data..L_MergedGlobals mymain.o + 0x20000034 0x08004804 0x00000004 Data RW 888 .data.SystemCoreClock system_stm32f1xx.o + 0x20000038 - 0x00000060 Zero RW 1259 .bss c_w.l(libspace.o) + 0x20000098 - 0x00000010 Zero RW 1025 .bss..L_MergedGlobals morsr.o 0x200000a8 - 0x00000060 Zero RW 928 .bss..L_MergedGlobals.9 mymain.o - 0x20000108 - 0x00000400 Zero RW 967 .bss.OLED_buff oled.o - 0x20000508 - 0x00000400 Zero RW 968 .bss.OLED_speedup oled.o - 0x20000908 - 0x00000010 Zero RW 989 .bss.buzzer_play_buff buzzer.o + 0x20000108 - 0x00000400 Zero RW 969 .bss.OLED_buff oled.o + 0x20000508 - 0x00000400 Zero RW 970 .bss.OLED_speedup oled.o + 0x20000908 - 0x00000010 Zero RW 991 .bss.buzzer_play_buff buzzer.o 0x20000918 - 0x00000054 Zero RW 17 .bss.hi2c1 main.o 0x2000096c - 0x00000048 Zero RW 18 .bss.htim2 main.o 0x200009b4 - 0x00000048 Zero RW 19 .bss.htim3 main.o - 0x200009fc - 0x0000009b Zero RW 1021 .bss.moser_buff morsr.o - 0x20000a97 0x080047f0 0x00000001 PAD + 0x200009fc - 0x0000009b Zero RW 1023 .bss.moser_buff morsr.o + 0x20000a97 0x08004808 0x00000001 PAD 0x20000a98 - 0x00000004 Zero RW 283 .bss.uwTick stm32f1xx_hal.o - 0x20000a9c 0x080047f0 0x00000004 PAD + 0x20000a9c 0x08004808 0x00000004 PAD 0x20000aa0 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o 0x20000ca0 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o @@ -2847,8 +2851,8 @@ Image component sizes 40 0 0 0 0 1968 hread_interface.o 826 0 0 0 228 9266 main.o 358 0 114 0 171 2925 morsr.o - 1624 14 160 44 96 10308 mymain.o - 1974 6 3420 0 2048 20571 oled.o + 1620 14 160 44 96 10282 mymain.o + 2002 6 3420 0 2048 21551 oled.o 64 26 236 0 1536 800 startup_stm32f103xb.o 148 0 0 8 4 5749 stm32f1xx_hal.o 194 0 0 0 0 8475 stm32f1xx_hal_cortex.o @@ -2862,7 +2866,7 @@ Image component sizes 2 0 24 4 0 1629 system_stm32f1xx.o ---------------------------------------------------------------------- - 11976 72 4004 56 4104 218796 Object Totals + 12000 72 4004 56 4104 219750 Object Totals 0 0 32 0 0 0 (incl. Generated) 104 0 0 0 5 0 (incl. Padding) @@ -2942,15 +2946,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 14356 266 4004 56 4200 219764 Grand Totals - 14356 266 4004 56 4200 219764 ELF Image Totals - 14356 266 4004 56 0 0 ROM Totals + 14380 266 4004 56 4200 220718 Grand Totals + 14380 266 4004 56 4200 220718 ELF Image Totals + 14380 266 4004 56 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 18360 ( 17.93kB) + Total RO Size (Code + RO Data) 18384 ( 17.95kB) Total RW Size (RW Data + ZI Data) 4256 ( 4.16kB) - Total ROM Size (Code + RO Data + RW Data) 18416 ( 17.98kB) + Total ROM Size (Code + RO Data + RW Data) 18440 ( 18.01kB) ============================================================================== 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 c020614..9543b5e 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 @@ -33,7 +33,7 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x62F0F577) I (MYDEIVERS\mymain.h)(0x62F11C12) -I (MYDEIVERS\oled.h)(0x62F11C12) +I (MYDEIVERS\oled.h)(0x62F27D6E) I (MYDEIVERS\hread_interface.h)(0x62F0F577) I (MYDEIVERS\buzzer.h)(0x62F0F577) I (MYDEIVERS\encode.h)(0x62F0F577) @@ -583,7 +583,7 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2c.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x62F0F577) -F (.\MYDEIVERS\mymain.c)(0x62F11D43)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -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/wuwen/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/wuwen/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="537" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil/mymain.o -MD) +F (.\MYDEIVERS\mymain.c)(0x62F2806E)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -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/wuwen/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/wuwen/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="537" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil/mymain.o -MD) I (MYDEIVERS\mymain.h)(0x62F11C12) I (..\Core\Inc\main.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h)(0x62F0F577) @@ -615,13 +615,13 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2c.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x62F0F577) -I (MYDEIVERS\oled.h)(0x62F11C12) +I (MYDEIVERS\oled.h)(0x62F27D6E) I (MYDEIVERS\hread_interface.h)(0x62F0F577) I (MYDEIVERS\buzzer.h)(0x62F0F577) I (MYDEIVERS\encode.h)(0x62F0F577) I (MYDEIVERS\morsr.h)(0x62F0F577) -F (.\MYDEIVERS\oled.c)(0x62F11BF7)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -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/wuwen/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/wuwen/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="537" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil/oled.o -MD) -I (MYDEIVERS\oled.h)(0x62F11C12) +F (.\MYDEIVERS\oled.c)(0x62F28015)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -gdwarf-4 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -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/wuwen/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/wuwen/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="537" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6_keil/oled.o -MD) +I (MYDEIVERS\oled.h)(0x62F27D6E) I (..\Core\Inc\main.h)(0x62F0F577) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h)(0x62F0F577) I (..\Core\Inc\stm32f1xx_hal_conf.h)(0x62F0F577) diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.o b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/mymain.o index 78f6e95b8639a6d15f2bbe25034a53226b117024..7016e6c558907930fc4e54e455d27c1b45cbbc70 100644 GIT binary patch delta 5889 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 delta 5882 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 At^fc4 diff --git a/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.o b/f103c8t6_keil/MDK-ARM/f103c8t6_KEIL/oled.o index 618c28418dc482cd959c65064bca59235c361b9e..94284a3afc91a67fac9a73e14ad82d94f4b355dc 100644 GIT binary patch delta 13562 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 Q1DVH%GZqFj(Lp%;AExXQM*si-