diff --git a/Project/.vscode/settings.json b/Project/.vscode/settings.json new file mode 100644 index 0000000..fdb33a4 --- /dev/null +++ b/Project/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "driver_ds3231.h": "c" + } +} \ No newline at end of file diff --git a/Project/A31G12x_Co2_Sensor_Logger.uvguix.Imbis b/Project/A31G12x_Co2_Sensor_Logger.uvguix.Imbis index 7f76000..bb40339 100644 --- a/Project/A31G12x_Co2_Sensor_Logger.uvguix.Imbis +++ b/Project/A31G12x_Co2_Sensor_Logger.uvguix.Imbis @@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
- + D:\Working\Git_Clone\S_Co2_Sensor_Logger\Project\Application @@ -20,12 +20,12 @@ 346 Code Coverage - 1410 160 + 1410 816 204 Performance Analyzer - 1570 + 1570 235 235 186 @@ -46,7 +46,7 @@ 1936 Watch 1 - 200 133 133 + 200 319 133 1937 @@ -70,7 +70,7 @@ 466 Source Browser 500 - 300 + 166 @@ -78,11 +78,11 @@ - 1 - 1 + 0 + 0 0 - 0 - -1 + 50 + 16 @@ -101,17 +101,17 @@ -1 - 635 - 842 - 1795 - 1191 + 0 + 1625 + 2578 + 556 0 - 935 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000700000002000000010000004D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C616374696F6E5F70726F636573732E680000000010616374696F6E5F70726F636573732E6800000000C5D4F200FFFFFFFF4D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C616374696F6E5F70726F636573732E630000000010616374696F6E5F70726F636573732E6300000000FFDC7800FFFFFFFF48443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C736176655F66696C652E63000000000B736176655F66696C652E6300000000BECEA100FFFFFFFF43443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF4A443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F7377697463682E63000000000D6770696F5F7377697463682E6300000000BCA8E100FFFFFFFF46443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C74696D657231322E63000000000974696D657231322E63000000009CC1B600FFFFFFFF5F443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6472697665725F6473333233315F696E746572666163655F74656D706C6174652E6300000000226472697665725F6473333233315F696E746572666163655F74656D706C6174652E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004401000066000000000A00002F020000 + 2215 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001300000012000000010000004D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C616374696F6E5F70726F636573732E680000000010616374696F6E5F70726F636573732E6800000000C5D4F200FFFFFFFF4D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C616374696F6E5F70726F636573732E630000000010616374696F6E5F70726F636573732E6300000000FFDC7800FFFFFFFF48443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C736176655F66696C652E63000000000B736176655F66696C652E6300000000BECEA100FFFFFFFF43443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF4A443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F7377697463682E63000000000D6770696F5F7377697463682E6300000000BCA8E100FFFFFFFF46443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C74696D657231322E63000000000974696D657231322E63000000009CC1B600FFFFFFFF5F443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6472697665725F6473333233315F696E746572666163655F74656D706C6174652E6300000000226472697665725F6473333233315F696E746572666163655F74656D706C6174652E6300000000F7B88600FFFFFFFF5C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C53444B5F56325F355F305C4465766963655C537461727475705C737461727475705F413331473132782E730000000011737461727475705F413331473132782E7300000000D9ADC200FFFFFFFF47443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C73775F74696D65722E63000000000A73775F74696D65722E6300000000A5C2D700FFFFFFFF44443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C75617274312E63000000000775617274312E6300000000B3A6BE00FFFFFFFF4C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C7379737469636B5F74696D65722E63000000000F7379737469636B5F74696D65722E6300000000EAD6A300FFFFFFFF47443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F6932632E63000000000A6770696F5F6932632E6300000000F6FA7D00FFFFFFFF47443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F6932632E68000000000A6770696F5F6932632E6800000000B5E99D00FFFFFFFF4F443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C7365676D656E745F37346863353935642E6300000000127365676D656E745F37346863353935642E63000000005FC3CF00FFFFFFFF46443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C7365676D656E742E6300000000097365676D656E742E6300000000C1838300FFFFFFFF4D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F73746174655F6C65642E6300000000106770696F5F73746174655F6C65642E6300000000CACAD500FFFFFFFF5C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C53444B5F56325F355F305C447269766572735C536F757263655C413331473132785F68616C5F7063752E630000000011413331473132785F68616C5F7063752E6300000000C5D4F200FFFFFFFF45443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C646566696E652E680000000008646566696E652E6800000000FFDC7800FFFFFFFF4C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C757361727431315F72733438352E63000000000F757361727431315F72733438352E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004401000066000000000A000064020000 @@ -150,7 +150,7 @@ 0 16 - 03000000660000003D010000FF010000 + 03000000660000003D01000034020000 16 @@ -170,7 +170,7 @@ 0 16 - 03000000660000003D010000FF010000 + 03000000660000003D01000034020000 16 @@ -450,7 +450,7 @@ 0 16 - 03000000660000003D010000FF010000 + 03000000660000003D01000034020000 16 @@ -470,7 +470,7 @@ 0 16 - 03000000660000003D010000FF010000 + 03000000660000003D01000034020000 16 @@ -490,7 +490,7 @@ 0 16 - 0000000030020000000A0000F0030000 + 0000000065020000000A0000F0030000 16 @@ -530,7 +530,7 @@ 0 16 - 0300000033020000FD090000D7030000 + 0300000068020000FD0900000C040000 16 @@ -1170,7 +1170,7 @@ 0 16 - 0300000033020000FD090000D7030000 + 0300000068020000FD0900000C040000 16 @@ -1190,7 +1190,7 @@ 0 16 - 0300000033020000FD090000D7030000 + 0300000068020000FD0900000C040000 16 @@ -1250,7 +1250,7 @@ 0 16 - 0300000033020000FD090000D7030000 + 0300000068020000FD0900000C040000 16 @@ -1270,7 +1270,7 @@ 0 16 - 0300000033020000FD090000D7030000 + 0300000068020000FD0900000C040000 16 @@ -1799,7 +1799,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000E000000070070000E4000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000440100006600000070070000F7000000440100004F00000070070000E00000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000030020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000047020000300600004F000000700700003002000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F0000004401000018020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000400100002F020000000000004F00000040010000180200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001C020000700700002002000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003702000070070000DC020000000000002002000070070000C502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB803000020020000BC030000C502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000018020000000A00001C02000001000000010000100400000001000000F9FCFFFF8F000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000033020000000A000007040000000000001C020000000A0000F00300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000E000000070070000E4000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000440100006600000070070000F7000000440100004F00000070070000E00000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000030020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000047020000300600004F000000700700003002000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100004D020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000400100002F020000000000004F000000400100004D0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001C020000700700002002000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003702000070070000DC020000000000002002000070070000C502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB803000020020000BC030000C502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004D020000000A00005102000001000000010000100400000001000000F9FCFFFF8F000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000033020000000A0000070400000000000051020000000A0000F00300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1822,7 +1822,7 @@ Build 998 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000013535F436F325F53656E736F725F4C6F676765729600000000000000010013535F436F325F53656E736F725F4C6F67676572000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000013535F436F325F53656E736F725F4C6F676765729600000000000000010013535F436F325F53656E736F725F4C6F67676572000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1855,73 +1855,1922 @@ 1080 - - - - 1 - 0 - - 100 - 2 - - Application\action_process.h - 0 - 1 - 15 - 1 - - 0 - - - .\Application\action_process.c - 0 - 7 - 25 - 1 - - 0 - - - .\Application\save_file.c - 22 - 21 - 44 - 1 - - 0 - - - .\Application\main.c - 2 - 40 - 45 - 1 - - 0 - - - .\Application\gpio_switch.c - 0 - 1 - 3 - 1 - - 0 - - - .\Application\timer12.c - 0 - 1 - 2 - 1 - - 0 - - - .\Application\driver_ds3231_interface_template.c - 0 - 15 - 39 + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 440100004F000000000A0000E0000000 + + + 16 + 4401000066000000000A0000F7000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000003D010000D6010000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000003D010000F4020000 + + + 16 + D8000000EF0000005402000036030000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000D7030000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4701000066000000FD090000C7000000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 070500000A020000FD090000D7030000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 1936 + 1936 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000D7030000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000003D010000F4020000 + + + 16 + D8000000EF0000005402000036030000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000003D010000F4020000 + + + 16 + D8000000EF0000005402000036030000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000004B0200006D070000AC020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000F301000000050000F0030000 + + + 16 + D8000000EF0000009004000080010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004B0200006D070000AC020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 4401000063000000000A0000E0000000 + + + 16 + D8000000EF0000009004000080010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4701000066000000FD090000C7000000 + + + 16 + D8000000EF0000009004000080010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4701000066000000FD090000C7000000 + + + 16 + D8000000EF0000009004000080010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4701000066000000FD090000C7000000 + + + 16 + D8000000EF0000009004000080010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4701000066000000FD090000C7000000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4701000066000000FD090000C7000000 + + + 16 + D8000000EF0000009004000080010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000660000003D010000D6010000 + + + 16 + D8000000EF0000005402000036030000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004B0200006D070000AC020000 + + + 16 + D8000000EF0000009004000080010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004B0200006D070000AC020000 + + + 16 + D8000000EF0000005402000036030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004B0200006D070000AC020000 + + + 16 + D8000000EF0000005402000036030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000004B0200006D070000AC020000 + + + 16 + D8000000EF0000005402000036030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 4701000066000000FD090000C7000000 + + + 16 + D8000000EF0000009004000080010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 33060000660000006D07000017020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000F0030000000A000003040000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 070500000A020000FD090000B9020000 + + + 16 + D8000000EF00000018020000BC010000 + + + + 3311 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF44010000E0000000000A0000E4000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000004401000066000000000A0000F7000000440100004F000000000A0000E00000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000030020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000047020000300600004F000000700700003002000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F00000044010000EF010000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000004001000024030000000000004F00000040010000EF0100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000EF010000000A0000F301000001000000010000100400000001000000DCFDFFFF7A00000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000010000000405000028030000000A00000704000004050000F3010000000A0000F003000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFF00050000F301000004050000F003000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000300200007007000034020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004B02000070070000DC020000000000003402000070070000C50200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2978 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001973656E736972696F6E5F693263305F77726974655F64617461960000000000000014001973656E736972696F6E5F693263305F77726974655F646174611E436F6E74726F6C5F496E666F2E69734D6F6462757344617461577269746507636F6E74726F6C1A626F6F74556172745F496E746572727570745F48616E646C657204707573680E75735469636B436F756E7444697605766F696420046469736B09665F756E6D6F756E7407665F6D6F756E740B54696D655365745F4461790C73636434785F7365745F74652173636434785F693263325F726561645F6D6561737572656D656E745F7469636B730E73636434785F726561645F6D65610C73636434785F6765745F74650E696E7431365F742073636434785F07696E7431365F741373656E736972696F6E5F6932635F77726974651F73656E736972696F6E5F6932635F726561645F646174615F696E706C6163652073656E736972696F6E5F693263325F726561645F646174615F696E706C6163650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 2560 + 1080 + + + + + + 1 + 0 + + 100 + 18 + + Application\action_process.h + 0 + 1 + 15 + 1 + + 0 + + + .\Application\action_process.c + 17 + 146 + 160 + 1 + + 0 + + + .\Application\save_file.c + 0 + 21 + 36 + 1 + + 0 + + + .\Application\main.c + 0 + 33 + 43 + 1 + + 0 + + + .\Application\gpio_switch.c + 135 + 27 + 44 + 1 + + 0 + + + .\Application\timer12.c + 0 + 1 + 2 + 1 + + 0 + + + .\Application\driver_ds3231_interface_template.c + 0 + 15 + 39 + 1 + + 0 + + + .\SDK_V2_5_0\Device\Startup\startup_A31G12x.s + 0 + 118 + 128 + 1 + + 0 + + + .\Application\sw_timer.c + 0 + 43 + 60 + 1 + + 0 + + + .\Application\uart1.c + 0 + 190 + 194 + 1 + + 0 + + + .\Application\systick_timer.c + 0 + 1 + 13 + 1 + + 0 + + + .\Application\gpio_i2c.c + 59 + 295 + 307 + 1 + + 0 + + + Application\gpio_i2c.h + 0 + 73 + 75 + 1 + + 0 + + + .\Application\segment_74hc595d.c + 60 + 57 + 78 + 1 + + 0 + + + .\Application\segment.c + 72 + 74 + 93 + 1 + + 0 + + + .\Application\gpio_state_led.c + 21 + 99 + 116 + 1 + + 0 + + + .\SDK_V2_5_0\Drivers\Source\A31G12x_hal_pcu.c + 1 + 306 + 311 + 1 + + 0 + + + .\Application\define.h + 0 + 1 + 2 + 1 + + 0 + + + .\Application\usart11_rs485.c + 43 + 1 + 18 1 0 diff --git a/Project/A31G12x_Co2_Sensor_Logger.uvoptx b/Project/A31G12x_Co2_Sensor_Logger.uvoptx index d2986b3..9c38a7c 100644 --- a/Project/A31G12x_Co2_Sensor_Logger.uvoptx +++ b/Project/A31G12x_Co2_Sensor_Logger.uvoptx @@ -28,7 +28,7 @@ 12000000 - 0 + 1 1 0 1 @@ -103,7 +103,7 @@ 1 0 0 - 0 + 3 @@ -114,28 +114,82 @@ - BIN\UL2CM3.DLL + BIN\CMSIS_AGDI.dll + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + + + + 0 + CMSIS_AGDI + -X"Any" -UAny -O206 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO11 -FD20000000 -FC1000 -FN2 -FF0A31G12x_series_FLASH.FLM -FS00 -FL010000 -FP0($$Device:A31G123$A31G12x\Flashloader\A31G12x_series_FLASH.FLM) -FF1A31G12x_series_CFG.FLM -FS11FFFF200 -FL1600 -FP1($$Device:A31G123$A31G12x\Flashloader\A31G12x_series_CFG.FLM) + 0 UL2CM3 UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN2 -FF0A31G12x_series_FLASH -FS00 -FL010000 -FF1A31G12x_series_CFG -FS11FFFF200 -FL1600 -FP0($$Device:A31G123$A31G12x\Flashloader\A31G12x_series_FLASH.FLM) -FP1($$Device:A31G123$A31G12x\Flashloader\A31G12x_series_CFG.FLM)) - + + + 0 + 0 + 132 + 1 +
3244
+ 0 + 0 + 0 + 0 + 0 + 1 + .\Application\gpio_switch.c + + \\S_DustSensorView\Application/gpio_switch.c\132 +
+
+ + + 0 + 1 + SW_Timer_Info + + + 1 + 1 + Gpio_Led_Ctrl_Info + + 0 0 0 - 0 + 1 0 0 0 0 - 0 + 1 0 0 0 @@ -523,6 +577,30 @@ 0 0 + + 1 + 30 + 1 + 0 + 0 + 0 + .\Application\spi13.c + spi13.c + 0 + 0 + + + 1 + 31 + 1 + 0 + 0 + 0 + .\Application\usart11_rs485.c + usart11_rs485.c + 0 + 0 + @@ -533,7 +611,7 @@ 0 2 - 30 + 32 1 0 0 @@ -545,7 +623,7 @@ 2 - 31 + 33 1 0 0 @@ -557,7 +635,7 @@ 2 - 32 + 34 1 0 0 @@ -569,7 +647,7 @@ 2 - 33 + 35 1 0 0 @@ -581,7 +659,7 @@ 2 - 34 + 36 1 0 0 @@ -593,7 +671,7 @@ 2 - 35 + 37 1 0 0 @@ -605,7 +683,7 @@ 2 - 36 + 38 1 0 0 @@ -617,7 +695,7 @@ 2 - 37 + 39 1 0 0 @@ -629,7 +707,7 @@ 2 - 38 + 40 1 0 0 @@ -641,7 +719,7 @@ 2 - 39 + 41 1 0 0 @@ -653,7 +731,7 @@ 2 - 40 + 42 1 0 0 @@ -665,7 +743,7 @@ 2 - 41 + 43 1 0 0 @@ -677,7 +755,7 @@ 2 - 42 + 44 1 0 0 @@ -689,7 +767,7 @@ 2 - 43 + 45 1 0 0 @@ -701,7 +779,7 @@ 2 - 44 + 46 1 0 0 @@ -713,7 +791,7 @@ 2 - 45 + 47 1 0 0 @@ -725,7 +803,7 @@ 2 - 46 + 48 1 0 0 @@ -737,7 +815,7 @@ 2 - 47 + 49 1 0 0 @@ -757,7 +835,7 @@ 0 3 - 48 + 50 2 0 0 @@ -777,7 +855,7 @@ 0 4 - 49 + 51 5 0 0 @@ -789,7 +867,7 @@ 4 - 50 + 52 1 0 0 @@ -801,7 +879,7 @@ 4 - 51 + 53 5 0 0 @@ -821,7 +899,7 @@ 0 5 - 52 + 54 2 0 0 @@ -841,7 +919,7 @@ 0 6 - 53 + 55 1 0 0 @@ -853,7 +931,7 @@ 6 - 54 + 56 1 0 0 @@ -865,7 +943,7 @@ 6 - 55 + 57 1 0 0 @@ -877,7 +955,7 @@ 6 - 56 + 58 1 0 0 @@ -889,7 +967,7 @@ 6 - 57 + 59 1 0 0 @@ -901,7 +979,7 @@ 6 - 58 + 60 1 0 0 diff --git a/Project/A31G12x_Co2_Sensor_Logger.uvprojx b/Project/A31G12x_Co2_Sensor_Logger.uvprojx index 88eb2a4..3fa3086 100644 --- a/Project/A31G12x_Co2_Sensor_Logger.uvprojx +++ b/Project/A31G12x_Co2_Sensor_Logger.uvprojx @@ -528,6 +528,16 @@ 1 .\Application\uart_packet.c + + spi13.c + 1 + .\Application\spi13.c + + + usart11_rs485.c + 1 + .\Application\usart11_rs485.c + diff --git a/Project/Application/action_process.c b/Project/Application/action_process.c index ad690e6..6cb1b29 100644 --- a/Project/Application/action_process.c +++ b/Project/Application/action_process.c @@ -9,11 +9,58 @@ #include "rtc_process.h" #include "save_file.h" + + + + +#define KEY_POWER KEY_PUSH_SW1 +#define KEY_MODE_SET KEY_PUSH_SW2 +#define KEY_UP KEY_PUSH_SW3 +#define KEY_DOWN KEY_PUSH_SW4 + +typedef enum _control_step +{ + CONTROL_STEP_INIT, + CONTROL_STEP_INIT_BUZZER_ON, + CONTROL_STEP_INIT_ALL_LED_ON, + CONTROL_STEP_INIT_ALL_LED_ON_WAIT, + CONTROL_STEP_INIT_VERSION_ON, + CONTROL_STEP_INIT_VERSION_ON_WAIT, + CONTROL_STEP_INIT_POWER_ON_KEY_SET, + CONTROL_STEP_INIT_COMPLETE, + CONTROL_STEP_ACTION_IDLE, + + + CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA, + CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA, + CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA, + + + CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA, + CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA, + + + + + CONTROL_STEP_ACTION_RUN_COMPLETE, + + + + + +}CONTROL_STEP; + + + typedef struct _control_info { - bool isActionRun; - uint32_t Co2_MaxValue; - uint32_t Co2_MinValue; + bool isInitView; + bool isActionRun; + CONTROL_STEP Step; + uint32_t StartTickCount; + uint32_t Co2_Now; + uint32_t Co2_MaxValue; + uint32_t Co2_MinValue; }CONTROL_INFO; @@ -25,12 +72,36 @@ static CONTROL_INFO Control_Info; static void Action_Process(void); +static void Action_PowerOn_Init_Process(void); +static void Action_PowerOn_Process(void); + +static void Action_Power_On_Key_Set(void); +static void Action_Power_On_Key_Push_Callback(void); +static void Action_Power_Off_Key_Set(void); +static void Action_Power_Off_Key_Push_Callback(void); + +static void Action_Mode_Key_Push(void); +static void Action_Set_Key_Push(void); + +static void Action_Up_Key_Push(void); +static void Action_Down_Key_Push(void); + +#if 0 + static void Action_PowerKey_Push(void); static void Action_PowerKey_LongPush(void); static void Action_Sensor_Read_Process(void); +#endif void Action_Initialization(void) { + Control_Info.isInitView = false; + Control_Info.Step = CONTROL_STEP_INIT; + + + Gpio_Swtich_Set_Callback(KEY_MODE_SET, Action_Mode_Key_Push, Action_Set_Key_Push, NULL); + Gpio_Swtich_Set_Callback(KEY_UP, Action_Up_Key_Push, NULL, NULL); + Gpio_Swtich_Set_Callback(KEY_DOWN, Action_Down_Key_Push, NULL, NULL); SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 1, Action_Process); } @@ -38,13 +109,187 @@ void Action_Initialization(void) static void Action_Process(void) { - + if(Control_Info.isInitView == false) + { + Action_PowerOn_Init_Process(); + } + else + { + if(Control_Info.isActionRun == true) + Action_PowerOn_Process(); + } } +static void Action_PowerOn_Init_Process(void) +{ + uint8_t i; + switch(Control_Info.Step) + { + case CONTROL_STEP_INIT: + Control_Info.Step = CONTROL_STEP_INIT_BUZZER_ON; + break; + case CONTROL_STEP_INIT_BUZZER_ON: + Buzzer_On(500); + Control_Info.Step = CONTROL_STEP_INIT_ALL_LED_ON; + break; + case CONTROL_STEP_INIT_ALL_LED_ON: + Segment_All_Set_Data(0xFF); + for(i = 0 ; i < GPIO_LED_MAX ; i++) + { + Gpio_Led_OutputSet(i, GPIO_LED_MODE_ON, 0, 0); + } + Control_Info.StartTickCount = millis(); + Control_Info.Step = CONTROL_STEP_INIT_ALL_LED_ON_WAIT; + break; + case CONTROL_STEP_INIT_ALL_LED_ON_WAIT: + if((millis() - Control_Info.StartTickCount) >= ACTION_INIT_LED_ON_WAIT_TIME) + { + Control_Info.Step = CONTROL_STEP_INIT_VERSION_ON; + } + break; + case CONTROL_STEP_INIT_VERSION_ON: + Segment_Show_Version(); + Control_Info.StartTickCount = millis(); + Control_Info.Step = CONTROL_STEP_INIT_VERSION_ON_WAIT; + break; + case CONTROL_STEP_INIT_VERSION_ON_WAIT: + if((millis() - Control_Info.StartTickCount) >= ACTION_INIT_LED_ON_WAIT_TIME) + { + Segment_All_Set_Data(0x00); + for(i = 0 ; i < GPIO_LED_MAX ; i++) + { + Gpio_Led_OutputSet(i, GPIO_LED_MODE_OFF, 0, 0); + } + Control_Info.Step = CONTROL_STEP_INIT_POWER_ON_KEY_SET; + } + break; + case CONTROL_STEP_INIT_POWER_ON_KEY_SET: + Gpio_Led_OutputSet(GPIO_LED_LE1, GPIO_LED_MODE_TOGGLE, ACTION_LE1_IDLE_ON_TIME, ACTION_LE1_IDLE_OFF_TIME); + Action_Power_On_Key_Set(); + Control_Info.Step = CONTROL_STEP_INIT_COMPLETE; + break; + case CONTROL_STEP_INIT_COMPLETE: + Control_Info.isInitView = true; + break; + } +} + +static void Action_PowerOn_Process(void) +{ + switch (Control_Info.Step) + { + case CONTROL_STEP_INIT: + Action_Power_Off_Key_Set(); + Gpio_Led_OutputSet(GPIO_LED_LE1, GPIO_LED_MODE_TOGGLE, ACTION_LE1_RUN_ON_TIME, ACTION_LE1_RUN_OFF_TIME); + Gpio_Led_OutputSet(GPIO_LED_D1, GPIO_LED_MODE_OFF, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D2, GPIO_LED_MODE_ON, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D3, GPIO_LED_MODE_OFF, 0, 0); + if(EEPROM_Read_SettingValue(&Control_Info.Co2_MaxValue, &Control_Info.Co2_MinValue) == false) + { + Control_Info.Co2_MaxValue = DEFAULT_SENSOR_MAX_DATA; + Control_Info.Co2_MinValue = DEFAULT_SENSOR_MIN_DATA; + } + + Control_Info.Step = CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA; + break; + case CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA: + Segment_Show_Time(); + Segment_Show_SensorData(Control_Info.Co2_Now); + break; + case CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA: + Segment_Show_Time(); + Segment_Show_SensorData(Control_Info.Co2_MaxValue); + break; + case CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA: + Segment_Show_Time(); + Segment_Show_SensorData(Control_Info.Co2_MinValue); + break; + + case CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA: + break; + case CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA: + break; + + case CONTROL_STEP_ACTION_RUN_COMPLETE: + Gpio_Led_OutputSet(GPIO_LED_LE1, GPIO_LED_MODE_TOGGLE, ACTION_LE1_IDLE_ON_TIME, ACTION_LE1_IDLE_OFF_TIME); + Action_Power_On_Key_Set(); + Segment_All_Set_Data(0x00); + EEPROM_Write_SettingValue(Control_Info.Co2_MaxValue, Control_Info.Co2_MinValue); + Control_Info.Step = CONTROL_STEP_INIT; + Control_Info.isActionRun = false; + break; + } +} + +static void Action_Power_On_Key_Set(void) +{ + Gpio_Swtich_Set_PushCount(KEY_POWER, DEFAULT_KEY_PUSH_COUNT, KEY_POWER_ON_CHECK_PUSH_COUNT); + Gpio_Swtich_Set_Callback(KEY_POWER, NULL, Action_Power_On_Key_Push_Callback, NULL); +} + +static void Action_Power_Off_Key_Set(void) +{ + Gpio_Swtich_Set_PushCount(KEY_POWER, DEFAULT_KEY_PUSH_COUNT, KEY_POWER_OFF_CHECK_PUSH_COUNT); + Gpio_Swtich_Set_Callback(KEY_POWER, NULL, Action_Power_Off_Key_Push_Callback, NULL); +} + + +static void Action_Power_On_Key_Push_Callback(void) +{ + Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT); + Control_Info.isActionRun = true; + Control_Info.Step = CONTROL_STEP_INIT; + dbg_printf("power on\r\n"); +} +static void Action_Power_Off_Key_Push_Callback(void) +{ + Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT); + Control_Info.Step = CONTROL_STEP_ACTION_RUN_COMPLETE; + dbg_printf("power off\r\n"); +} +static void Action_Mode_Key_Push(void) +{ + switch(Control_Info.Step) + { + case CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA: + Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT); + Gpio_Led_OutputSet(GPIO_LED_D1, GPIO_LED_MODE_ON, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D2, GPIO_LED_MODE_OFF, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D3, GPIO_LED_MODE_OFF, 0, 0); + Control_Info.Step = CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA; + break; + case CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA: + Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT); + Gpio_Led_OutputSet(GPIO_LED_D1, GPIO_LED_MODE_OFF, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D2, GPIO_LED_MODE_OFF, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D3, GPIO_LED_MODE_ON, 0, 0); + Control_Info.Step = CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA; + break; + case CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA: + Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT); + Gpio_Led_OutputSet(GPIO_LED_D1, GPIO_LED_MODE_OFF, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D2, GPIO_LED_MODE_ON, 0, 0); + Gpio_Led_OutputSet(GPIO_LED_D3, GPIO_LED_MODE_OFF, 0, 0); + Control_Info.Step = CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA; + break; + } +} +static void Action_Set_Key_Push(void) +{ +} +static void Action_Up_Key_Push(void) +{ + +} + +static void Action_Down_Key_Push(void) +{ + +} diff --git a/Project/Application/dbg_printf.c b/Project/Application/dbg_printf.c index b8dc653..4eaa081 100644 --- a/Project/Application/dbg_printf.c +++ b/Project/Application/dbg_printf.c @@ -1,12 +1,6 @@ #include "dbg_printf.h" - #include "uart1.h" - - - - - /*-------------------------------------------------------------------------*//** * @brief Puts a character to file * @param[in] ch diff --git a/Project/Application/define.h b/Project/Application/define.h index 3a26b6e..fb834da 100644 --- a/Project/Application/define.h +++ b/Project/Application/define.h @@ -57,19 +57,51 @@ -#define VERSION_MAJOR 0 // max 9 +#define VERSION_MAJOR 1 // max 9 #define VERSION_MINOR 0 // max 9 -#define VERSION_PATCH 1 // max 99 -#define SEGMENT_CHECK_WAIT_TIME 300 // -#define SEGMENT_VERSION_WAIT_TIME 1000 + +#define ACTION_INIT_LED_ON_WAIT_TIME 2000 + +#define ACTION_LE1_IDLE_ON_TIME 250 +#define ACTION_LE1_IDLE_OFF_TIME 750 +#define ACTION_LE1_RUN_ON_TIME 500 +#define ACTION_LE1_RUN_OFF_TIME 1500 + + + + + + + #define DEFAULT_KEY_PUSH_COUNT 50 #define DEFAULT_LONGKEY_PUSH_COUNT 1000 +#define KEY_POWER_ON_CHECK_PUSH_COUNT 1000 +#define KEY_POWER_OFF_CHECK_PUSH_COUNT 2000 + +#define DEFAULT_SENSOR_MAX_DATA 3000 +#define DEFAULT_SENSOR_MIN_DATA 0 + + + + + +#define DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT 80 + + + +#if 0 +#define SEGMENT_CHECK_WAIT_TIME 300 // +#define SEGMENT_VERSION_WAIT_TIME 1000 + + + + #define DUST_SENSOR_POWER_ON_WAIT_TIME_COUNT 100 #define DUST_SENSOR_POWER_OFF_WAIT_TIME_COUNT 100 @@ -89,7 +121,7 @@ #define SEGMENT_TOGGLE_TIME 250 - +#endif #endif diff --git a/Project/Application/eeprom.c b/Project/Application/eeprom.c index 76e37c3..7e447d6 100644 --- a/Project/Application/eeprom.c +++ b/Project/Application/eeprom.c @@ -9,8 +9,9 @@ typedef union _eeprom_info struct { uint8_t isSave; - uint8_t Mode; - uint8_t Reserved[SECTOR_SIZE_BYTE - 3]; + uint16_t SensorMAX; + uint16_t SensorMIN; + uint8_t Reserved[SECTOR_SIZE_BYTE - 6]; uint8_t CheckSum; }eeprom_data; uint8_t eeprom_buffer[SECTOR_SIZE_BYTE]; @@ -59,7 +60,7 @@ void FlashMEM_Clock_Initialization(void) -bool EEPROM_Read_Mode(uint8_t* pMode) +bool EEPROM_Read_SettingValue(uint16_t* pGetMax, uint16_t* pGetMin) { uint8_t i; uint16_t checksum_init = 0x5AA5; @@ -93,14 +94,15 @@ bool EEPROM_Read_Mode(uint8_t* pMode) if((checksum_result & 0xFF) == eeprom_info.eeprom_data.CheckSum) { - *pMode = eeprom_info.eeprom_data.Mode; + *pGetMax = eeprom_info.eeprom_data.SensorMAX; + *pGetMin = eeprom_info.eeprom_data.SensorMIN; return true; } return false; } -bool EEPROM_Write_Mode(uint8_t Mode) +bool EEPROM_Write_SettingValue(uint16_t SetMax, uint16_t SetMin) { uint8_t i; uint16_t checksum_init = 0x5AA5; @@ -108,13 +110,14 @@ bool EEPROM_Write_Mode(uint8_t Mode) if(eeprom_info.eeprom_data.isSave == true) { - if(eeprom_info.eeprom_data.Mode == Mode) + if(eeprom_info.eeprom_data.SensorMAX == SetMax && eeprom_info.eeprom_data.SensorMIN == SetMin) return true; } memset(&eeprom_info.eeprom_buffer[0], 0, SECTOR_SIZE_BYTE); eeprom_info.eeprom_data.isSave = true; - eeprom_info.eeprom_data.Mode = Mode; + eeprom_info.eeprom_data.SensorMAX = SetMax; + eeprom_info.eeprom_data.SensorMIN = SetMin; // CRC Block Calculation CRC->INIT = checksum_init; @@ -145,62 +148,3 @@ bool EEPROM_Write_Mode(uint8_t Mode) return true; } - - - -#if 0 - - -void EEPROM_Read_Setting_Data(void) -{ - #if 0 - __disable_irq(); - memcpy(&Save_control_Info, (uint32_t *)CONFIG_ADDRESS, SECTOR_SIZE_BYTE); - __enable_irq(); - - if(Save_control_Info.SaveFlag != EEPROM_SAVE_CHECK_FLAG_DATA) - { - Save_control_Info.SaveFlag = EEPROM_SAVE_CHECK_FLAG_DATA; // 1 - Save_control_Info.SaveActionMode = ACTION_MODE_ACTION_AUTO_1; // 2 - Save_control_Info.isPowerOnReservation = FALSE; // 3 - Save_control_Info.isPowerOnSaturDay = FALSE; // 4 - Save_control_Info.PowerOn_Hour = 0; // 5 - Save_control_Info.PowerOn_Min = 0; // 6 - - Save_control_Info.isPowerOffReservation = FALSE; // 7 - Save_control_Info.PowerOff_Hour = 0; // 8 - Save_control_Info.PowerOff_Min = 0; // 9 - Save_control_Info.FanActionTime_1 = 0; // 10 - Save_control_Info.FanActionTime_2 = 0; // 11 - } -#endif - -} - -void EEPROM_Write_Seting_Data(void) -{ -#if 0 - if(Control_Info.isEepromSave == TRUE) - { - Control_Info.isEepromSave = FALSE; - __disable_irq(); - FlashMem_Do_PageEr(CONFIG_ADDRESS); - FlashMem_Do_PageWt(CONFIG_ADDRESS, (uint32_t *)&Save_control_Info); - __enable_irq(); - } -#endif -} - - -#endif - - - - - - - - - - - diff --git a/Project/Application/eeprom.h b/Project/Application/eeprom.h index e99ac8d..1aa5fde 100644 --- a/Project/Application/eeprom.h +++ b/Project/Application/eeprom.h @@ -10,8 +10,10 @@ void FlashMEM_Clock_Initialization(void); -bool EEPROM_Read_Mode(uint8_t* pMode); -bool EEPROM_Write_Mode(uint8_t Mode); + + +bool EEPROM_Read_SettingValue(uint16_t* pGetMax, uint16_t* pGetMin); +bool EEPROM_Write_SettingValue(uint16_t SetMax, uint16_t SetMin); #endif diff --git a/Project/Application/gpio_i2c.h b/Project/Application/gpio_i2c.h index c8ae165..d538e6b 100644 --- a/Project/Application/gpio_i2c.h +++ b/Project/Application/gpio_i2c.h @@ -59,8 +59,8 @@ #define I2C2_SDA_PORT PC #define I2C2_SCL_PORT PC -#define I2C2_SDA_PIN 5 -#define I2C2_SCL_PIN 6 +#define I2C2_SDA_PIN 6 +#define I2C2_SCL_PIN 5 #define I2C2_DELAY 30 diff --git a/Project/Application/gpio_state_led.c b/Project/Application/gpio_state_led.c index 402c553..6428a88 100644 --- a/Project/Application/gpio_state_led.c +++ b/Project/Application/gpio_state_led.c @@ -2,9 +2,139 @@ #include "sw_timer.h" + + + +#define GPIO_LED_LE1_PORT (Pn_Type*)PF +#define GPIO_LED_LE1_PIN_NUM 4 +#define GPIO_LED_D1_PORT (Pn_Type*)PE +#define GPIO_LED_D1_PIN_NUM 4 +#define GPIO_LED_D2_PORT (Pn_Type*)PE +#define GPIO_LED_D2_PIN_NUM 3 +#define GPIO_LED_D3_PORT (Pn_Type*)PE +#define GPIO_LED_D3_PIN_NUM 2 +#define GPIO_LED_D4_PORT (Pn_Type*)PE +#define GPIO_LED_D4_PIN_NUM 1 + + + + static void State_Led_Output_Process(void); +static void State_Led_Off(GPIO_LED_LIST gpio_led_index); +static void State_Led_On(GPIO_LED_LIST gpio_led_index); + + + +typedef void (*GPIO_LED_ON_OFF_FUNC)(GPIO_LED_LIST gpio_led_index); + + +typedef struct +{ + Pn_Type* Port; + uint8_t Pin; + GPIO_LED_MODE Mode; + + bool isLedOn; + uint32_t nCheckTime; + uint32_t nOnTime; + uint32_t nOffTime; + + GPIO_LED_ON_OFF_FUNC LedOnFunction; + GPIO_LED_ON_OFF_FUNC LedOffunction; +}GPIO_STATE_LED_INFO; + + +static GPIO_STATE_LED_INFO Gpio_Led_Ctrl_Info[GPIO_LED_MAX] = +{ + {GPIO_LED_LE1_PORT, GPIO_LED_LE1_PIN_NUM, GPIO_LED_MODE_OFF, 0, 0, NULL, NULL}, + {GPIO_LED_D1_PORT, GPIO_LED_D1_PIN_NUM, GPIO_LED_MODE_OFF, 0, 0, NULL, NULL}, + {GPIO_LED_D2_PORT, GPIO_LED_D2_PIN_NUM, GPIO_LED_MODE_OFF, 0, 0, NULL, NULL}, + {GPIO_LED_D3_PORT, GPIO_LED_D3_PIN_NUM, GPIO_LED_MODE_OFF, 0, 0, NULL, NULL}, + {GPIO_LED_D4_PORT, GPIO_LED_D4_PIN_NUM, GPIO_LED_MODE_OFF, 0, 0, NULL, NULL}, +}; + + +void Gpio_StateLed_Initialization(void) +{ + uint8_t i; + for(i = 0 ; i < GPIO_LED_MAX ; i++) + { + HAL_GPIO_ConfigOutput(Gpio_Led_Ctrl_Info[i].Port, Gpio_Led_Ctrl_Info[i].Pin, PUSH_PULL_OUTPUT); + HAL_GPIO_ConfigPullup(Gpio_Led_Ctrl_Info[i].Port, Gpio_Led_Ctrl_Info[i].Pin, PUPDx_EnablePU); + Gpio_Led_Ctrl_Info[i].LedOnFunction = State_Led_On; + Gpio_Led_Ctrl_Info[i].LedOffunction = State_Led_Off; + } + SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 1, State_Led_Output_Process); +} + + + +void Gpio_Led_OutputSet(GPIO_LED_LIST gpio_led_index, GPIO_LED_MODE gpio_led_mode, uint32_t OnTime, uint32_t OffTime) +{ + Gpio_Led_Ctrl_Info[gpio_led_index].Mode = gpio_led_mode; + + Gpio_Led_Ctrl_Info[gpio_led_index].isLedOn = true; + Gpio_Led_Ctrl_Info[gpio_led_index].nCheckTime = millis(); + Gpio_Led_Ctrl_Info[gpio_led_index].nOnTime = OnTime; + Gpio_Led_Ctrl_Info[gpio_led_index].nOffTime = OffTime; +} + + +static void State_Led_Off(GPIO_LED_LIST gpio_led_index) +{ + HAL_GPIO_SetPin(Gpio_Led_Ctrl_Info[gpio_led_index].Port, _BIT(Gpio_Led_Ctrl_Info[gpio_led_index].Pin)); +} + +static void State_Led_On(GPIO_LED_LIST gpio_led_index) +{ + HAL_GPIO_ClearPin(Gpio_Led_Ctrl_Info[gpio_led_index].Port, _BIT(Gpio_Led_Ctrl_Info[gpio_led_index].Pin)); +} + + + + + +static void State_Led_Output_Process(void) +{ + uint8_t i; + GPIO_STATE_LED_INFO* pControlInfo; + for(i = 0 ; i < GPIO_LED_MAX ; i++) + { + pControlInfo = &Gpio_Led_Ctrl_Info[i]; + switch (pControlInfo->Mode) + { + case GPIO_LED_MODE_OFF: + pControlInfo->LedOffunction(i); + break; + case GPIO_LED_MODE_ON: + pControlInfo->LedOnFunction(i); + break; + case GPIO_LED_MODE_TOGGLE: + if(pControlInfo->isLedOn == true) + { + if((millis() - pControlInfo->nCheckTime) > pControlInfo->nOnTime ) + { + pControlInfo->nCheckTime = millis(); + pControlInfo->isLedOn = false; + } + pControlInfo->LedOnFunction(i); + } + else + { + if((millis() - pControlInfo->nCheckTime) > pControlInfo->nOffTime ) + { + pControlInfo->nCheckTime = millis(); + pControlInfo->isLedOn = true; + } + pControlInfo->LedOffunction(i); + } + break; + } + } +} +#if 0 static STATE_LED_MODE StateLedMode = STATE_LED_MODE_UNKNOW; static STATE_LED_STEP StateLedStep = STATE_LED_STEP_INIT; static STATE_LED_ONOFF_TIME StateLedTime; @@ -81,3 +211,4 @@ static void State_Led_Output_Process(void) } +#endif \ No newline at end of file diff --git a/Project/Application/gpio_state_led.h b/Project/Application/gpio_state_led.h index b1df84e..7bc56a2 100644 --- a/Project/Application/gpio_state_led.h +++ b/Project/Application/gpio_state_led.h @@ -5,6 +5,30 @@ #include "define.h" #include "board_config.h" + + +typedef enum +{ + GPIO_LED_LE1, + GPIO_LED_D1, + GPIO_LED_D2, + GPIO_LED_D3, + GPIO_LED_D4, + GPIO_LED_MAX, +}GPIO_LED_LIST; + +typedef enum +{ + GPIO_LED_MODE_OFF, + GPIO_LED_MODE_ON, + GPIO_LED_MODE_TOGGLE, +}GPIO_LED_MODE; + + +void Gpio_StateLed_Initialization(void); +void Gpio_Led_OutputSet(GPIO_LED_LIST gpio_led_index, GPIO_LED_MODE gpio_led_mode, uint32_t OnTime, uint32_t OffTime); + +#if 0 #define GPIO_STATE_LED_PORT (Pn_Type*)PF #define GPIO_STATE_LED_PIN_NUM 4 #define GPIO_STATE_LED_ON HAL_GPIO_ClearPin(GPIO_STATE_LED_PORT, _BIT(GPIO_STATE_LED_PIN_NUM)) @@ -43,3 +67,5 @@ void Gpio_StateLed_Set_Mode(STATE_LED_MODE mode); STATE_LED_MODE Gpio_StateLed_Get_Mode(void); #endif + +#endif diff --git a/Project/Application/gpio_switch.c b/Project/Application/gpio_switch.c index 49f225e..0441ab5 100644 --- a/Project/Application/gpio_switch.c +++ b/Project/Application/gpio_switch.c @@ -5,8 +5,17 @@ #if 1 -#define GPIO_PUSH_SW1_PORT (Pn_Type*)PB -#define GPIO_PUSH_SW1_PIN_NUM 8 +#define GPIO_PUSH_SW1_PORT (Pn_Type*)PC +#define GPIO_PUSH_SW1_PIN_NUM 0 + +#define GPIO_PUSH_SW2_PORT (Pn_Type*)PC +#define GPIO_PUSH_SW2_PIN_NUM 1 + +#define GPIO_PUSH_SW3_PORT (Pn_Type*)PC +#define GPIO_PUSH_SW3_PIN_NUM 2 + +#define GPIO_PUSH_SW4_PORT (Pn_Type*)PC +#define GPIO_PUSH_SW4_PIN_NUM 3 #else #define GPIO_PUSH_SW1_PORT (Pn_Type*)PF #define GPIO_PUSH_SW1_PIN_NUM 6 @@ -32,21 +41,30 @@ typedef struct static KEY_CHECK KeyCheckInfo[KEY_PUSH_SW_MAX] = { {GPIO_PUSH_SW1_PORT, GPIO_PUSH_SW1_PIN_NUM, DEFAULT_KEY_PUSH_COUNT, DEFAULT_LONGKEY_PUSH_COUNT, NULL, NULL, NULL, false, false, 0}, + {GPIO_PUSH_SW2_PORT, GPIO_PUSH_SW2_PIN_NUM, DEFAULT_KEY_PUSH_COUNT, DEFAULT_LONGKEY_PUSH_COUNT, NULL, NULL, NULL, false, false, 0}, + {GPIO_PUSH_SW3_PORT, GPIO_PUSH_SW3_PIN_NUM, DEFAULT_KEY_PUSH_COUNT, DEFAULT_LONGKEY_PUSH_COUNT, NULL, NULL, NULL, false, false, 0}, + {GPIO_PUSH_SW4_PORT, GPIO_PUSH_SW4_PIN_NUM, DEFAULT_KEY_PUSH_COUNT, DEFAULT_LONGKEY_PUSH_COUNT, NULL, NULL, NULL, false, false, 0}, }; static void Gpio_Switch_Check_Process(void); - +static void Gpio_Switch_TestCallback(KEY_LIST key); /////////////////////////////////////////////////////////////////////////////////////////////////////////// void Gpio_Switch_Port_Initialization(void) { - HAL_GPIO_ConfigOutput((Pn_Type*)GPIO_PUSH_SW1_PORT, GPIO_PUSH_SW1_PIN_NUM, INPUT); - HAL_GPIO_ConfigPullup((Pn_Type*)GPIO_PUSH_SW1_PORT, GPIO_PUSH_SW1_PIN_NUM, PUPDx_EnablePU); - HAL_GPIO_SetDebouncePin((Pn_Type*)GPIO_PUSH_SW1_PORT, GPIO_PUSH_SW1_PIN_NUM, DBCLK_HCLK64); - + uint8_t i; + for(i = 0 ; i < KEY_PUSH_SW_MAX ; i++) + { + HAL_GPIO_ConfigOutput((Pn_Type*)KeyCheckInfo[i].Port, KeyCheckInfo[i].Pin, INPUT); + HAL_GPIO_ConfigPullup((Pn_Type*)KeyCheckInfo[i].Port, KeyCheckInfo[i].Pin, PUPDx_EnablePU); + HAL_GPIO_SetDebouncePin((Pn_Type*)KeyCheckInfo[i].Port, KeyCheckInfo[i].Pin, DBCLK_HCLK64); + + Gpio_Swtich_Set_Callback(i, Gpio_Switch_TestCallback, NULL, NULL); + } + SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 1, Gpio_Switch_Check_Process); } @@ -70,7 +88,10 @@ void Gpio_Swtich_Set_Callback(KEY_LIST key, GPIO_SW_CALLBACK_FN Push_Callback, G } } - +static void Gpio_Switch_TestCallback(KEY_LIST key) +{ + printf("%d key push\r\n", key); +} /////////////////////////////////////////////////////////////////////////////////////////////////////////// static void Gpio_Switch_Check_Process(void) @@ -95,7 +116,7 @@ static void Gpio_Switch_Check_Process(void) KeyCheckInfo[i].isLongKeyPush = true; if(KeyCheckInfo[i].LongPush_Callback != NULL) { - KeyCheckInfo[i].LongPush_Callback(); + KeyCheckInfo[i].LongPush_Callback(i); } } } @@ -108,14 +129,14 @@ static void Gpio_Switch_Check_Process(void) { if(KeyCheckInfo[i].Push_Callback != NULL) { - KeyCheckInfo[i].Push_Callback(); + KeyCheckInfo[i].Push_Callback(i); } } } if(KeyCheckInfo[i].Release_Callback != NULL) { - KeyCheckInfo[i].Release_Callback(); + KeyCheckInfo[i].Release_Callback(i); } KeyCheckInfo[i].isPush = false; KeyCheckInfo[i].isLongKeyPush = false; diff --git a/Project/Application/gpio_switch.h b/Project/Application/gpio_switch.h index c61fdb2..7983ae4 100644 --- a/Project/Application/gpio_switch.h +++ b/Project/Application/gpio_switch.h @@ -8,10 +8,13 @@ typedef enum { KEY_PUSH_SW1, + KEY_PUSH_SW2, + KEY_PUSH_SW3, + KEY_PUSH_SW4, KEY_PUSH_SW_MAX }KEY_LIST; -typedef void (*GPIO_SW_CALLBACK_FN) (void); +typedef void (*GPIO_SW_CALLBACK_FN) (KEY_LIST key); diff --git a/Project/Application/main.c b/Project/Application/main.c index 3fe76e1..66afda1 100644 --- a/Project/Application/main.c +++ b/Project/Application/main.c @@ -3,6 +3,7 @@ #include "gpio_state_led.h" #include "gpio_switch.h" #include "uart1.h" +#include "usart11_rs485.h" #include "spi10.h" #include "spi13.h" #include "timer12.h" @@ -19,10 +20,27 @@ void timer_test(void) { - - //Buzzer_On(50); - //Segment_In_Set_Humidity(12); + static bool istoggle = true; + uint8_t i; + uint8_t TxBuff[10]; + for(i = 0 ; i < 10 ; i++) + TxBuff[i] = i; + + Usart11_TransmitData(TxBuff, 10); + +#if 0 + if(istoggle == true) + { + istoggle = false; + I2C2_SCL_HIGH; + } + else + { + istoggle = true; + I2C2_SCL_LOW; + } + #endif } @@ -32,43 +50,75 @@ int main(void) { System_Clock_Initialization(); Systick_Initialization(1); - FlashMEM_Clock_Initialization(); + FlashMEM_Clock_Initialization(); + + Usart11_Initialization(38400, USART1n_DATA_BIT_8, USART1n_PARITY_BIT_NONE, USART1n_STOP_BIT_1); + Uart1_Initialization(115200, UARTn_DATA_BIT_8, UARTn_PARITY_BIT_NONE, UARTn_STOP_BIT_1); + Uart_Packet_Initialization(); - Timer12_Initialization(); - Uart1_Initialization(115200, UARTn_DATA_BIT_8, UARTn_PARITY_BIT_NONE, UARTn_STOP_BIT_1); + GPIO_I2C2_Initialization(); + RTC_Process_Initialization(); + + Buzzer_Initialization(); + + + Gpio_Switch_Port_Initialization(); + Gpio_StateLed_Initialization(); + + Timer12_Initialization(); SPI10_Initialization(1000000, SPI10_MODE0, false); + SPI13_Initialization(1000000, SPI13_MODE0, false); + Segment_Initialization(); + + Action_Initialization(); + + + __enable_irq(); + + SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 250, timer_test); + + + while(true) + { + SW_Timer_Callback_Process(); + } - Gpio_StateLed_Initialization(); - Gpio_Switch_Port_Initialization(); + + #if 0 + + + + + + + Gpio_Sensor_PWR_Initialization(); GPIO_I2C0_Initialization(); GPIO_I2C1_Initialization(); - GPIO_I2C2_Initialization(); - Segment_Initialization(); - __enable_irq(); - RTC_Process_Initialization(); - Buzzer_Initialization(); + + + + + Action_Initialization(); - Uart_Packet_Initialization(); + //Sensor_Save_SDCard_Process(); - SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 500, timer_test); + //Timer12_Set_Match_Interrupt_Callback(timer_test); + #endif - while(true) - { - SW_Timer_Callback_Process(); - } + } diff --git a/Project/Application/rtc_process.c b/Project/Application/rtc_process.c index 4d6a275..ec3041a 100644 --- a/Project/Application/rtc_process.c +++ b/Project/Application/rtc_process.c @@ -31,8 +31,8 @@ static void RTC_Get_IC_Time_Process(void) rtc_Time.rtc_Min = t.minute; rtc_Time.rtc_Sec = t.second; - - + dbg_printf("Read RTC : %04d-%02d-%02d %02d:%02d:%02d\r\n", rtc_Time.rtc_Year, rtc_Time.rtc_Month, rtc_Time.rtc_Date, rtc_Time.rtc_Hour, rtc_Time.rtc_Min, rtc_Time.rtc_Sec); + } diff --git a/Project/Application/segment.c b/Project/Application/segment.c index dcb36a2..011aeb2 100644 --- a/Project/Application/segment.c +++ b/Project/Application/segment.c @@ -1,5 +1,6 @@ #include "segment.h" #include "segment_74hc595d.h" +#include "rtc_process.h" const uint8_t SegmentData[SEG_INDEX_MAX] = { @@ -50,6 +51,146 @@ const uint8_t SegmentData[SEG_INDEX_MAX] = uint8_t Segment_OutputBuff[SEGMENT_SELECT_MAX_INDEX][SEGMENT_MAX_DATA_INDEX]; + + + + + + + + + + +void Segment_Sensor_Error(void) +{ + + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_MINUS]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[SEG_MINUS]; + Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[SEG_MINUS]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[SEG_MINUS]; + +} + + + +void Segment_All_Set_Data(uint8_t SegmentData) +{ + uint8_t i; + for(i = SEGMENT_COM1 ; i < SEGMENT_SELECT_MAX_INDEX ; i++) + { + Segment_OutputBuff[i][SEGMENT_F1] = SegmentData; + Segment_OutputBuff[i][SEGMENT_F2] = SegmentData; + } +} + +void Segment_Show_Version(void) +{ + uint8_t temp; + Segment_All_Set_Data(0x00); + + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F1] = SegmentData[SEG_V]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F1] = SegmentData[SEG_E]; + Segment_OutputBuff[SEGMENT_10][SEGMENT_F1] = SegmentData[SEG_R]; + + + temp = VERSION_MAJOR; + if(temp >= 99) + { + temp = 99; + } + if(VERSION_MAJOR < 10) + { + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_CLEAR]; + } + else + { + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[temp/10]; + } + Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[temp%10] | 0x80; + + temp = VERSION_MINOR; + if(temp >= 99) + { + temp = 99; + } + + Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[temp/10]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[temp%10]; + +} + + + + + +void Segment_Show_Time(void) +{ + uint32_t colon_on = millis() % 1000;; + RTC_TIME rtc_time = RTC_Get_Time(); + + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F1] = SegmentData[rtc_time.rtc_Hour/10]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F1] = SegmentData[rtc_time.rtc_Hour%10]; + + Segment_OutputBuff[SEGMENT_10][SEGMENT_F1] = SegmentData[rtc_time.rtc_Min/10]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F1] = SegmentData[rtc_time.rtc_Min%10]; + + if(colon_on > 500) + { + Segment_OutputBuff[SEGMENT_EXT][SEGMENT_F1] = 0x02; + } + else + { + Segment_OutputBuff[SEGMENT_EXT][SEGMENT_F1] = SegmentData[SEG_CLEAR]; + } +} + +void Segment_Show_SensorData(uint32_t SensorData) +{ + if(SensorData >= 9999) + { + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_9]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[SEG_9]; + Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[SEG_9]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[SEG_9]; + } + else if(SensorData >= 1000) + { + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SensorData/1000]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[(SensorData%1000)/100]; + Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[(SensorData%100)/10]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[(SensorData%10)]; + } + else if(SensorData >= 100) + { + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_CLEAR]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[(SensorData%1000)/100]; + Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[(SensorData%100)/10]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[(SensorData%10)]; + } + else if(SensorData >= 10) + { + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_CLEAR]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[SEG_CLEAR]; + Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[(SensorData%100)/10]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[(SensorData%10)]; + } + else + { + Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_CLEAR]; + Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[SEG_CLEAR]; + Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[SEG_CLEAR]; + Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[(SensorData%10)]; + } +} + + + + + + + +#if 0 + void Segment_In_Set_PM_1p0(uint32_t OutputData) { Segment_Toggle_In = false; @@ -581,3 +722,4 @@ void Segment_Out_Sensor_Error(void) Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_4] = SegmentData[SEG_MINUS]; Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_4] = SegmentData[SEG_MINUS]; } +#endif diff --git a/Project/Application/segment.h b/Project/Application/segment.h index edbd59f..36e10aa 100644 --- a/Project/Application/segment.h +++ b/Project/Application/segment.h @@ -49,23 +49,27 @@ typedef enum typedef enum { - SEGMENT_F1C1, - SEGMENT_F1C2, - SEGMENT_F2C1, - SEGMENT_F2C2, - SEGMENT_F3C1, - SEGMENT_F3C2, - SEGMENT_F4C1, - SEGMENT_F4C2, + SEGMENT_COM1, + SEGMENT_COM2, + SEGMENT_COM3, + SEGMENT_COM4, + SEGMENT_COM5, SEGMENT_SELECT_MAX_INDEX, }SEGMENT_SELECT_INDEX; typedef enum { - SEGMENT_DATA_1, - SEGMENT_DATA_2, - SEGMENT_DATA_3, - SEGMENT_DATA_4, + SEGMENT_1000, + SEGMENT_100, + SEGMENT_10, + SEGMENT_1, + SEGMENT_EXT, +}SEGMENT_SELECT_NAME; + +typedef enum +{ + SEGMENT_F1, + SEGMENT_F2, SEGMENT_MAX_DATA_INDEX, }SEGMENT_DATA_INDEX; @@ -74,24 +78,10 @@ extern uint8_t Segment_OutputBuff[SEGMENT_SELECT_MAX_INDEX][SEGMENT_MAX_DATA_IND extern const uint8_t SegmentData[SEG_INDEX_MAX]; -void Segment_In_Set_PM_1p0(uint32_t OutputData); -void Segment_In_Set_PM_2p5(uint32_t OutputData); -void Segment_In_Set_PM_4p0(uint32_t OutputData); -void Segment_In_Set_PM_10(uint32_t OutputData); -void Segment_In_Set_Humidity(uint32_t OutputData); -void Segment_In_Set_Temperature(int32_t OutputData); -void Segment_In_Sensor_Error(void); - -void Segment_Out_Set_PM_1p0(uint32_t OutputData); -void Segment_Out_Set_PM_2p5(uint32_t OutputData); -void Segment_Out_Set_PM_4p0(uint32_t OutputData); -void Segment_Out_Set_PM_10(uint32_t OutputData); -void Segment_Out_Set_Humidity(uint32_t OutputData); -void Segment_Out_Set_Temperature(int32_t OutputData); -void Segment_Out_Sensor_Error(void); - +void Segment_Sensor_Error(void); void Segment_All_Set_Data(uint8_t SegmentData); void Segment_Show_Version(void); -void Segment_Show_Mode(uint8_t Mode); +void Segment_Show_Time(void); +void Segment_Show_SensorData(uint32_t SensorData); #endif diff --git a/Project/Application/segment_74hc595d.c b/Project/Application/segment_74hc595d.c index 51624bc..e3c3166 100644 --- a/Project/Application/segment_74hc595d.c +++ b/Project/Application/segment_74hc595d.c @@ -12,19 +12,8 @@ typedef enum }LSB_MSB_MODE; - -#define SEGMENT_74HC595D_SDATA_PORT (Pn_Type*)PE -#define SEGMENT_74HC595D_SDATA_PIN 8 -#define SEGMENT_74HC595D_SDATA_HIGH HAL_GPIO_SetPin(SEGMENT_74HC595D_SDATA_PORT,_BIT(SEGMENT_74HC595D_SDATA_PIN)) -#define SEGMENT_74HC595D_SDATA_LOW HAL_GPIO_ClearPin(SEGMENT_74HC595D_SDATA_PORT,_BIT(SEGMENT_74HC595D_SDATA_PIN)) - -#define SEGMENT_74HC595D_SCK_PORT (Pn_Type*)PE -#define SEGMENT_74HC595D_SCK_PIN 9 -#define SEGMENT_74HC595D_SCK_HIGH HAL_GPIO_SetPin(SEGMENT_74HC595D_SCK_PORT,_BIT(SEGMENT_74HC595D_SCK_PIN)) -#define SEGMENT_74HC595D_SCK_LOW HAL_GPIO_ClearPin(SEGMENT_74HC595D_SCK_PORT,_BIT(SEGMENT_74HC595D_SCK_PIN)) - #define SEGMENT_74HC595D_LATCH_PORT (Pn_Type*)PE -#define SEGMENT_74HC595D_LATCH_PIN_NUM 10 +#define SEGMENT_74HC595D_LATCH_PIN_NUM 11 #define SEGMENT_74HC595D_LATCH_H HAL_GPIO_SetPin(SEGMENT_74HC595D_LATCH_PORT, _BIT(SEGMENT_74HC595D_LATCH_PIN_NUM)) #define SEGMENT_74HC595D_LATCH_L HAL_GPIO_ClearPin(SEGMENT_74HC595D_LATCH_PORT, _BIT(SEGMENT_74HC595D_LATCH_PIN_NUM)) #define SEGMENT_74HC595D_LATCH_T HAL_GPIO_TogglePin(SEGMENT_74HC595D_LATCH_PORT, _BIT(SEGMENT_74HC595D_LATCH_PIN_NUM)) @@ -34,20 +23,15 @@ typedef union { struct { - uint8_t HC595_4; - uint8_t HC595_3; + uint8_t HC595_1_COM1 : 1; + uint8_t HC595_1_COM2 : 1; + uint8_t HC595_1_COM3 : 1; + uint8_t HC595_1_COM4 : 1; + uint8_t HC595_1_COM5 : 1; + uint8_t HC595_1_RESERVED : 3; - uint8_t HC595_5_F1C1 : 1; - uint8_t HC595_5_F1C2 : 1; - uint8_t HC595_5_F2C1 : 1; - uint8_t HC595_5_F2C2 : 1; - uint8_t HC595_5_F3C1 : 1; - uint8_t HC595_5_F3C2 : 1; - uint8_t HC595_5_F4C1 : 1; - uint8_t HC595_5_F4C2 : 1; - uint8_t HC595_2; - uint8_t HC595_1; + uint8_t HC595_3; }HC595_Data; uint8_t HC595_TxBuff[SEGMENT_74HC595D_IC_TOTAL_NUM]; }HC595_OUTPUT_DATA; @@ -70,19 +54,11 @@ static void Segment_Output_Data(uint8_t* pTxData, uint8_t TxSize); void Segment_Initialization(void) { - HAL_GPIO_ConfigOutput(SEGMENT_74HC595D_SDATA_PORT, SEGMENT_74HC595D_SDATA_PIN, PUSH_PULL_OUTPUT); - HAL_GPIO_ConfigPullup(SEGMENT_74HC595D_SDATA_PORT, SEGMENT_74HC595D_SDATA_PIN, PUPDx_EnablePU); - - HAL_GPIO_ConfigOutput(SEGMENT_74HC595D_SCK_PORT, SEGMENT_74HC595D_SCK_PIN, PUSH_PULL_OUTPUT); - HAL_GPIO_ConfigPullup(SEGMENT_74HC595D_SCK_PORT, SEGMENT_74HC595D_SCK_PIN, PUPDx_EnablePU); - HAL_GPIO_ConfigOutput(SEGMENT_74HC595D_LATCH_PORT, SEGMENT_74HC595D_LATCH_PIN_NUM, PUSH_PULL_OUTPUT); HAL_GPIO_ConfigPullup(SEGMENT_74HC595D_LATCH_PORT, SEGMENT_74HC595D_LATCH_PIN_NUM, PUPDx_EnablePU); - SEGMENT_74HC595D_LATCH_H; - SEGMENT_74HC595D_SCK_LOW; - SEGMENT_74HC595D_SDATA_HIGH; + SEGMENT_74HC595D_LATCH_H; //Segmet_Output_Process(); ToggleTickCount = millis(); @@ -94,65 +70,29 @@ static void Segemet_Output_Process(void) { static uint8_t temp = 0; - memset(HC595_OutputData.HC595_TxBuff, 0, SEGMENT_74HC595D_IC_TOTAL_NUM); - - if((millis() - ToggleTickCount) >= SEGMENT_TOGGLE_TIME) - { - ToggleTickCount = millis(); - isToggle = !isToggle; - } - + memset(HC595_OutputData.HC595_TxBuff, 0, SEGMENT_74HC595D_IC_TOTAL_NUM); switch(SegmentOutputStep) { - case SEGMENT_OUTPUT_F1C1: - HC595_OutputData.HC595_Data.HC595_5_F1C1 = true; + case SEGMENT_OUTPUT_COM1: + HC595_OutputData.HC595_Data.HC595_1_COM1 = true; break; - case SEGMENT_OUTPUT_F1C2: - HC595_OutputData.HC595_Data.HC595_5_F1C2 = true; + case SEGMENT_OUTPUT_COM2: + HC595_OutputData.HC595_Data.HC595_1_COM2 = true; break; - case SEGMENT_OUTPUT_F2C1: - HC595_OutputData.HC595_Data.HC595_5_F2C1 = true; - break; - case SEGMENT_OUTPUT_F2C2: - HC595_OutputData.HC595_Data.HC595_5_F2C2 = true; - break; - case SEGMENT_OUTPUT_F3C1: - HC595_OutputData.HC595_Data.HC595_5_F3C1 = true; - break; - case SEGMENT_OUTPUT_F3C2: - HC595_OutputData.HC595_Data.HC595_5_F3C2 = true; + case SEGMENT_OUTPUT_COM3: + HC595_OutputData.HC595_Data.HC595_1_COM3 = true; break; - case SEGMENT_OUTPUT_F4C1: - HC595_OutputData.HC595_Data.HC595_5_F4C1 = true; + case SEGMENT_OUTPUT_COM4: + HC595_OutputData.HC595_Data.HC595_1_COM4 = true; break; - case SEGMENT_OUTPUT_F4C2: - HC595_OutputData.HC595_Data.HC595_5_F4C2 = true; - break; - } - - HC595_OutputData.HC595_Data.HC595_1 = Segment_OutputBuff[SegmentOutputStep][0]; - HC595_OutputData.HC595_Data.HC595_2 = Segment_OutputBuff[SegmentOutputStep][1]; - HC595_OutputData.HC595_Data.HC595_3 = Segment_OutputBuff[SegmentOutputStep][2]; - HC595_OutputData.HC595_Data.HC595_4 = Segment_OutputBuff[SegmentOutputStep][3]; - - if(Segment_Toggle_In == true && isToggle == true) - { - if(SegmentOutputStep == DUST_SENSOR_PM40_SELECT_1 || SegmentOutputStep == DUST_SENSOR_PM40_SELECT_2) - { - HC595_OutputData.HC595_Data.HC595_1 = 0x00; - HC595_OutputData.HC595_Data.HC595_2 = 0x00; - } + case SEGMENT_OUTPUT_COM5: + HC595_OutputData.HC595_Data.HC595_1_COM5 = true; + break; } - if(Segment_Toggle_Out == true && isToggle == true) - { - if(SegmentOutputStep == DUST_SENSOR_PM40_SELECT_1 || SegmentOutputStep == DUST_SENSOR_PM40_SELECT_2) - { - HC595_OutputData.HC595_Data.HC595_3 = 0x00; - HC595_OutputData.HC595_Data.HC595_4 = 0x00; - } - } + HC595_OutputData.HC595_Data.HC595_3 = Segment_OutputBuff[SegmentOutputStep][SEGMENT_F1]; + HC595_OutputData.HC595_Data.HC595_2 = Segment_OutputBuff[SegmentOutputStep][SEGMENT_F2]; SEGMENT_74HC595D_LATCH_L; Segment_Output_Data(HC595_OutputData.HC595_TxBuff, SEGMENT_74HC595D_IC_TOTAL_NUM); @@ -161,60 +101,13 @@ static void Segemet_Output_Process(void) SegmentOutputStep++; if(SegmentOutputStep >= SEGMENT_OUTPUT_MAX) { - SegmentOutputStep = SEGMENT_OUTPUT_F1C1; + SegmentOutputStep = SEGMENT_OUTPUT_COM1; } } static void Segment_Output_Data(uint8_t* pTxData, uint8_t TxSize) { - uint8_t Temp; - uint8_t i, j; - - if(HC595_OutputMode == LSB_FIRST) - { - for(i = 0 ; i < TxSize ; i++) - { - Temp = pTxData[i]; - for(j = 0 ; j < 8 ; j++) - { - if((Temp & 0x01)) - { - SEGMENT_74HC595D_SDATA_HIGH; - } - else - { - SEGMENT_74HC595D_SDATA_LOW; - } - - SEGMENT_74HC595D_SCK_HIGH; - SEGMENT_74HC595D_SCK_LOW; - Temp = Temp >> 1; - } - } - } - else - { - for(i = 0 ; i < TxSize ; i++) - { - Temp = pTxData[i]; - for(j = 0 ; j < 8 ; j++) - { - if((Temp & 0x80)) - { - SEGMENT_74HC595D_SDATA_HIGH; - } - else - { - SEGMENT_74HC595D_SDATA_LOW; - } - - SEGMENT_74HC595D_SCK_HIGH; - SEGMENT_74HC595D_SCK_LOW; - Temp = Temp << 1; - } - } - } - SEGMENT_74HC595D_SDATA_HIGH; + SPI13_Transmit(pTxData, TxSize); } diff --git a/Project/Application/segment_74hc595d.h b/Project/Application/segment_74hc595d.h index 959be90..fdbb0cd 100644 --- a/Project/Application/segment_74hc595d.h +++ b/Project/Application/segment_74hc595d.h @@ -6,7 +6,7 @@ #include "board_config.h" -#define SEGMENT_74HC595D_IC_DATA_NUM 4 +#define SEGMENT_74HC595D_IC_DATA_NUM 2 #define SEGMENT_74HC595D_IC_SELECT_NUM 1 #define SEGMENT_74HC595D_IC_TOTAL_NUM (SEGMENT_74HC595D_IC_DATA_NUM + SEGMENT_74HC595D_IC_SELECT_NUM) @@ -25,14 +25,11 @@ typedef enum { - SEGMENT_OUTPUT_F1C1, - SEGMENT_OUTPUT_F1C2, - SEGMENT_OUTPUT_F2C1, - SEGMENT_OUTPUT_F2C2, - SEGMENT_OUTPUT_F3C1, - SEGMENT_OUTPUT_F3C2, - SEGMENT_OUTPUT_F4C1, - SEGMENT_OUTPUT_F4C2, + SEGMENT_OUTPUT_COM1, + SEGMENT_OUTPUT_COM2, + SEGMENT_OUTPUT_COM3, + SEGMENT_OUTPUT_COM4, + SEGMENT_OUTPUT_COM5, SEGMENT_OUTPUT_MAX, }SEGMENT_OUTPUT_STEP; diff --git a/Project/Application/usart11.c b/Project/Application/usart11_rs485.c similarity index 81% rename from Project/Application/usart11.c rename to Project/Application/usart11_rs485.c index 9c6b0de..8596d3a 100644 --- a/Project/Application/usart11.c +++ b/Project/Application/usart11_rs485.c @@ -1,14 +1,9 @@ -#include "usart11.h" +#include "usart11_rs485.h" #include "ring_buffer.h" #include "sw_timer.h" -#include "gpio_uart_led.h" - - #define USARTn_TX_INTERRUTP_ENABLE FALSE - - #define USARTn_PERIPHERAL USART11 #define USARTn_INTERRUPT_HANDLER USART11_IRQn #define USARTn_INTERRUPT_MASK MSK_USART11 @@ -19,10 +14,19 @@ #define USARTn_RX_PORT PD #define USARTn_RX_PIN_NUM 3 -#define USARTn_TX_BUFFER_SIZE 600 +#define USARTn_TX_BUFFER_SIZE 100 #define USARTn_RX_BUFFER_SIZE 100 +#define USARTn_RS485_REDE_PORT (Pn_Type*)PD +#define USARTn_RS485_REDE_NUM 4 +#define USARTn_RS485_RECEIVE HAL_GPIO_ClearPin(USARTn_RS485_REDE_PORT, _BIT(USARTn_RS485_REDE_NUM)) +#define USARTn_RS485_TRANSMIT HAL_GPIO_SetPin(USARTn_RS485_REDE_PORT, _BIT(USARTn_RS485_REDE_NUM)) + + + + + static uint8_t Tx_Buffer[USARTn_TX_BUFFER_SIZE]; static uint8_t Rx_Buffer[USARTn_RX_BUFFER_SIZE]; @@ -61,6 +65,10 @@ void Usart11_Initialization(uint32_t Baudrate, USART1n_DATA_BIT_Type Databit, US USART1n_Config.Stopbits = Stopbit; HAL_USART_Init( ( USART1n_Type* )USARTn_PERIPHERAL, &USART1n_Config ); + + HAL_GPIO_ConfigOutput(USARTn_RS485_REDE_PORT, USARTn_RS485_REDE_NUM, PUSH_PULL_OUTPUT); + HAL_GPIO_ConfigPullup(USARTn_RS485_REDE_PORT, USARTn_RS485_REDE_NUM, PUPDx_EnablePU); + USARTn_RS485_RECEIVE; /* Enable UART Rx interrupt */ HAL_USART_ConfigInterrupt((USART1n_Type*)USARTn_PERIPHERAL, USART1n_INTCFG_RXC, ENABLE ); @@ -188,21 +196,37 @@ static void Usart11_Init_TransmitSet(void) #else static void Usart11_Transmit_Process(void) { - if(RingBuffer_Get_DataSize(&RingBuffer_Tx) != 0) + uint32_t TxCount = RingBuffer_Get_DataSize(&RingBuffer_Tx); + if(TxCount != 0) { - uint8_t TxData; - GPIO_UART_RS232_RX_LED_ON; + uint8_t TxData; + USARTn_RS485_TRANSMIT; RingBuffer_GetData(&RingBuffer_Tx, &TxData); - - if(HAL_USART_Transmit((USART1n_Type*)USARTn_PERIPHERAL, &TxData, 1, NONE_BLOCKING)) + + if(TxCount <= 2) { - /* Update transmit ring FIFO tail pointer */ - RingBuffer_PopData(&RingBuffer_Tx); + if(HAL_USART_CheckBusy((UARTn_Type *)USARTn_PERIPHERAL) == RESET) + { + if(HAL_USART_Transmit((USART1n_Type*)USARTn_PERIPHERAL, &TxData, 1, BLOCKING)) + { + /* Update transmit ring FIFO tail pointer */ + RingBuffer_PopData(&RingBuffer_Tx); + } + } } - } - else + else + { + if(HAL_USART_Transmit((USART1n_Type*)USARTn_PERIPHERAL, &TxData, 1, NONE_BLOCKING)) + { + /* Update transmit ring FIFO tail pointer */ + RingBuffer_PopData(&RingBuffer_Tx); + } + } + } + else { - GPIO_UART_RS232_RX_LED_OFF; + if(HAL_USART_CheckBusy((UARTn_Type *)USARTn_PERIPHERAL) == RESET) + USARTn_RS485_RECEIVE; } } #endif diff --git a/Project/Application/usart11.h b/Project/Application/usart11_rs485.h similarity index 67% rename from Project/Application/usart11.h rename to Project/Application/usart11_rs485.h index e1bec18..423f407 100644 --- a/Project/Application/usart11.h +++ b/Project/Application/usart11_rs485.h @@ -1,7 +1,8 @@ /** \file usart11.h */ -#if !defined(USART11_H__358CA7DD_31CD_4E7D_9BFE_5B68A5DAD39D__INCLUDED_) -#define USART11_H__358CA7DD_31CD_4E7D_9BFE_5B68A5DAD39D__INCLUDED_ +#if !defined(USART11_RS485_H__358CA7DD_31CD_4E7D_9BFE_5B68A5DAD39D__INCLUDED_) +#define USART11_RS485_H__358CA7DD_31CD_4E7D_9BFE_5B68A5DAD39D__INCLUDED_ +#include "board_config.h" #include "define.h" void Usart11_Initialization(uint32_t Baudrate, USART1n_DATA_BIT_Type Databit, USART1n_PARITY_BIT_Type Paritybit, USART1n_STOP_BIT_Type Stopbit); diff --git a/Project/Listings/S_DustSensorView.map b/Project/Listings/S_DustSensorView.map index c000a61..513ba45 100644 --- a/Project/Listings/S_DustSensorView.map +++ b/Project/Listings/S_DustSensorView.map @@ -16,23 +16,23 @@ Section Cross References main.o(i.main) refers to a31g12x_systemclock.o(i.System_Clock_Initialization) for System_Clock_Initialization main.o(i.main) refers to a31g12x_systemclock.o(i.Systick_Initialization) for Systick_Initialization main.o(i.main) refers to eeprom.o(i.FlashMEM_Clock_Initialization) for FlashMEM_Clock_Initialization - main.o(i.main) refers to timer12.o(i.Timer12_Initialization) for Timer12_Initialization + main.o(i.main) refers to usart11_rs485.o(i.Usart11_Initialization) for Usart11_Initialization main.o(i.main) refers to uart1.o(i.Uart1_Initialization) for Uart1_Initialization - main.o(i.main) refers to spi10.o(i.SPI10_Initialization) for SPI10_Initialization - main.o(i.main) refers to gpio_state_led.o(i.Gpio_StateLed_Initialization) for Gpio_StateLed_Initialization - main.o(i.main) refers to gpio_switch.o(i.Gpio_Switch_Port_Initialization) for Gpio_Switch_Port_Initialization - main.o(i.main) refers to gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization) for Gpio_Sensor_PWR_Initialization - main.o(i.main) refers to gpio_i2c.o(i.GPIO_I2C0_Initialization) for GPIO_I2C0_Initialization - main.o(i.main) refers to gpio_i2c.o(i.GPIO_I2C1_Initialization) for GPIO_I2C1_Initialization + main.o(i.main) refers to uart_packet.o(i.Uart_Packet_Initialization) for Uart_Packet_Initialization main.o(i.main) refers to gpio_i2c.o(i.GPIO_I2C2_Initialization) for GPIO_I2C2_Initialization - main.o(i.main) refers to segment_74hc595d.o(i.Segment_Initialization) for Segment_Initialization main.o(i.main) refers to rtc_process.o(i.RTC_Process_Initialization) for RTC_Process_Initialization main.o(i.main) refers to buzzer.o(i.Buzzer_Initialization) for Buzzer_Initialization + main.o(i.main) refers to gpio_switch.o(i.Gpio_Switch_Port_Initialization) for Gpio_Switch_Port_Initialization + main.o(i.main) refers to gpio_state_led.o(i.Gpio_StateLed_Initialization) for Gpio_StateLed_Initialization + main.o(i.main) refers to timer12.o(i.Timer12_Initialization) for Timer12_Initialization + main.o(i.main) refers to spi10.o(i.SPI10_Initialization) for SPI10_Initialization + main.o(i.main) refers to spi13.o(i.SPI13_Initialization) for SPI13_Initialization + main.o(i.main) refers to segment_74hc595d.o(i.Segment_Initialization) for Segment_Initialization main.o(i.main) refers to action_process.o(i.Action_Initialization) for Action_Initialization - main.o(i.main) refers to uart_packet.o(i.Uart_Packet_Initialization) for Uart_Packet_Initialization main.o(i.main) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register main.o(i.main) refers to sw_timer.o(i.SW_Timer_Callback_Process) for SW_Timer_Callback_Process main.o(i.main) refers to main.o(i.timer_test) for timer_test + main.o(i.timer_test) refers to usart11_rs485.o(i.Usart11_TransmitData) for Usart11_TransmitData dbg_printf.o(i.fputc) refers to uart1.o(i.Uart1_Transmit) for Uart1_Transmit sw_timer.o(i.SW_Timer_Callback_Process) refers to systick_timer.o(i.millis) for millis sw_timer.o(i.SW_Timer_Callback_Process) refers to sw_timer.o(.bss) for SW_Timer_Info @@ -49,24 +49,32 @@ Section Cross References ring_buffer.o(i.RingBuffer_Enqueue) refers to uidiv.o(.text) for __aeabi_uidivmod ring_buffer.o(i.RingBuffer_Get_DataSize) refers to ring_buffer.o(i.RingBuffer_isEmpty) for RingBuffer_isEmpty ring_buffer.o(i.RingBuffer_PopData) refers to uidiv.o(.text) for __aeabi_uidivmod - gpio_state_led.o(i.Gpio_StateLed_Get_Mode) refers to gpio_state_led.o(.data) for StateLedMode + gpio_state_led.o(i.Gpio_Led_OutputSet) refers to systick_timer.o(i.millis) for millis + gpio_state_led.o(i.Gpio_Led_OutputSet) refers to gpio_state_led.o(.data) for Gpio_Led_Ctrl_Info gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) for HAL_GPIO_ConfigOutput gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) for HAL_GPIO_ConfigPullup - gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to gpio_state_led.o(i.Gpio_StateLed_Set_Mode) for Gpio_StateLed_Set_Mode gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register + gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to gpio_state_led.o(.data) for Gpio_Led_Ctrl_Info + gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to gpio_state_led.o(i.State_Led_On) for State_Led_On + gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to gpio_state_led.o(i.State_Led_Off) for State_Led_Off gpio_state_led.o(i.Gpio_StateLed_Initialization) refers to gpio_state_led.o(i.State_Led_Output_Process) for State_Led_Output_Process - gpio_state_led.o(i.Gpio_StateLed_Set_Mode) refers to gpio_state_led.o(.data) for StateLedMode + gpio_state_led.o(i.State_Led_Off) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) for HAL_GPIO_SetPin + gpio_state_led.o(i.State_Led_Off) refers to gpio_state_led.o(.data) for Gpio_Led_Ctrl_Info + gpio_state_led.o(i.State_Led_On) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin + gpio_state_led.o(i.State_Led_On) refers to gpio_state_led.o(.data) for Gpio_Led_Ctrl_Info gpio_state_led.o(i.State_Led_Output_Process) refers to systick_timer.o(i.millis) for millis - gpio_state_led.o(i.State_Led_Output_Process) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin - gpio_state_led.o(i.State_Led_Output_Process) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) for HAL_GPIO_SetPin - gpio_state_led.o(i.State_Led_Output_Process) refers to gpio_state_led.o(.data) for StateLedStep + gpio_state_led.o(i.State_Led_Output_Process) refers to gpio_state_led.o(.data) for Gpio_Led_Ctrl_Info gpio_switch.o(i.Gpio_Switch_Check_Process) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ReadPin) for HAL_GPIO_ReadPin gpio_switch.o(i.Gpio_Switch_Check_Process) refers to gpio_switch.o(.data) for KeyCheckInfo gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) for HAL_GPIO_ConfigOutput gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) for HAL_GPIO_ConfigPullup gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_SetDebouncePin) for HAL_GPIO_SetDebouncePin + gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to gpio_switch.o(i.Gpio_Swtich_Set_Callback) for Gpio_Swtich_Set_Callback gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register + gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to gpio_switch.o(.data) for KeyCheckInfo + gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to gpio_switch.o(i.Gpio_Switch_TestCallback) for Gpio_Switch_TestCallback gpio_switch.o(i.Gpio_Switch_Port_Initialization) refers to gpio_switch.o(i.Gpio_Switch_Check_Process) for Gpio_Switch_Check_Process + gpio_switch.o(i.Gpio_Switch_TestCallback) refers to printfa.o(i.__0printf) for __2printf gpio_switch.o(i.Gpio_Swtich_Set_Callback) refers to gpio_switch.o(.data) for KeyCheckInfo gpio_switch.o(i.Gpio_Swtich_Set_PushCount) refers to gpio_switch.o(.data) for KeyCheckInfo uart1.o(i.UART1_Handler) refers to uart1.o(i.Uart1_Receive_Handler) for Uart1_Receive_Handler @@ -99,7 +107,6 @@ Section Cross References uart1.o(i.Uart1_Transmit_Process) refers to ring_buffer.o(i.RingBuffer_PopData) for RingBuffer_PopData uart1.o(i.Uart1_Transmit_Process) refers to uart1.o(.bss) for RingBuffer_Tx segment_74hc595d.o(i.Segemet_Output_Process) refers to memseta.o(.text) for __aeabi_memclr - segment_74hc595d.o(i.Segemet_Output_Process) refers to systick_timer.o(i.millis) for millis segment_74hc595d.o(i.Segemet_Output_Process) refers to segment_74hc595d.o(i.__ARM_common_switch8) for __ARM_common_switch8 segment_74hc595d.o(i.Segemet_Output_Process) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin segment_74hc595d.o(i.Segemet_Output_Process) refers to segment_74hc595d.o(i.Segment_Output_Data) for Segment_Output_Data @@ -109,14 +116,11 @@ Section Cross References segment_74hc595d.o(i.Segment_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) for HAL_GPIO_ConfigOutput segment_74hc595d.o(i.Segment_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) for HAL_GPIO_ConfigPullup segment_74hc595d.o(i.Segment_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) for HAL_GPIO_SetPin - segment_74hc595d.o(i.Segment_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin segment_74hc595d.o(i.Segment_Initialization) refers to systick_timer.o(i.millis) for millis segment_74hc595d.o(i.Segment_Initialization) refers to timer12.o(i.Timer12_Set_Match_Interrupt_Callback) for Timer12_Set_Match_Interrupt_Callback segment_74hc595d.o(i.Segment_Initialization) refers to segment_74hc595d.o(.data) for ToggleTickCount segment_74hc595d.o(i.Segment_Initialization) refers to segment_74hc595d.o(i.Segemet_Output_Process) for Segemet_Output_Process - segment_74hc595d.o(i.Segment_Output_Data) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) for HAL_GPIO_SetPin - segment_74hc595d.o(i.Segment_Output_Data) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin - segment_74hc595d.o(i.Segment_Output_Data) refers to segment_74hc595d.o(.data) for HC595_OutputMode + segment_74hc595d.o(i.Segment_Output_Data) refers to spi13.o(i.SPI13_Transmit) for SPI13_Transmit timer12.o(i.TIMER12_Handler) refers to timer12.o(.data) for Timer12_Match_Callback timer12.o(i.Timer12_Initialization) refers to a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Init) for HAL_TIMER1n_Init timer12.o(i.Timer12_Initialization) refers to a31g12x_hal_timer1n.o(i.HAL_TIMER1n_ConfigInterrupt) for HAL_TIMER1n_ConfigInterrupt @@ -304,20 +308,62 @@ Section Cross References driver_ds3231_interface_template.o(i.ds3231_interface_receive_callback) refers to driver_ds3231_interface_template.o(i.ds3231_interface_debug_print) for ds3231_interface_debug_print rtc_process.o(i.RTC_Get_IC_Time_Process) refers to driver_ds3231_basic.o(i.ds3231_basic_get_time) for ds3231_basic_get_time rtc_process.o(i.RTC_Get_IC_Time_Process) refers to idiv.o(.text) for __aeabi_idivmod + rtc_process.o(i.RTC_Get_IC_Time_Process) refers to printfa.o(i.__0printf) for __2printf rtc_process.o(i.RTC_Get_IC_Time_Process) refers to rtc_process.o(.data) for rtc_Time rtc_process.o(i.RTC_Get_Time) refers to memcpya.o(.text) for __aeabi_memcpy rtc_process.o(i.RTC_Get_Time) refers to rtc_process.o(.data) for rtc_Time rtc_process.o(i.RTC_Process_Initialization) refers to driver_ds3231_basic.o(i.ds3231_basic_init) for ds3231_basic_init rtc_process.o(i.RTC_Process_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register rtc_process.o(i.RTC_Process_Initialization) refers to rtc_process.o(i.RTC_Get_IC_Time_Process) for RTC_Get_IC_Time_Process + action_process.o(i.Action_Initialization) refers to gpio_switch.o(i.Gpio_Swtich_Set_Callback) for Gpio_Swtich_Set_Callback action_process.o(i.Action_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register + action_process.o(i.Action_Initialization) refers to action_process.o(.bss) for Control_Info + action_process.o(i.Action_Initialization) refers to action_process.o(i.Action_Set_Key_Push) for Action_Set_Key_Push + action_process.o(i.Action_Initialization) refers to action_process.o(i.Action_Mode_Key_Push) for Action_Mode_Key_Push + action_process.o(i.Action_Initialization) refers to action_process.o(i.Action_Up_Key_Push) for Action_Up_Key_Push + action_process.o(i.Action_Initialization) refers to action_process.o(i.Action_Down_Key_Push) for Action_Down_Key_Push action_process.o(i.Action_Initialization) refers to action_process.o(i.Action_Process) for Action_Process - eeprom.o(i.EEPROM_Read_Mode) refers to memcpya.o(.text) for __aeabi_memcpy - eeprom.o(i.EEPROM_Read_Mode) refers to eeprom.o(.bss) for eeprom_info - eeprom.o(i.EEPROM_Write_Mode) refers to memseta.o(.text) for __aeabi_memclr - eeprom.o(i.EEPROM_Write_Mode) refers to eeprom.o(i.FlashMem_Do_PageEr) for FlashMem_Do_PageEr - eeprom.o(i.EEPROM_Write_Mode) refers to eeprom.o(i.FlashMem_Do_PageWt) for FlashMem_Do_PageWt - eeprom.o(i.EEPROM_Write_Mode) refers to eeprom.o(.bss) for eeprom_info + action_process.o(i.Action_Mode_Key_Push) refers to buzzer.o(i.Buzzer_On) for Buzzer_On + action_process.o(i.Action_Mode_Key_Push) refers to gpio_state_led.o(i.Gpio_Led_OutputSet) for Gpio_Led_OutputSet + action_process.o(i.Action_Mode_Key_Push) refers to action_process.o(.bss) for Control_Info + action_process.o(i.Action_PowerOn_Init_Process) refers to segment_74hc595d.o(i.__ARM_common_switch8) for __ARM_common_switch8 + action_process.o(i.Action_PowerOn_Init_Process) refers to buzzer.o(i.Buzzer_On) for Buzzer_On + action_process.o(i.Action_PowerOn_Init_Process) refers to segment.o(i.Segment_All_Set_Data) for Segment_All_Set_Data + action_process.o(i.Action_PowerOn_Init_Process) refers to gpio_state_led.o(i.Gpio_Led_OutputSet) for Gpio_Led_OutputSet + action_process.o(i.Action_PowerOn_Init_Process) refers to systick_timer.o(i.millis) for millis + action_process.o(i.Action_PowerOn_Init_Process) refers to segment.o(i.Segment_Show_Version) for Segment_Show_Version + action_process.o(i.Action_PowerOn_Init_Process) refers to action_process.o(i.Action_Power_On_Key_Set) for Action_Power_On_Key_Set + action_process.o(i.Action_PowerOn_Init_Process) refers to action_process.o(.bss) for Control_Info + action_process.o(i.Action_PowerOn_Process) refers to action_process.o(i.Action_Power_Off_Key_Set) for Action_Power_Off_Key_Set + action_process.o(i.Action_PowerOn_Process) refers to gpio_state_led.o(i.Gpio_Led_OutputSet) for Gpio_Led_OutputSet + action_process.o(i.Action_PowerOn_Process) refers to eeprom.o(i.EEPROM_Read_SettingValue) for EEPROM_Read_SettingValue + action_process.o(i.Action_PowerOn_Process) refers to segment.o(i.Segment_Show_Time) for Segment_Show_Time + action_process.o(i.Action_PowerOn_Process) refers to segment.o(i.Segment_Show_SensorData) for Segment_Show_SensorData + action_process.o(i.Action_PowerOn_Process) refers to action_process.o(i.Action_Power_On_Key_Set) for Action_Power_On_Key_Set + action_process.o(i.Action_PowerOn_Process) refers to segment.o(i.Segment_All_Set_Data) for Segment_All_Set_Data + action_process.o(i.Action_PowerOn_Process) refers to eeprom.o(i.EEPROM_Write_SettingValue) for EEPROM_Write_SettingValue + action_process.o(i.Action_PowerOn_Process) refers to action_process.o(.bss) for Control_Info + action_process.o(i.Action_Power_Off_Key_Push_Callback) refers to buzzer.o(i.Buzzer_On) for Buzzer_On + action_process.o(i.Action_Power_Off_Key_Push_Callback) refers to printfa.o(i.__0printf) for __2printf + action_process.o(i.Action_Power_Off_Key_Push_Callback) refers to action_process.o(.bss) for Control_Info + action_process.o(i.Action_Power_Off_Key_Set) refers to gpio_switch.o(i.Gpio_Swtich_Set_PushCount) for Gpio_Swtich_Set_PushCount + action_process.o(i.Action_Power_Off_Key_Set) refers to gpio_switch.o(i.Gpio_Swtich_Set_Callback) for Gpio_Swtich_Set_Callback + action_process.o(i.Action_Power_Off_Key_Set) refers to action_process.o(i.Action_Power_Off_Key_Push_Callback) for Action_Power_Off_Key_Push_Callback + action_process.o(i.Action_Power_On_Key_Push_Callback) refers to buzzer.o(i.Buzzer_On) for Buzzer_On + action_process.o(i.Action_Power_On_Key_Push_Callback) refers to printfa.o(i.__0printf) for __2printf + action_process.o(i.Action_Power_On_Key_Push_Callback) refers to action_process.o(.bss) for Control_Info + action_process.o(i.Action_Power_On_Key_Set) refers to gpio_switch.o(i.Gpio_Swtich_Set_PushCount) for Gpio_Swtich_Set_PushCount + action_process.o(i.Action_Power_On_Key_Set) refers to gpio_switch.o(i.Gpio_Swtich_Set_Callback) for Gpio_Swtich_Set_Callback + action_process.o(i.Action_Power_On_Key_Set) refers to action_process.o(i.Action_Power_On_Key_Push_Callback) for Action_Power_On_Key_Push_Callback + action_process.o(i.Action_Process) refers to action_process.o(i.Action_PowerOn_Init_Process) for Action_PowerOn_Init_Process + action_process.o(i.Action_Process) refers to action_process.o(i.Action_PowerOn_Process) for Action_PowerOn_Process + action_process.o(i.Action_Process) refers to action_process.o(.bss) for Control_Info + eeprom.o(i.EEPROM_Read_SettingValue) refers to memcpya.o(.text) for __aeabi_memcpy + eeprom.o(i.EEPROM_Read_SettingValue) refers to eeprom.o(.bss) for eeprom_info + eeprom.o(i.EEPROM_Write_SettingValue) refers to memseta.o(.text) for __aeabi_memclr + eeprom.o(i.EEPROM_Write_SettingValue) refers to eeprom.o(i.FlashMem_Do_PageEr) for FlashMem_Do_PageEr + eeprom.o(i.EEPROM_Write_SettingValue) refers to eeprom.o(i.FlashMem_Do_PageWt) for FlashMem_Do_PageWt + eeprom.o(i.EEPROM_Write_SettingValue) refers to eeprom.o(.bss) for eeprom_info eeprom.o(i.FlashMEM_Clock_Initialization) refers to a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2) for HAL_SCU_Peripheral_EnableClock2 eeprom.o(i.FlashMEM_Clock_Initialization) refers to a31g12x_hal_crc.o(i.HAL_CRC_Init) for HAL_CRC_Init eeprom.o(i.FlashMem_Do_PageEr) refers to a31g12x_hal_fmc.o(i.HAL_FMC_PageErase) for HAL_FMC_PageErase @@ -336,57 +382,21 @@ Section Cross References gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) for HAL_GPIO_ConfigPullup gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin segment.o(i.Segment_All_Set_Data) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_In_Sensor_Error) refers to segment_74hc595d.o(.data) for Segment_Toggle_In - segment.o(i.Segment_In_Sensor_Error) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_In_Sensor_Error) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_In_Set_Humidity) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_In_Set_Humidity) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_In_Set_Humidity) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_In_Set_PM_10) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_In_Set_PM_10) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_In_Set_PM_10) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_In_Set_PM_1p0) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_In_Set_PM_1p0) refers to segment_74hc595d.o(.data) for Segment_Toggle_In - segment.o(i.Segment_In_Set_PM_1p0) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_In_Set_PM_1p0) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_In_Set_PM_2p5) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_In_Set_PM_2p5) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_In_Set_PM_2p5) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_In_Set_PM_4p0) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_In_Set_PM_4p0) refers to segment_74hc595d.o(.data) for Segment_Toggle_In - segment.o(i.Segment_In_Set_PM_4p0) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_In_Set_PM_4p0) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_In_Set_Temperature) refers to idiv.o(.text) for __aeabi_idivmod - segment.o(i.Segment_In_Set_Temperature) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_In_Set_Temperature) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Out_Sensor_Error) refers to segment_74hc595d.o(.data) for Segment_Toggle_Out - segment.o(i.Segment_Out_Sensor_Error) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_Out_Sensor_Error) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Out_Set_Humidity) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_Out_Set_Humidity) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_Out_Set_Humidity) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Out_Set_PM_10) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_Out_Set_PM_10) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_Out_Set_PM_10) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Out_Set_PM_1p0) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_Out_Set_PM_1p0) refers to segment_74hc595d.o(.data) for Segment_Toggle_Out - segment.o(i.Segment_Out_Set_PM_1p0) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_Out_Set_PM_1p0) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Out_Set_PM_2p5) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_Out_Set_PM_2p5) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_Out_Set_PM_2p5) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Out_Set_PM_4p0) refers to uidiv.o(.text) for __aeabi_uidivmod - segment.o(i.Segment_Out_Set_PM_4p0) refers to segment_74hc595d.o(.data) for Segment_Toggle_Out - segment.o(i.Segment_Out_Set_PM_4p0) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_Out_Set_PM_4p0) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Out_Set_Temperature) refers to idiv.o(.text) for __aeabi_idivmod - segment.o(i.Segment_Out_Set_Temperature) refers to segment.o(.constdata) for SegmentData - segment.o(i.Segment_Out_Set_Temperature) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Show_Mode) refers to segment.o(.bss) for Segment_OutputBuff - segment.o(i.Segment_Show_Mode) refers to segment.o(.constdata) for SegmentData + segment.o(i.Segment_Sensor_Error) refers to segment.o(.constdata) for SegmentData + segment.o(i.Segment_Sensor_Error) refers to segment.o(.bss) for Segment_OutputBuff + segment.o(i.Segment_Show_SensorData) refers to uidiv.o(.text) for __aeabi_uidivmod + segment.o(i.Segment_Show_SensorData) refers to segment.o(.constdata) for SegmentData + segment.o(i.Segment_Show_SensorData) refers to segment.o(.bss) for Segment_OutputBuff + segment.o(i.Segment_Show_Time) refers to systick_timer.o(i.millis) for millis + segment.o(i.Segment_Show_Time) refers to uidiv.o(.text) for __aeabi_uidivmod + segment.o(i.Segment_Show_Time) refers to rtc_process.o(i.RTC_Get_Time) for RTC_Get_Time + segment.o(i.Segment_Show_Time) refers to idiv.o(.text) for __aeabi_idivmod + segment.o(i.Segment_Show_Time) refers to segment.o(.constdata) for SegmentData + segment.o(i.Segment_Show_Time) refers to segment.o(.bss) for Segment_OutputBuff + segment.o(i.Segment_Show_Version) refers to segment.o(i.Segment_All_Set_Data) for Segment_All_Set_Data segment.o(i.Segment_Show_Version) refers to idiv.o(.text) for __aeabi_idivmod - segment.o(i.Segment_Show_Version) refers to segment.o(.bss) for Segment_OutputBuff segment.o(i.Segment_Show_Version) refers to segment.o(.constdata) for SegmentData + segment.o(i.Segment_Show_Version) refers to segment.o(.bss) for Segment_OutputBuff uart_packet.o(i.Uart_Packet_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register uart_packet.o(i.Uart_Packet_Initialization) refers to uart_packet.o(.data) for Pack_Index uart_packet.o(i.Uart_Packet_Initialization) refers to uart_packet.o(i.Uart_Packet_Make_Process) for Uart_Packet_Make_Process @@ -398,6 +408,47 @@ Section Cross References uart_packet.o(i.Uart_Packet_Process) refers to driver_ds3231_basic.o(i.ds3231_basic_get_time) for ds3231_basic_get_time uart_packet.o(i.Uart_Packet_Process) refers to driver_ds3231_basic.o(i.ds3231_basic_set_time) for ds3231_basic_set_time uart_packet.o(i.Uart_Packet_Process) refers to buzzer.o(i.Buzzer_On) for Buzzer_On + spi13.o(i.SPI13_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) for HAL_GPIO_ConfigOutput + spi13.o(i.SPI13_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction) for HAL_GPIO_ConfigFunction + spi13.o(i.SPI13_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_SPI_Mode_Config) for HAL_USART_SPI_Mode_Config + spi13.o(i.SPI13_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Init) for HAL_USART_Init + spi13.o(i.SPI13_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig) for HAL_USART_DataControlConfig + spi13.o(i.SPI13_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Enable) for HAL_USART_Enable + usart11_rs485.o(i.USART11_Handler) refers to a31g12x_hal_usart1n.o(i.HAL_USART_GetStatus) for HAL_USART_GetStatus + usart11_rs485.o(i.USART11_Handler) refers to usart11_rs485.o(i.Usart11_Receive_Handler) for Usart11_Receive_Handler + usart11_rs485.o(i.Usart11_Get_RecvData) refers to ring_buffer.o(i.RingBuffer_Dequeue) for RingBuffer_Dequeue + usart11_rs485.o(i.Usart11_Get_RecvData) refers to usart11_rs485.o(.bss) for RingBuffer_Rx + usart11_rs485.o(i.Usart11_Get_RecvDataCount) refers to ring_buffer.o(i.RingBuffer_Get_DataSize) for RingBuffer_Get_DataSize + usart11_rs485.o(i.Usart11_Get_RecvDataCount) refers to usart11_rs485.o(.bss) for RingBuffer_Rx + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) for HAL_GPIO_ConfigOutput + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction) for HAL_GPIO_ConfigFunction + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) for HAL_GPIO_ConfigPullup + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_UART_Mode_Config) for HAL_USART_UART_Mode_Config + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Init) for HAL_USART_Init + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_ConfigInterrupt) for HAL_USART_ConfigInterrupt + usart11_rs485.o(i.Usart11_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register + usart11_rs485.o(i.Usart11_Initialization) refers to ring_buffer.o(i.RingBuffer_Initialization) for RingBuffer_Initialization + usart11_rs485.o(i.Usart11_Initialization) refers to usart11_rs485.o(i.NVIC_SetPriority) for NVIC_SetPriority + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_intc.o(i.HAL_INT_EInt_MaskDisable) for HAL_INT_EInt_MaskDisable + usart11_rs485.o(i.Usart11_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Enable) for HAL_USART_Enable + usart11_rs485.o(i.Usart11_Initialization) refers to usart11_rs485.o(i.Usart11_Transmit_Process) for Usart11_Transmit_Process + usart11_rs485.o(i.Usart11_Initialization) refers to usart11_rs485.o(.bss) for Rx_Buffer + usart11_rs485.o(i.Usart11_Receive_Handler) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Receive) for HAL_USART_Receive + usart11_rs485.o(i.Usart11_Receive_Handler) refers to ring_buffer.o(i.RingBuffer_Enqueue) for RingBuffer_Enqueue + usart11_rs485.o(i.Usart11_Receive_Handler) refers to usart11_rs485.o(.bss) for RingBuffer_Rx + usart11_rs485.o(i.Usart11_Transmit) refers to ring_buffer.o(i.RingBuffer_Enqueue) for RingBuffer_Enqueue + usart11_rs485.o(i.Usart11_Transmit) refers to usart11_rs485.o(.bss) for RingBuffer_Tx + usart11_rs485.o(i.Usart11_TransmitData) refers to ring_buffer.o(i.RingBuffer_Enqueue) for RingBuffer_Enqueue + usart11_rs485.o(i.Usart11_TransmitData) refers to usart11_rs485.o(.bss) for RingBuffer_Tx + usart11_rs485.o(i.Usart11_Transmit_Process) refers to ring_buffer.o(i.RingBuffer_Get_DataSize) for RingBuffer_Get_DataSize + usart11_rs485.o(i.Usart11_Transmit_Process) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) for HAL_GPIO_SetPin + usart11_rs485.o(i.Usart11_Transmit_Process) refers to ring_buffer.o(i.RingBuffer_GetData) for RingBuffer_GetData + usart11_rs485.o(i.Usart11_Transmit_Process) refers to a31g12x_hal_usart1n.o(i.HAL_USART_CheckBusy) for HAL_USART_CheckBusy + usart11_rs485.o(i.Usart11_Transmit_Process) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Transmit) for HAL_USART_Transmit + usart11_rs485.o(i.Usart11_Transmit_Process) refers to ring_buffer.o(i.RingBuffer_PopData) for RingBuffer_PopData + usart11_rs485.o(i.Usart11_Transmit_Process) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin + usart11_rs485.o(i.Usart11_Transmit_Process) refers to usart11_rs485.o(.bss) for RingBuffer_Tx a31g12x_hal_adc.o(i.HAL_ADC_DeInit) refers to a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2) for HAL_SCU_Peripheral_EnableClock2 a31g12x_hal_adc.o(i.HAL_ADC_Init) refers to a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2) for HAL_SCU_Peripheral_EnableClock2 a31g12x_hal_crc.o(i.HAL_CRC_ConfigAutoMode) refers to system_a31g12x.o(.data) for SystemCoreClock @@ -528,6 +579,7 @@ Section Cross References startup_a31g12x.o(RESET) refers to a31g12x_interrupt.o(i.PendSV_Handler) for PendSV_Handler startup_a31g12x.o(RESET) refers to systick_timer.o(i.SysTick_Handler) for SysTick_Handler startup_a31g12x.o(RESET) refers to timer12.o(i.TIMER12_Handler) for TIMER12_Handler + startup_a31g12x.o(RESET) refers to usart11_rs485.o(i.USART11_Handler) for USART11_Handler startup_a31g12x.o(RESET) refers to uart1.o(i.UART1_Handler) for UART1_Handler startup_a31g12x.o(.text) refers to system_a31g12x.o(i.SystemInit) for SystemInit startup_a31g12x.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main @@ -1081,9 +1133,9 @@ Removing Unused input sections from the image. Removing a31g12x_systemclock.o(.revsh_text), (4 bytes). Removing main.o(.rev16_text), (4 bytes). Removing main.o(.revsh_text), (4 bytes). + Removing main.o(.data), (1 bytes). Removing dbg_printf.o(.rev16_text), (4 bytes). Removing dbg_printf.o(.revsh_text), (4 bytes). - Removing dbg_printf.o(i.fputc), (16 bytes). Removing sw_timer.o(.rev16_text), (4 bytes). Removing sw_timer.o(.revsh_text), (4 bytes). Removing sw_timer.o(i.SW_Timer_Callback_UnRegister), (52 bytes). @@ -1094,26 +1146,24 @@ Removing Unused input sections from the image. Removing ring_buffer.o(i.RingBuffer_Clear), (34 bytes). Removing gpio_state_led.o(.rev16_text), (4 bytes). Removing gpio_state_led.o(.revsh_text), (4 bytes). - Removing gpio_state_led.o(i.Gpio_StateLed_Get_Mode), (12 bytes). Removing gpio_switch.o(.rev16_text), (4 bytes). Removing gpio_switch.o(.revsh_text), (4 bytes). - Removing gpio_switch.o(i.Gpio_Swtich_Set_Callback), (40 bytes). - Removing gpio_switch.o(i.Gpio_Swtich_Set_PushCount), (32 bytes). Removing uart1.o(.rev16_text), (4 bytes). Removing uart1.o(.revsh_text), (4 bytes). - Removing uart1.o(i.Uart1_Transmit), (20 bytes). Removing uart1.o(i.Uart1_TransmitData), (32 bytes). Removing segment_74hc595d.o(.rev16_text), (4 bytes). Removing segment_74hc595d.o(.revsh_text), (4 bytes). - Removing segment_74hc595d.o(.bss), (32 bytes). + Removing segment_74hc595d.o(.bss), (10 bytes). Removing timer12.o(.rev16_text), (4 bytes). Removing timer12.o(.revsh_text), (4 bytes). Removing gpio_i2c.o(.rev16_text), (4 bytes). Removing gpio_i2c.o(.revsh_text), (4 bytes). + Removing gpio_i2c.o(i.GPIO_I2C0_Initialization), (64 bytes). Removing gpio_i2c.o(i.GPIO_I2C0_Read), (148 bytes). Removing gpio_i2c.o(i.GPIO_I2C0_Start), (76 bytes). Removing gpio_i2c.o(i.GPIO_I2C0_Stop), (64 bytes). Removing gpio_i2c.o(i.GPIO_I2C0_Write), (148 bytes). + Removing gpio_i2c.o(i.GPIO_I2C1_Initialization), (64 bytes). Removing gpio_i2c.o(i.GPIO_I2C1_Read), (148 bytes). Removing gpio_i2c.o(i.GPIO_I2C1_Start), (76 bytes). Removing gpio_i2c.o(i.GPIO_I2C1_Stop), (64 bytes). @@ -1162,43 +1212,29 @@ Removing Unused input sections from the image. Removing driver_ds3231_interface_template.o(.revsh_text), (4 bytes). Removing rtc_process.o(.rev16_text), (4 bytes). Removing rtc_process.o(.revsh_text), (4 bytes). - Removing rtc_process.o(i.RTC_Get_Time), (20 bytes). Removing action_process.o(.rev16_text), (4 bytes). Removing action_process.o(.revsh_text), (4 bytes). - Removing action_process.o(.bss), (12 bytes). Removing eeprom.o(.rev16_text), (4 bytes). Removing eeprom.o(.revsh_text), (4 bytes). - Removing eeprom.o(i.EEPROM_Read_Mode), (144 bytes). - Removing eeprom.o(i.EEPROM_Write_Mode), (156 bytes). - Removing eeprom.o(i.FlashMem_Do_PageEr), (20 bytes). - Removing eeprom.o(i.FlashMem_Do_PageWt), (24 bytes). - Removing eeprom.o(.bss), (128 bytes). Removing buzzer.o(.rev16_text), (4 bytes). Removing buzzer.o(.revsh_text), (4 bytes). Removing gpio_sensor.o(.rev16_text), (4 bytes). Removing gpio_sensor.o(.revsh_text), (4 bytes). + Removing gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization), (36 bytes). Removing segment.o(.rev16_text), (4 bytes). Removing segment.o(.revsh_text), (4 bytes). - Removing segment.o(i.Segment_All_Set_Data), (44 bytes). - Removing segment.o(i.Segment_In_Sensor_Error), (140 bytes). - Removing segment.o(i.Segment_In_Set_Humidity), (96 bytes). - Removing segment.o(i.Segment_In_Set_PM_10), (332 bytes). - Removing segment.o(i.Segment_In_Set_PM_1p0), (348 bytes). - Removing segment.o(i.Segment_In_Set_PM_2p5), (336 bytes). - Removing segment.o(i.Segment_In_Set_PM_4p0), (348 bytes). - Removing segment.o(i.Segment_In_Set_Temperature), (172 bytes). - Removing segment.o(i.Segment_Out_Sensor_Error), (148 bytes). - Removing segment.o(i.Segment_Out_Set_Humidity), (100 bytes). - Removing segment.o(i.Segment_Out_Set_PM_10), (344 bytes). - Removing segment.o(i.Segment_Out_Set_PM_1p0), (352 bytes). - Removing segment.o(i.Segment_Out_Set_PM_2p5), (344 bytes). - Removing segment.o(i.Segment_Out_Set_PM_4p0), (352 bytes). - Removing segment.o(i.Segment_Out_Set_Temperature), (172 bytes). - Removing segment.o(i.Segment_Show_Mode), (88 bytes). - Removing segment.o(i.Segment_Show_Version), (148 bytes). - Removing segment.o(.constdata), (38 bytes). + Removing segment.o(i.Segment_Sensor_Error), (44 bytes). Removing uart_packet.o(.rev16_text), (4 bytes). Removing uart_packet.o(.revsh_text), (4 bytes). + Removing spi13.o(.rev16_text), (4 bytes). + Removing spi13.o(.revsh_text), (4 bytes). + Removing spi13.o(i.SPI13_SendReceiveByte), (48 bytes). + Removing spi13.o(i.SPI13_SendRecv), (60 bytes). + Removing usart11_rs485.o(.rev16_text), (4 bytes). + Removing usart11_rs485.o(.revsh_text), (4 bytes). + Removing usart11_rs485.o(i.Usart11_Get_RecvData), (20 bytes). + Removing usart11_rs485.o(i.Usart11_Get_RecvDataCount), (16 bytes). + Removing usart11_rs485.o(i.Usart11_Transmit), (20 bytes). Removing a31g12x_hal_adc.o(.rev16_text), (4 bytes). Removing a31g12x_hal_adc.o(.revsh_text), (4 bytes). Removing a31g12x_hal_adc.o(i.HAL_ADC_ChannelSel), (28 bytes). @@ -1237,12 +1273,6 @@ Removing Unused input sections from the image. Removing a31g12x_hal_fmc.o(.rev16_text), (4 bytes). Removing a31g12x_hal_fmc.o(.revsh_text), (4 bytes). Removing a31g12x_hal_fmc.o(i.HAL_FMC_BulkErase), (76 bytes). - Removing a31g12x_hal_fmc.o(i.HAL_FMC_FlashEntry), (96 bytes). - Removing a31g12x_hal_fmc.o(i.HAL_FMC_FlashExit), (56 bytes). - Removing a31g12x_hal_fmc.o(i.HAL_FMC_FlashFunction), (424 bytes). - Removing a31g12x_hal_fmc.o(i.HAL_FMC_PageErase), (64 bytes). - Removing a31g12x_hal_fmc.o(i.HAL_FMC_PageWrite), (64 bytes). - Removing a31g12x_hal_fmc.o(.data), (16 bytes). Removing a31g12x_hal_i2cn.o(.rev16_text), (4 bytes). Removing a31g12x_hal_i2cn.o(.revsh_text), (4 bytes). Removing a31g12x_hal_i2cn.o(i.HAL_I2C_ConfigInterrupt), (128 bytes). @@ -1359,14 +1389,7 @@ Removing Unused input sections from the image. Removing a31g12x_hal_uartn.o(.bss), (80 bytes). Removing a31g12x_hal_usart1n.o(.rev16_text), (4 bytes). Removing a31g12x_hal_usart1n.o(.revsh_text), (4 bytes). - Removing a31g12x_hal_usart1n.o(i.HAL_USART_CheckBusy), (20 bytes). - Removing a31g12x_hal_usart1n.o(i.HAL_USART_ConfigInterrupt), (76 bytes). Removing a31g12x_hal_usart1n.o(i.HAL_USART_DeInit), (112 bytes). - Removing a31g12x_hal_usart1n.o(i.HAL_USART_GetStatus), (8 bytes). - Removing a31g12x_hal_usart1n.o(i.HAL_USART_Receive), (114 bytes). - Removing a31g12x_hal_usart1n.o(i.HAL_USART_Transmit), (132 bytes). - Removing a31g12x_hal_usart1n.o(i.HAL_USART_TransmitByte), (16 bytes). - Removing a31g12x_hal_usart1n.o(i.HAL_USART_UART_Mode_Config), (34 bytes). Removing a31g12x_hal_usart1n.o(i.HAL_USART_USRT_Mode_Config), (42 bytes). Removing a31g12x_hal_wdt.o(.rev16_text), (4 bytes). Removing a31g12x_hal_wdt.o(.revsh_text), (4 bytes). @@ -1501,20 +1524,13 @@ Removing Unused input sections from the image. Removing ff_gen_drv.o(.bss), (12 bytes). Removing fmul.o(.text), (122 bytes). Removing fflti.o(.text), (22 bytes). - Removing dadd.o(.text), (360 bytes). - Removing dmul.o(.text), (208 bytes). - Removing ddiv.o(.text), (240 bytes). - Removing dfixul.o(.text), (64 bytes). - Removing cdrcmple.o(.text), (40 bytes). - Removing depilogue.o(.text), (190 bytes). Removing user_diskio_spi.o(i.USER_SPI_initialize), (352 bytes). Removing user_diskio_spi.o(i.USER_SPI_status), (20 bytes). Removing user_diskio_spi.o(i.USER_SPI_read), (160 bytes). Removing user_diskio_spi.o(i.USER_SPI_write), (200 bytes). Removing user_diskio_spi.o(i.USER_SPI_ioctl), (576 bytes). - Removing depilogue.o(i.__ARM_clz), (46 bytes). -436 unused section(s) (total 41236 bytes) removed from the image. +400 unused section(s) (total 34809 bytes) removed from the image. ============================================================================== @@ -1525,56 +1541,57 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) RESET 0x00000000 Section 176 startup_a31g12x.o(RESET) - ../clib/microlib/division.c 0x00000000 Number 0 idiv.o ABSOLUTE + ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 idiv.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE - ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE - ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE ../clib/microlib/string/strncpy.c 0x00000000 Number 0 strncpy.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE ../clib/microlib/time/localtime.c 0x00000000 Number 0 localtime.o ABSOLUTE - ../clib/microlib/time/localtime.c 0x00000000 Number 0 localtime_i.o ABSOLUTE ../clib/microlib/time/localtime.c 0x00000000 Number 0 localtime_w.o ABSOLUTE + ../clib/microlib/time/localtime.c 0x00000000 Number 0 localtime_i.o ABSOLUTE ../clib/microlib/time/mktime.c 0x00000000 Number 0 mktime.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE - ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 fflti.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE @@ -1609,11 +1626,13 @@ Image Symbol Table Application\\segment.c 0x00000000 Number 0 segment.o ABSOLUTE Application\\segment_74hc595d.c 0x00000000 Number 0 segment_74hc595d.o ABSOLUTE Application\\spi10.c 0x00000000 Number 0 spi10.o ABSOLUTE + Application\\spi13.c 0x00000000 Number 0 spi13.o ABSOLUTE Application\\sw_timer.c 0x00000000 Number 0 sw_timer.o ABSOLUTE Application\\systick_timer.c 0x00000000 Number 0 systick_timer.o ABSOLUTE Application\\timer12.c 0x00000000 Number 0 timer12.o ABSOLUTE Application\\uart1.c 0x00000000 Number 0 uart1.o ABSOLUTE Application\\uart_packet.c 0x00000000 Number 0 uart_packet.o ABSOLUTE + Application\\usart11_rs485.c 0x00000000 Number 0 usart11_rs485.o ABSOLUTE Application\action_process.c 0x00000000 Number 0 action_process.o ABSOLUTE Application\buzzer.c 0x00000000 Number 0 buzzer.o ABSOLUTE Application\dbg_printf.c 0x00000000 Number 0 dbg_printf.o ABSOLUTE @@ -1632,11 +1651,13 @@ Image Symbol Table Application\segment.c 0x00000000 Number 0 segment.o ABSOLUTE Application\segment_74hc595d.c 0x00000000 Number 0 segment_74hc595d.o ABSOLUTE Application\spi10.c 0x00000000 Number 0 spi10.o ABSOLUTE + Application\spi13.c 0x00000000 Number 0 spi13.o ABSOLUTE Application\sw_timer.c 0x00000000 Number 0 sw_timer.o ABSOLUTE Application\systick_timer.c 0x00000000 Number 0 systick_timer.o ABSOLUTE Application\timer12.c 0x00000000 Number 0 timer12.o ABSOLUTE Application\uart1.c 0x00000000 Number 0 uart1.o ABSOLUTE Application\uart_packet.c 0x00000000 Number 0 uart_packet.o ABSOLUTE + Application\usart11_rs485.c 0x00000000 Number 0 usart11_rs485.o ABSOLUTE SDK_V2_5_0\Device\Startup\startup_A31G12x.s 0x00000000 Number 0 startup_a31g12x.o ABSOLUTE SDK_V2_5_0\Device\Startup\system_A31G12x.c 0x00000000 Number 0 system_a31g12x.o ABSOLUTE SDK_V2_5_0\Drivers\Source\A31G12x_hal_adc.c 0x00000000 Number 0 a31g12x_hal_adc.o ABSOLUTE @@ -1699,207 +1720,295 @@ Image Symbol Table .text 0x0000015c Section 0 memseta.o(.text) .text 0x00000180 Section 0 fdiv.o(.text) .text 0x000001fc Section 0 ffixi.o(.text) - .text 0x0000022e Section 0 iusefp.o(.text) - .text 0x0000022e Section 0 fepilogue.o(.text) - .text 0x000002b0 Section 36 init.o(.text) - i.Action_Initialization 0x000002d4 Section 0 action_process.o(i.Action_Initialization) - i.Action_Process 0x000002e8 Section 0 action_process.o(i.Action_Process) - Action_Process 0x000002e9 Thumb Code 2 action_process.o(i.Action_Process) - i.Buzzer_Initialization 0x000002ec Section 0 buzzer.o(i.Buzzer_Initialization) - i.Buzzer_On 0x00000318 Section 0 buzzer.o(i.Buzzer_On) - i.Buzzer_Output_Process 0x0000033c Section 0 buzzer.o(i.Buzzer_Output_Process) - Buzzer_Output_Process 0x0000033d Thumb Code 64 buzzer.o(i.Buzzer_Output_Process) - i.Delay_I2C_Delay 0x0000038c Section 0 gpio_i2c.o(i.Delay_I2C_Delay) - i.Delay_ms 0x0000039c Section 0 systick_timer.o(i.Delay_ms) - i.FlashMEM_Clock_Initialization 0x000003b0 Section 0 eeprom.o(i.FlashMEM_Clock_Initialization) - i.GPIO_I2C0_Initialization 0x000003c0 Section 0 gpio_i2c.o(i.GPIO_I2C0_Initialization) - i.GPIO_I2C1_Initialization 0x00000400 Section 0 gpio_i2c.o(i.GPIO_I2C1_Initialization) - i.GPIO_I2C2_Initialization 0x00000440 Section 0 gpio_i2c.o(i.GPIO_I2C2_Initialization) - i.GPIO_I2C2_Read 0x00000480 Section 0 gpio_i2c.o(i.GPIO_I2C2_Read) - i.GPIO_I2C2_Start 0x00000514 Section 0 gpio_i2c.o(i.GPIO_I2C2_Start) - i.GPIO_I2C2_Stop 0x00000560 Section 0 gpio_i2c.o(i.GPIO_I2C2_Stop) - i.GPIO_I2C2_Write 0x000005a0 Section 0 gpio_i2c.o(i.GPIO_I2C2_Write) - i.Gpio_Sensor_PWR_Initialization 0x00000634 Section 0 gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization) - i.Gpio_StateLed_Initialization 0x00000658 Section 0 gpio_state_led.o(i.Gpio_StateLed_Initialization) - i.Gpio_StateLed_Set_Mode 0x00000688 Section 0 gpio_state_led.o(i.Gpio_StateLed_Set_Mode) - i.Gpio_Switch_Check_Process 0x000006bc Section 0 gpio_switch.o(i.Gpio_Switch_Check_Process) - Gpio_Switch_Check_Process 0x000006bd Thumb Code 314 gpio_switch.o(i.Gpio_Switch_Check_Process) - i.Gpio_Switch_Port_Initialization 0x000007fc Section 0 gpio_switch.o(i.Gpio_Switch_Port_Initialization) - i.HAL_CRC_Init 0x00000834 Section 0 a31g12x_hal_crc.o(i.HAL_CRC_Init) - i.HAL_GPIO_ClearPin 0x00000842 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) - i.HAL_GPIO_ConfigFunction 0x00000846 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction) - i.HAL_GPIO_ConfigOutput 0x0000088a Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) - i.HAL_GPIO_ConfigPullup 0x000008d0 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) - i.HAL_GPIO_ReadPin 0x000008ee Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ReadPin) - i.HAL_GPIO_SetDebouncePin 0x000008f6 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_SetDebouncePin) - i.HAL_GPIO_SetPin 0x0000090c Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) - i.HAL_INT_EInt_MaskDisable 0x00000910 Section 0 a31g12x_hal_intc.o(i.HAL_INT_EInt_MaskDisable) - i.HAL_SCU_ClockMonitoring 0x00000920 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_ClockMonitoring) - i.HAL_SCU_ClockSource_Enable 0x0000095c Section 0 a31g12x_hal_scu.o(i.HAL_SCU_ClockSource_Enable) - i.HAL_SCU_Peripheral_ClockConfig 0x00000980 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_ClockConfig) - i.HAL_SCU_Peripheral_EnableClock1 0x0000098c Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock1) - i.HAL_SCU_Peripheral_EnableClock2 0x000009ac Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2) - i.HAL_SCU_Peripheral_SetReset2 0x000009cc Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_SetReset2) - i.HAL_SCU_SystemClockChange 0x000009e8 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockChange) - i.HAL_SCU_SystemClockDivider 0x000009fc Section 0 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockDivider) - i.HAL_TIMER1n_Cmd 0x00000a08 Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Cmd) - i.HAL_TIMER1n_ConfigInterrupt 0x00000a2e Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_ConfigInterrupt) - i.HAL_TIMER1n_Init 0x00000a68 Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Init) - i.HAL_UART_ConfigInterrupt 0x00000bd0 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ConfigInterrupt) - i.HAL_UART_ConfigStructInit 0x00000c1c Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ConfigStructInit) - i.HAL_UART_Init 0x00000c3c Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Init) - i.HAL_UART_Receive 0x00000d40 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Receive) - i.HAL_UART_ReceiveByte 0x00000db4 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ReceiveByte) - i.HAL_UART_Transmit 0x00000dbc Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Transmit) - i.HAL_UART_TransmitByte 0x00000e3c Section 0 a31g12x_hal_uartn.o(i.HAL_UART_TransmitByte) - i.HAL_USART_ClearStatus 0x00000e4c Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ClearStatus) - i.HAL_USART_DataControlConfig 0x00000e86 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig) - i.HAL_USART_Enable 0x00000ef0 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Enable) - i.HAL_USART_Init 0x00000f18 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Init) - i.HAL_USART_ReceiveByte 0x0000100c Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ReceiveByte) - i.HAL_USART_SPI_Mode_Config 0x00001014 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_SPI_Mode_Config) - i.HardFault_Handler 0x0000103c Section 0 a31g12x_interrupt.o(i.HardFault_Handler) - i.I2C2_Read 0x00001040 Section 0 gpio_i2c.o(i.I2C2_Read) - i.I2C2_Write 0x0000107c Section 0 gpio_i2c.o(i.I2C2_Write) - i.NMI_Handler 0x000010aa Section 0 a31g12x_interrupt.o(i.NMI_Handler) - i.NVIC_SetPriority 0x000010ac Section 0 a31g12x_systemclock.o(i.NVIC_SetPriority) - NVIC_SetPriority 0x000010ad Thumb Code 110 a31g12x_systemclock.o(i.NVIC_SetPriority) - i.NVIC_SetPriority 0x00001124 Section 0 uart1.o(i.NVIC_SetPriority) - NVIC_SetPriority 0x00001125 Thumb Code 110 uart1.o(i.NVIC_SetPriority) - i.NVIC_SetPriority 0x0000119c Section 0 timer12.o(i.NVIC_SetPriority) - NVIC_SetPriority 0x0000119d Thumb Code 110 timer12.o(i.NVIC_SetPriority) - i.PendSV_Handler 0x00001214 Section 0 a31g12x_interrupt.o(i.PendSV_Handler) - i.RTC_Get_IC_Time_Process 0x00001218 Section 0 rtc_process.o(i.RTC_Get_IC_Time_Process) - RTC_Get_IC_Time_Process 0x00001219 Thumb Code 84 rtc_process.o(i.RTC_Get_IC_Time_Process) - i.RTC_Process_Initialization 0x00001270 Section 0 rtc_process.o(i.RTC_Process_Initialization) - i.RingBuffer_Dequeue 0x00001288 Section 0 ring_buffer.o(i.RingBuffer_Dequeue) - i.RingBuffer_Enqueue 0x000012c6 Section 0 ring_buffer.o(i.RingBuffer_Enqueue) - i.RingBuffer_GetData 0x00001306 Section 0 ring_buffer.o(i.RingBuffer_GetData) - i.RingBuffer_Get_DataSize 0x00001314 Section 0 ring_buffer.o(i.RingBuffer_Get_DataSize) - i.RingBuffer_Initialization 0x00001346 Section 0 ring_buffer.o(i.RingBuffer_Initialization) - i.RingBuffer_PopData 0x0000136c Section 0 ring_buffer.o(i.RingBuffer_PopData) - i.RingBuffer_isEmpty 0x00001392 Section 0 ring_buffer.o(i.RingBuffer_isEmpty) - i.RingBuffer_isFull 0x000013a4 Section 0 ring_buffer.o(i.RingBuffer_isFull) - i.SPI10_Initialization 0x000013c8 Section 0 spi10.o(i.SPI10_Initialization) - i.SVC_Handler 0x000014bc Section 0 a31g12x_interrupt.o(i.SVC_Handler) - i.SW_Timer_Callback_Process 0x000014c0 Section 0 sw_timer.o(i.SW_Timer_Callback_Process) - i.SW_Timer_Callback_Register 0x00001540 Section 0 sw_timer.o(i.SW_Timer_Callback_Register) - i.Segemet_Output_Process 0x00001594 Section 0 segment_74hc595d.o(i.Segemet_Output_Process) - Segemet_Output_Process 0x00001595 Thumb Code 388 segment_74hc595d.o(i.Segemet_Output_Process) - i.Segment_Initialization 0x00001738 Section 0 segment_74hc595d.o(i.Segment_Initialization) - i.Segment_Output_Data 0x000017bc Section 0 segment_74hc595d.o(i.Segment_Output_Data) - Segment_Output_Data 0x000017bd Thumb Code 190 segment_74hc595d.o(i.Segment_Output_Data) - i.State_Led_Output_Process 0x00001884 Section 0 gpio_state_led.o(i.State_Led_Output_Process) - State_Led_Output_Process 0x00001885 Thumb Code 128 gpio_state_led.o(i.State_Led_Output_Process) - i.SysTick_Handler 0x00001914 Section 0 systick_timer.o(i.SysTick_Handler) - i.SystemInit 0x0000193c Section 0 system_a31g12x.o(i.SystemInit) - i.System_Clock_Initialization 0x00001960 Section 0 a31g12x_systemclock.o(i.System_Clock_Initialization) - i.Systick_Initialization 0x000019b0 Section 0 a31g12x_systemclock.o(i.Systick_Initialization) - i.TIMER12_Handler 0x00001a08 Section 0 timer12.o(i.TIMER12_Handler) - i.Timer12_Initialization 0x00001a3c Section 0 timer12.o(i.Timer12_Initialization) - i.Timer12_Set_Match_Interrupt_Callback 0x00001a98 Section 0 timer12.o(i.Timer12_Set_Match_Interrupt_Callback) - i.UART1_Handler 0x00001aa4 Section 0 uart1.o(i.UART1_Handler) - i.Uart1_Get_RecvData 0x00001acc Section 0 uart1.o(i.Uart1_Get_RecvData) - i.Uart1_Get_RecvDataCount 0x00001ae0 Section 0 uart1.o(i.Uart1_Get_RecvDataCount) - i.Uart1_Initialization 0x00001af0 Section 0 uart1.o(i.Uart1_Initialization) - i.Uart1_Receive_Handler 0x00001bb0 Section 0 uart1.o(i.Uart1_Receive_Handler) - Uart1_Receive_Handler 0x00001bb1 Thumb Code 42 uart1.o(i.Uart1_Receive_Handler) - i.Uart1_Transmit_Process 0x00001be4 Section 0 uart1.o(i.Uart1_Transmit_Process) - Uart1_Transmit_Process 0x00001be5 Thumb Code 46 uart1.o(i.Uart1_Transmit_Process) - i.Uart_Packet_Initialization 0x00001c1c Section 0 uart_packet.o(i.Uart_Packet_Initialization) - i.Uart_Packet_Make_Process 0x00001c38 Section 0 uart_packet.o(i.Uart_Packet_Make_Process) - Uart_Packet_Make_Process 0x00001c39 Thumb Code 308 uart_packet.o(i.Uart_Packet_Make_Process) - i.Uart_Packet_Process 0x00001d7c Section 0 uart_packet.o(i.Uart_Packet_Process) - Uart_Packet_Process 0x00001d7d Thumb Code 150 uart_packet.o(i.Uart_Packet_Process) - i.__ARM_common_switch8 0x00001e12 Section 0 segment_74hc595d.o(i.__ARM_common_switch8) - i.__scatterload_copy 0x00001e2e Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x00001e3c Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x00001e3e Section 14 handlers.o(i.__scatterload_zeroinit) - i.a_ds3231_bcd2hex 0x00001e4c Section 0 driver_ds3231.o(i.a_ds3231_bcd2hex) - a_ds3231_bcd2hex 0x00001e4d Thumb Code 20 driver_ds3231.o(i.a_ds3231_bcd2hex) - i.a_ds3231_hex2bcd 0x00001e60 Section 0 driver_ds3231.o(i.a_ds3231_hex2bcd) - a_ds3231_hex2bcd 0x00001e61 Thumb Code 34 driver_ds3231.o(i.a_ds3231_hex2bcd) - i.a_ds3231_iic_multiple_read 0x00001e82 Section 0 driver_ds3231.o(i.a_ds3231_iic_multiple_read) - a_ds3231_iic_multiple_read 0x00001e83 Thumb Code 36 driver_ds3231.o(i.a_ds3231_iic_multiple_read) - i.a_ds3231_iic_write 0x00001ea6 Section 0 driver_ds3231.o(i.a_ds3231_iic_write) - a_ds3231_iic_write 0x00001ea7 Thumb Code 30 driver_ds3231.o(i.a_ds3231_iic_write) - i.ds3231_aging_offset_convert_to_register 0x00001ec4 Section 0 driver_ds3231.o(i.ds3231_aging_offset_convert_to_register) - i.ds3231_basic_get_time 0x00001ef8 Section 0 driver_ds3231_basic.o(i.ds3231_basic_get_time) - i.ds3231_basic_init 0x00001f14 Section 0 driver_ds3231_basic.o(i.ds3231_basic_init) - i.ds3231_basic_set_time 0x000021a8 Section 0 driver_ds3231_basic.o(i.ds3231_basic_set_time) - i.ds3231_deinit 0x000021c4 Section 0 driver_ds3231.o(i.ds3231_deinit) - i.ds3231_get_time 0x00002210 Section 0 driver_ds3231.o(i.ds3231_get_time) - i.ds3231_init 0x0000231c Section 0 driver_ds3231.o(i.ds3231_init) - i.ds3231_interface_debug_print 0x00002508 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_debug_print) - i.ds3231_interface_delay_ms 0x0000250a Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_delay_ms) - i.ds3231_interface_iic_deinit 0x00002516 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_deinit) - i.ds3231_interface_iic_init 0x0000251a Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_init) - i.ds3231_interface_iic_read 0x0000251e Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_read) - i.ds3231_interface_iic_write 0x00002540 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_write) - i.ds3231_interface_receive_callback 0x00002570 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_receive_callback) - i.ds3231_set_32khz_output 0x000025c4 Section 0 driver_ds3231.o(i.ds3231_set_32khz_output) - i.ds3231_set_aging_offset 0x00002670 Section 0 driver_ds3231.o(i.ds3231_set_aging_offset) - i.ds3231_set_alarm_interrupt 0x000026c8 Section 0 driver_ds3231.o(i.ds3231_set_alarm_interrupt) - i.ds3231_set_oscillator 0x00002778 Section 0 driver_ds3231.o(i.ds3231_set_oscillator) - i.ds3231_set_pin 0x0000282c Section 0 driver_ds3231.o(i.ds3231_set_pin) - i.ds3231_set_square_wave 0x000028d8 Section 0 driver_ds3231.o(i.ds3231_set_square_wave) - i.ds3231_set_time 0x00002984 Section 0 driver_ds3231.o(i.ds3231_set_time) - i.main 0x00002e98 Section 0 main.o(i.main) - i.millis 0x00002f0c Section 0 systick_timer.o(i.millis) - i.timer_test 0x00002f18 Section 0 main.o(i.timer_test) - i.uart_set_divisors 0x00002f1c Section 0 a31g12x_hal_uartn.o(i.uart_set_divisors) - uart_set_divisors 0x00002f1d Thumb Code 56 a31g12x_hal_uartn.o(i.uart_set_divisors) - i.usart_set_divisors 0x00002f58 Section 0 a31g12x_hal_usart1n.o(i.usart_set_divisors) - usart_set_divisors 0x00002f59 Thumb Code 58 a31g12x_hal_usart1n.o(i.usart_set_divisors) + .text 0x0000022e Section 0 uldiv.o(.text) + .text 0x0000028e Section 0 iusefp.o(.text) + .text 0x0000028e Section 0 fepilogue.o(.text) + .text 0x00000310 Section 0 dadd.o(.text) + .text 0x00000478 Section 0 dmul.o(.text) + .text 0x00000548 Section 0 ddiv.o(.text) + .text 0x00000638 Section 0 dfixul.o(.text) + .text 0x00000678 Section 40 cdrcmple.o(.text) + .text 0x000006a0 Section 36 init.o(.text) + .text 0x000006c4 Section 0 llshl.o(.text) + .text 0x000006e4 Section 0 llushr.o(.text) + .text 0x00000706 Section 0 llsshr.o(.text) + .text 0x0000072c Section 0 depilogue.o(.text) + .text 0x000007ea Section 0 __dczerorl2.o(.text) + i.Action_Down_Key_Push 0x00000840 Section 0 action_process.o(i.Action_Down_Key_Push) + Action_Down_Key_Push 0x00000841 Thumb Code 2 action_process.o(i.Action_Down_Key_Push) + i.Action_Initialization 0x00000844 Section 0 action_process.o(i.Action_Initialization) + i.Action_Mode_Key_Push 0x00000898 Section 0 action_process.o(i.Action_Mode_Key_Push) + Action_Mode_Key_Push 0x00000899 Thumb Code 174 action_process.o(i.Action_Mode_Key_Push) + i.Action_PowerOn_Init_Process 0x0000094c Section 0 action_process.o(i.Action_PowerOn_Init_Process) + Action_PowerOn_Init_Process 0x0000094d Thumb Code 226 action_process.o(i.Action_PowerOn_Init_Process) + i.Action_PowerOn_Process 0x00000a38 Section 0 action_process.o(i.Action_PowerOn_Process) + Action_PowerOn_Process 0x00000a39 Thumb Code 224 action_process.o(i.Action_PowerOn_Process) + i.Action_Power_Off_Key_Push_Callback 0x00000b28 Section 0 action_process.o(i.Action_Power_Off_Key_Push_Callback) + Action_Power_Off_Key_Push_Callback 0x00000b29 Thumb Code 22 action_process.o(i.Action_Power_Off_Key_Push_Callback) + i.Action_Power_Off_Key_Set 0x00000b50 Section 0 action_process.o(i.Action_Power_Off_Key_Set) + Action_Power_Off_Key_Set 0x00000b51 Thumb Code 28 action_process.o(i.Action_Power_Off_Key_Set) + i.Action_Power_On_Key_Push_Callback 0x00000b70 Section 0 action_process.o(i.Action_Power_On_Key_Push_Callback) + Action_Power_On_Key_Push_Callback 0x00000b71 Thumb Code 26 action_process.o(i.Action_Power_On_Key_Push_Callback) + i.Action_Power_On_Key_Set 0x00000b9c Section 0 action_process.o(i.Action_Power_On_Key_Set) + Action_Power_On_Key_Set 0x00000b9d Thumb Code 28 action_process.o(i.Action_Power_On_Key_Set) + i.Action_Process 0x00000bbc Section 0 action_process.o(i.Action_Process) + Action_Process 0x00000bbd Thumb Code 30 action_process.o(i.Action_Process) + i.Action_Set_Key_Push 0x00000be0 Section 0 action_process.o(i.Action_Set_Key_Push) + Action_Set_Key_Push 0x00000be1 Thumb Code 2 action_process.o(i.Action_Set_Key_Push) + i.Action_Up_Key_Push 0x00000be2 Section 0 action_process.o(i.Action_Up_Key_Push) + Action_Up_Key_Push 0x00000be3 Thumb Code 2 action_process.o(i.Action_Up_Key_Push) + i.Buzzer_Initialization 0x00000be4 Section 0 buzzer.o(i.Buzzer_Initialization) + i.Buzzer_On 0x00000c10 Section 0 buzzer.o(i.Buzzer_On) + i.Buzzer_Output_Process 0x00000c34 Section 0 buzzer.o(i.Buzzer_Output_Process) + Buzzer_Output_Process 0x00000c35 Thumb Code 64 buzzer.o(i.Buzzer_Output_Process) + i.Delay_I2C_Delay 0x00000c84 Section 0 gpio_i2c.o(i.Delay_I2C_Delay) + i.Delay_ms 0x00000c94 Section 0 systick_timer.o(i.Delay_ms) + i.EEPROM_Read_SettingValue 0x00000ca8 Section 0 eeprom.o(i.EEPROM_Read_SettingValue) + i.EEPROM_Write_SettingValue 0x00000d40 Section 0 eeprom.o(i.EEPROM_Write_SettingValue) + i.FlashMEM_Clock_Initialization 0x00000dec Section 0 eeprom.o(i.FlashMEM_Clock_Initialization) + i.FlashMem_Do_PageEr 0x00000dfc Section 0 eeprom.o(i.FlashMem_Do_PageEr) + i.FlashMem_Do_PageWt 0x00000e10 Section 0 eeprom.o(i.FlashMem_Do_PageWt) + i.GPIO_I2C2_Initialization 0x00000e28 Section 0 gpio_i2c.o(i.GPIO_I2C2_Initialization) + i.GPIO_I2C2_Read 0x00000e68 Section 0 gpio_i2c.o(i.GPIO_I2C2_Read) + i.GPIO_I2C2_Start 0x00000efc Section 0 gpio_i2c.o(i.GPIO_I2C2_Start) + i.GPIO_I2C2_Stop 0x00000f48 Section 0 gpio_i2c.o(i.GPIO_I2C2_Stop) + i.GPIO_I2C2_Write 0x00000f88 Section 0 gpio_i2c.o(i.GPIO_I2C2_Write) + i.Gpio_Led_OutputSet 0x0000101c Section 0 gpio_state_led.o(i.Gpio_Led_OutputSet) + i.Gpio_StateLed_Initialization 0x00001064 Section 0 gpio_state_led.o(i.Gpio_StateLed_Initialization) + i.Gpio_Switch_Check_Process 0x000010d0 Section 0 gpio_switch.o(i.Gpio_Switch_Check_Process) + Gpio_Switch_Check_Process 0x000010d1 Thumb Code 320 gpio_switch.o(i.Gpio_Switch_Check_Process) + i.Gpio_Switch_Port_Initialization 0x00001214 Section 0 gpio_switch.o(i.Gpio_Switch_Port_Initialization) + i.Gpio_Switch_TestCallback 0x0000128c Section 0 gpio_switch.o(i.Gpio_Switch_TestCallback) + Gpio_Switch_TestCallback 0x0000128d Thumb Code 14 gpio_switch.o(i.Gpio_Switch_TestCallback) + i.Gpio_Swtich_Set_Callback 0x000012ac Section 0 gpio_switch.o(i.Gpio_Swtich_Set_Callback) + i.Gpio_Swtich_Set_PushCount 0x000012d4 Section 0 gpio_switch.o(i.Gpio_Swtich_Set_PushCount) + i.HAL_CRC_Init 0x000012f4 Section 0 a31g12x_hal_crc.o(i.HAL_CRC_Init) + i.HAL_FMC_FlashEntry 0x00001304 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_FlashEntry) + i.HAL_FMC_FlashExit 0x00001364 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_FlashExit) + i.HAL_FMC_FlashFunction 0x0000139c Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_FlashFunction) + i.HAL_FMC_PageErase 0x00001544 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_PageErase) + i.HAL_FMC_PageWrite 0x00001584 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_PageWrite) + i.HAL_GPIO_ClearPin 0x000015c4 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) + i.HAL_GPIO_ConfigFunction 0x000015c8 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction) + i.HAL_GPIO_ConfigOutput 0x0000160c Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) + i.HAL_GPIO_ConfigPullup 0x00001652 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) + i.HAL_GPIO_ReadPin 0x00001670 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ReadPin) + i.HAL_GPIO_SetDebouncePin 0x00001678 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_SetDebouncePin) + i.HAL_GPIO_SetPin 0x0000168e Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) + i.HAL_INT_EInt_MaskDisable 0x00001694 Section 0 a31g12x_hal_intc.o(i.HAL_INT_EInt_MaskDisable) + i.HAL_SCU_ClockMonitoring 0x000016a4 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_ClockMonitoring) + i.HAL_SCU_ClockSource_Enable 0x000016e0 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_ClockSource_Enable) + i.HAL_SCU_Peripheral_ClockConfig 0x00001704 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_ClockConfig) + i.HAL_SCU_Peripheral_EnableClock1 0x00001710 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock1) + i.HAL_SCU_Peripheral_EnableClock2 0x00001730 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2) + i.HAL_SCU_Peripheral_SetReset2 0x00001750 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_SetReset2) + i.HAL_SCU_SystemClockChange 0x0000176c Section 0 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockChange) + i.HAL_SCU_SystemClockDivider 0x00001780 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockDivider) + i.HAL_TIMER1n_Cmd 0x0000178c Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Cmd) + i.HAL_TIMER1n_ConfigInterrupt 0x000017b2 Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_ConfigInterrupt) + i.HAL_TIMER1n_Init 0x000017ec Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Init) + i.HAL_UART_ConfigInterrupt 0x00001954 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ConfigInterrupt) + i.HAL_UART_ConfigStructInit 0x000019a0 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ConfigStructInit) + i.HAL_UART_Init 0x000019c0 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Init) + i.HAL_UART_Receive 0x00001ac4 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Receive) + i.HAL_UART_ReceiveByte 0x00001b38 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ReceiveByte) + i.HAL_UART_Transmit 0x00001b40 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Transmit) + i.HAL_UART_TransmitByte 0x00001bc0 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_TransmitByte) + i.HAL_USART_CheckBusy 0x00001bd0 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_CheckBusy) + i.HAL_USART_ClearStatus 0x00001be4 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ClearStatus) + i.HAL_USART_ConfigInterrupt 0x00001c1e Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ConfigInterrupt) + i.HAL_USART_DataControlConfig 0x00001c6a Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig) + i.HAL_USART_Enable 0x00001cd4 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Enable) + i.HAL_USART_GetStatus 0x00001cfa Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_GetStatus) + i.HAL_USART_Init 0x00001d04 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Init) + i.HAL_USART_Receive 0x00001df8 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Receive) + i.HAL_USART_ReceiveByte 0x00001e6a Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ReceiveByte) + i.HAL_USART_SPI_Mode_Config 0x00001e72 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_SPI_Mode_Config) + i.HAL_USART_Transmit 0x00001e9a Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Transmit) + i.HAL_USART_TransmitByte 0x00001f1e Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_TransmitByte) + i.HAL_USART_UART_Mode_Config 0x00001f2e Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_UART_Mode_Config) + i.HardFault_Handler 0x00001f50 Section 0 a31g12x_interrupt.o(i.HardFault_Handler) + i.I2C2_Read 0x00001f54 Section 0 gpio_i2c.o(i.I2C2_Read) + i.I2C2_Write 0x00001f90 Section 0 gpio_i2c.o(i.I2C2_Write) + i.NMI_Handler 0x00001fbe Section 0 a31g12x_interrupt.o(i.NMI_Handler) + i.NVIC_SetPriority 0x00001fc0 Section 0 a31g12x_systemclock.o(i.NVIC_SetPriority) + NVIC_SetPriority 0x00001fc1 Thumb Code 110 a31g12x_systemclock.o(i.NVIC_SetPriority) + i.NVIC_SetPriority 0x00002038 Section 0 uart1.o(i.NVIC_SetPriority) + NVIC_SetPriority 0x00002039 Thumb Code 110 uart1.o(i.NVIC_SetPriority) + i.NVIC_SetPriority 0x000020b0 Section 0 timer12.o(i.NVIC_SetPriority) + NVIC_SetPriority 0x000020b1 Thumb Code 110 timer12.o(i.NVIC_SetPriority) + i.NVIC_SetPriority 0x00002128 Section 0 usart11_rs485.o(i.NVIC_SetPriority) + NVIC_SetPriority 0x00002129 Thumb Code 110 usart11_rs485.o(i.NVIC_SetPriority) + i.PendSV_Handler 0x000021a0 Section 0 a31g12x_interrupt.o(i.PendSV_Handler) + i.RTC_Get_IC_Time_Process 0x000021a4 Section 0 rtc_process.o(i.RTC_Get_IC_Time_Process) + RTC_Get_IC_Time_Process 0x000021a5 Thumb Code 118 rtc_process.o(i.RTC_Get_IC_Time_Process) + i.RTC_Get_Time 0x0000224c Section 0 rtc_process.o(i.RTC_Get_Time) + i.RTC_Process_Initialization 0x00002260 Section 0 rtc_process.o(i.RTC_Process_Initialization) + i.RingBuffer_Dequeue 0x00002278 Section 0 ring_buffer.o(i.RingBuffer_Dequeue) + i.RingBuffer_Enqueue 0x000022b6 Section 0 ring_buffer.o(i.RingBuffer_Enqueue) + i.RingBuffer_GetData 0x000022f6 Section 0 ring_buffer.o(i.RingBuffer_GetData) + i.RingBuffer_Get_DataSize 0x00002304 Section 0 ring_buffer.o(i.RingBuffer_Get_DataSize) + i.RingBuffer_Initialization 0x00002336 Section 0 ring_buffer.o(i.RingBuffer_Initialization) + i.RingBuffer_PopData 0x0000235c Section 0 ring_buffer.o(i.RingBuffer_PopData) + i.RingBuffer_isEmpty 0x00002382 Section 0 ring_buffer.o(i.RingBuffer_isEmpty) + i.RingBuffer_isFull 0x00002394 Section 0 ring_buffer.o(i.RingBuffer_isFull) + i.SPI10_Initialization 0x000023b8 Section 0 spi10.o(i.SPI10_Initialization) + i.SPI13_Initialization 0x000024ac Section 0 spi13.o(i.SPI13_Initialization) + i.SPI13_Transmit 0x00002568 Section 0 spi13.o(i.SPI13_Transmit) + i.SVC_Handler 0x000025a4 Section 0 a31g12x_interrupt.o(i.SVC_Handler) + i.SW_Timer_Callback_Process 0x000025a8 Section 0 sw_timer.o(i.SW_Timer_Callback_Process) + i.SW_Timer_Callback_Register 0x00002628 Section 0 sw_timer.o(i.SW_Timer_Callback_Register) + i.Segemet_Output_Process 0x0000267c Section 0 segment_74hc595d.o(i.Segemet_Output_Process) + Segemet_Output_Process 0x0000267d Thumb Code 192 segment_74hc595d.o(i.Segemet_Output_Process) + i.Segment_All_Set_Data 0x0000274c Section 0 segment.o(i.Segment_All_Set_Data) + i.Segment_Initialization 0x0000276c Section 0 segment_74hc595d.o(i.Segment_Initialization) + i.Segment_Output_Data 0x000027b4 Section 0 segment_74hc595d.o(i.Segment_Output_Data) + Segment_Output_Data 0x000027b5 Thumb Code 16 segment_74hc595d.o(i.Segment_Output_Data) + i.Segment_Show_SensorData 0x000027c4 Section 0 segment.o(i.Segment_Show_SensorData) + i.Segment_Show_Time 0x0000291c Section 0 segment.o(i.Segment_Show_Time) + i.Segment_Show_Version 0x0000299c Section 0 segment.o(i.Segment_Show_Version) + i.State_Led_Off 0x00002a1c Section 0 gpio_state_led.o(i.State_Led_Off) + State_Led_Off 0x00002a1d Thumb Code 34 gpio_state_led.o(i.State_Led_Off) + i.State_Led_On 0x00002a44 Section 0 gpio_state_led.o(i.State_Led_On) + State_Led_On 0x00002a45 Thumb Code 34 gpio_state_led.o(i.State_Led_On) + i.State_Led_Output_Process 0x00002a6c Section 0 gpio_state_led.o(i.State_Led_Output_Process) + State_Led_Output_Process 0x00002a6d Thumb Code 128 gpio_state_led.o(i.State_Led_Output_Process) + i.SysTick_Handler 0x00002af0 Section 0 systick_timer.o(i.SysTick_Handler) + i.SystemInit 0x00002b18 Section 0 system_a31g12x.o(i.SystemInit) + i.System_Clock_Initialization 0x00002b3c Section 0 a31g12x_systemclock.o(i.System_Clock_Initialization) + i.Systick_Initialization 0x00002b8c Section 0 a31g12x_systemclock.o(i.Systick_Initialization) + i.TIMER12_Handler 0x00002be4 Section 0 timer12.o(i.TIMER12_Handler) + i.Timer12_Initialization 0x00002c18 Section 0 timer12.o(i.Timer12_Initialization) + i.Timer12_Set_Match_Interrupt_Callback 0x00002c74 Section 0 timer12.o(i.Timer12_Set_Match_Interrupt_Callback) + i.UART1_Handler 0x00002c80 Section 0 uart1.o(i.UART1_Handler) + i.USART11_Handler 0x00002ca8 Section 0 usart11_rs485.o(i.USART11_Handler) + i.Uart1_Get_RecvData 0x00002cc8 Section 0 uart1.o(i.Uart1_Get_RecvData) + i.Uart1_Get_RecvDataCount 0x00002cdc Section 0 uart1.o(i.Uart1_Get_RecvDataCount) + i.Uart1_Initialization 0x00002cec Section 0 uart1.o(i.Uart1_Initialization) + i.Uart1_Receive_Handler 0x00002dac Section 0 uart1.o(i.Uart1_Receive_Handler) + Uart1_Receive_Handler 0x00002dad Thumb Code 42 uart1.o(i.Uart1_Receive_Handler) + i.Uart1_Transmit 0x00002de0 Section 0 uart1.o(i.Uart1_Transmit) + i.Uart1_Transmit_Process 0x00002df4 Section 0 uart1.o(i.Uart1_Transmit_Process) + Uart1_Transmit_Process 0x00002df5 Thumb Code 46 uart1.o(i.Uart1_Transmit_Process) + i.Uart_Packet_Initialization 0x00002e2c Section 0 uart_packet.o(i.Uart_Packet_Initialization) + i.Uart_Packet_Make_Process 0x00002e48 Section 0 uart_packet.o(i.Uart_Packet_Make_Process) + Uart_Packet_Make_Process 0x00002e49 Thumb Code 308 uart_packet.o(i.Uart_Packet_Make_Process) + i.Uart_Packet_Process 0x00002f8c Section 0 uart_packet.o(i.Uart_Packet_Process) + Uart_Packet_Process 0x00002f8d Thumb Code 150 uart_packet.o(i.Uart_Packet_Process) + i.Usart11_Initialization 0x00003024 Section 0 usart11_rs485.o(i.Usart11_Initialization) + i.Usart11_Receive_Handler 0x00003108 Section 0 usart11_rs485.o(i.Usart11_Receive_Handler) + Usart11_Receive_Handler 0x00003109 Thumb Code 42 usart11_rs485.o(i.Usart11_Receive_Handler) + i.Usart11_TransmitData 0x0000313c Section 0 usart11_rs485.o(i.Usart11_TransmitData) + i.Usart11_Transmit_Process 0x0000315c Section 0 usart11_rs485.o(i.Usart11_Transmit_Process) + Usart11_Transmit_Process 0x0000315d Thumb Code 112 usart11_rs485.o(i.Usart11_Transmit_Process) + i.__0printf 0x000031d8 Section 0 printfa.o(i.__0printf) + i.__ARM_clz 0x000031f8 Section 0 depilogue.o(i.__ARM_clz) + i.__ARM_common_switch8 0x00003226 Section 0 segment_74hc595d.o(i.__ARM_common_switch8) + i.__scatterload_copy 0x00003242 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x00003250 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x00003252 Section 14 handlers.o(i.__scatterload_zeroinit) + i._fp_digits 0x00003260 Section 0 printfa.o(i._fp_digits) + _fp_digits 0x00003261 Thumb Code 344 printfa.o(i._fp_digits) + i._printf_core 0x000033d4 Section 0 printfa.o(i._printf_core) + _printf_core 0x000033d5 Thumb Code 1760 printfa.o(i._printf_core) + i._printf_post_padding 0x00003ac4 Section 0 printfa.o(i._printf_post_padding) + _printf_post_padding 0x00003ac5 Thumb Code 32 printfa.o(i._printf_post_padding) + i._printf_pre_padding 0x00003ae4 Section 0 printfa.o(i._printf_pre_padding) + _printf_pre_padding 0x00003ae5 Thumb Code 44 printfa.o(i._printf_pre_padding) + i.a_ds3231_bcd2hex 0x00003b10 Section 0 driver_ds3231.o(i.a_ds3231_bcd2hex) + a_ds3231_bcd2hex 0x00003b11 Thumb Code 20 driver_ds3231.o(i.a_ds3231_bcd2hex) + i.a_ds3231_hex2bcd 0x00003b24 Section 0 driver_ds3231.o(i.a_ds3231_hex2bcd) + a_ds3231_hex2bcd 0x00003b25 Thumb Code 34 driver_ds3231.o(i.a_ds3231_hex2bcd) + i.a_ds3231_iic_multiple_read 0x00003b46 Section 0 driver_ds3231.o(i.a_ds3231_iic_multiple_read) + a_ds3231_iic_multiple_read 0x00003b47 Thumb Code 36 driver_ds3231.o(i.a_ds3231_iic_multiple_read) + i.a_ds3231_iic_write 0x00003b6a Section 0 driver_ds3231.o(i.a_ds3231_iic_write) + a_ds3231_iic_write 0x00003b6b Thumb Code 30 driver_ds3231.o(i.a_ds3231_iic_write) + i.ds3231_aging_offset_convert_to_register 0x00003b88 Section 0 driver_ds3231.o(i.ds3231_aging_offset_convert_to_register) + i.ds3231_basic_get_time 0x00003bbc Section 0 driver_ds3231_basic.o(i.ds3231_basic_get_time) + i.ds3231_basic_init 0x00003bd8 Section 0 driver_ds3231_basic.o(i.ds3231_basic_init) + i.ds3231_basic_set_time 0x00003e6c Section 0 driver_ds3231_basic.o(i.ds3231_basic_set_time) + i.ds3231_deinit 0x00003e88 Section 0 driver_ds3231.o(i.ds3231_deinit) + i.ds3231_get_time 0x00003ed4 Section 0 driver_ds3231.o(i.ds3231_get_time) + i.ds3231_init 0x00003fe0 Section 0 driver_ds3231.o(i.ds3231_init) + i.ds3231_interface_debug_print 0x000041cc Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_debug_print) + i.ds3231_interface_delay_ms 0x000041ce Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_delay_ms) + i.ds3231_interface_iic_deinit 0x000041da Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_deinit) + i.ds3231_interface_iic_init 0x000041de Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_init) + i.ds3231_interface_iic_read 0x000041e2 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_read) + i.ds3231_interface_iic_write 0x00004204 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_write) + i.ds3231_interface_receive_callback 0x00004234 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_receive_callback) + i.ds3231_set_32khz_output 0x00004288 Section 0 driver_ds3231.o(i.ds3231_set_32khz_output) + i.ds3231_set_aging_offset 0x00004334 Section 0 driver_ds3231.o(i.ds3231_set_aging_offset) + i.ds3231_set_alarm_interrupt 0x0000438c Section 0 driver_ds3231.o(i.ds3231_set_alarm_interrupt) + i.ds3231_set_oscillator 0x0000443c Section 0 driver_ds3231.o(i.ds3231_set_oscillator) + i.ds3231_set_pin 0x000044f0 Section 0 driver_ds3231.o(i.ds3231_set_pin) + i.ds3231_set_square_wave 0x0000459c Section 0 driver_ds3231.o(i.ds3231_set_square_wave) + i.ds3231_set_time 0x00004648 Section 0 driver_ds3231.o(i.ds3231_set_time) + i.fputc 0x00004b5c Section 0 dbg_printf.o(i.fputc) + i.main 0x00004b6c Section 0 main.o(i.main) + i.millis 0x00004bec Section 0 systick_timer.o(i.millis) + i.timer_test 0x00004bf8 Section 0 main.o(i.timer_test) + i.uart_set_divisors 0x00004c14 Section 0 a31g12x_hal_uartn.o(i.uart_set_divisors) + uart_set_divisors 0x00004c15 Thumb Code 56 a31g12x_hal_uartn.o(i.uart_set_divisors) + i.usart_set_divisors 0x00004c50 Section 0 a31g12x_hal_usart1n.o(i.usart_set_divisors) + usart_set_divisors 0x00004c51 Thumb Code 58 a31g12x_hal_usart1n.o(i.usart_set_divisors) + .constdata 0x00004c90 Section 38 segment.o(.constdata) .ARM.__AT_0x1FFFF200 0x1ffff200 Section 68 option_a31g12x.o(.ARM.__AT_0x1FFFF200) .ARM.__AT_0x1FFFF400 0x1ffff400 Section 128 option_a31g12x.o(.ARM.__AT_0x1FFFF400) .ARM.__AT_0x1FFFF600 0x1ffff600 Section 128 option_a31g12x.o(.ARM.__AT_0x1FFFF600) .data 0x20000000 Section 8 systick_timer.o(.data) tick_count 0x20000000 Data 4 systick_timer.o(.data) - .data 0x20000008 Section 64 gpio_state_led.o(.data) - StateLedMode 0x20000008 Data 1 gpio_state_led.o(.data) - StateLedStep 0x20000009 Data 1 gpio_state_led.o(.data) - StateLedTime 0x2000000c Data 8 gpio_state_led.o(.data) - StateLedCheckTime 0x20000014 Data 4 gpio_state_led.o(.data) - StateLedOnOffTime 0x20000018 Data 48 gpio_state_led.o(.data) - .data 0x20000048 Section 36 gpio_switch.o(.data) - KeyCheckInfo 0x20000048 Data 36 gpio_switch.o(.data) - .data 0x2000006c Section 16 segment_74hc595d.o(.data) - SegmentOutputStep 0x2000006c Data 1 segment_74hc595d.o(.data) - HC595_OutputData 0x2000006d Data 5 segment_74hc595d.o(.data) - HC595_OutputMode 0x20000072 Data 1 segment_74hc595d.o(.data) - ToggleTickCount 0x20000074 Data 4 segment_74hc595d.o(.data) - isToggle 0x20000078 Data 1 segment_74hc595d.o(.data) - temp 0x2000007b Data 1 segment_74hc595d.o(.data) - .data 0x2000007c Section 4 timer12.o(.data) - Timer12_Match_Callback 0x2000007c Data 4 timer12.o(.data) - .data 0x20000080 Section 8 rtc_process.o(.data) - rtc_Time 0x20000080 Data 8 rtc_process.o(.data) - .data 0x20000088 Section 12 buzzer.o(.data) - isBuzzerOn 0x20000088 Data 1 buzzer.o(.data) - BuzzerStartTick 0x2000008c Data 4 buzzer.o(.data) - BuzzerOnTimeCount 0x20000090 Data 4 buzzer.o(.data) - .data 0x20000094 Section 3 uart_packet.o(.data) - Pack_Index 0x20000094 Data 1 uart_packet.o(.data) - Pack_CheckSum 0x20000095 Data 1 uart_packet.o(.data) - Pack_DataLen 0x20000096 Data 1 uart_packet.o(.data) - .data 0x20000098 Section 12 a31g12x_hal_uartn.o(.data) - UARTn_BaseClock 0x20000098 Data 4 a31g12x_hal_uartn.o(.data) - .data 0x200000a4 Section 4 a31g12x_hal_usart1n.o(.data) - .data 0x200000a8 Section 28 system_a31g12x.o(.data) - .bss 0x200000c4 Section 160 sw_timer.o(.bss) - SW_Timer_Info 0x200000c4 Data 160 sw_timer.o(.bss) - .bss 0x20000164 Section 340 uart1.o(.bss) - Tx_Buffer 0x20000164 Data 200 uart1.o(.bss) - Rx_Buffer 0x2000022c Data 100 uart1.o(.bss) - RingBuffer_Tx 0x20000290 Data 20 uart1.o(.bss) - RingBuffer_Rx 0x200002a4 Data 20 uart1.o(.bss) - .bss 0x200002b8 Section 32 driver_ds3231_basic.o(.bss) - gs_handle 0x200002b8 Data 32 driver_ds3231_basic.o(.bss) - .bss 0x200002d8 Section 32 segment.o(.bss) - .bss 0x200002f8 Section 100 uart_packet.o(.bss) - Pack_Buff 0x200002f8 Data 100 uart_packet.o(.bss) - STACK 0x20000360 Section 1280 startup_a31g12x.o(STACK) + .data 0x20000008 Section 140 gpio_state_led.o(.data) + Gpio_Led_Ctrl_Info 0x20000008 Data 140 gpio_state_led.o(.data) + .data 0x20000094 Section 144 gpio_switch.o(.data) + KeyCheckInfo 0x20000094 Data 144 gpio_switch.o(.data) + .data 0x20000124 Section 16 segment_74hc595d.o(.data) + SegmentOutputStep 0x20000124 Data 1 segment_74hc595d.o(.data) + HC595_OutputData 0x20000125 Data 3 segment_74hc595d.o(.data) + HC595_OutputMode 0x20000128 Data 1 segment_74hc595d.o(.data) + ToggleTickCount 0x2000012c Data 4 segment_74hc595d.o(.data) + isToggle 0x20000130 Data 1 segment_74hc595d.o(.data) + temp 0x20000133 Data 1 segment_74hc595d.o(.data) + .data 0x20000134 Section 4 timer12.o(.data) + Timer12_Match_Callback 0x20000134 Data 4 timer12.o(.data) + .data 0x20000138 Section 8 rtc_process.o(.data) + rtc_Time 0x20000138 Data 8 rtc_process.o(.data) + .data 0x20000140 Section 12 buzzer.o(.data) + isBuzzerOn 0x20000140 Data 1 buzzer.o(.data) + BuzzerStartTick 0x20000144 Data 4 buzzer.o(.data) + BuzzerOnTimeCount 0x20000148 Data 4 buzzer.o(.data) + .data 0x2000014c Section 3 uart_packet.o(.data) + Pack_Index 0x2000014c Data 1 uart_packet.o(.data) + Pack_CheckSum 0x2000014d Data 1 uart_packet.o(.data) + Pack_DataLen 0x2000014e Data 1 uart_packet.o(.data) + .data 0x20000150 Section 16 a31g12x_hal_fmc.o(.data) + .data 0x20000160 Section 12 a31g12x_hal_uartn.o(.data) + UARTn_BaseClock 0x20000160 Data 4 a31g12x_hal_uartn.o(.data) + .data 0x2000016c Section 4 a31g12x_hal_usart1n.o(.data) + .data 0x20000170 Section 28 system_a31g12x.o(.data) + .data 0x2000018c Section 4 stdout.o(.data) + .bss 0x20000190 Section 160 sw_timer.o(.bss) + SW_Timer_Info 0x20000190 Data 160 sw_timer.o(.bss) + .bss 0x20000230 Section 340 uart1.o(.bss) + Tx_Buffer 0x20000230 Data 200 uart1.o(.bss) + Rx_Buffer 0x200002f8 Data 100 uart1.o(.bss) + RingBuffer_Tx 0x2000035c Data 20 uart1.o(.bss) + RingBuffer_Rx 0x20000370 Data 20 uart1.o(.bss) + .bss 0x20000384 Section 32 driver_ds3231_basic.o(.bss) + gs_handle 0x20000384 Data 32 driver_ds3231_basic.o(.bss) + .bss 0x200003a4 Section 20 action_process.o(.bss) + Control_Info 0x200003a4 Data 20 action_process.o(.bss) + .bss 0x200003b8 Section 130 eeprom.o(.bss) + eeprom_info 0x200003b8 Data 130 eeprom.o(.bss) + .bss 0x2000043a Section 10 segment.o(.bss) + .bss 0x20000444 Section 100 uart_packet.o(.bss) + Pack_Buff 0x20000444 Data 100 uart_packet.o(.bss) + .bss 0x200004a8 Section 240 usart11_rs485.o(.bss) + Tx_Buffer 0x200004a8 Data 100 usart11_rs485.o(.bss) + Rx_Buffer 0x2000050c Data 100 usart11_rs485.o(.bss) + RingBuffer_Tx 0x20000570 Data 20 usart11_rs485.o(.bss) + RingBuffer_Rx 0x20000584 Data 20 usart11_rs485.o(.bss) + STACK 0x20000598 Section 1280 startup_a31g12x.o(STACK) Global Symbols @@ -1952,7 +2061,6 @@ Image Symbol Table __arm_fini_ - Undefined Weak Reference __cpp_initialize__aeabi_ - Undefined Weak Reference __cxa_finalize - Undefined Weak Reference - __decompress - Undefined Weak Reference _clock_init - Undefined Weak Reference _microlib_exit - Undefined Weak Reference __Vectors_End 0x000000b0 Data 0 startup_a31g12x.o(RESET) @@ -1988,7 +2096,6 @@ Image Symbol Table TIMER30_Handler 0x000000db Thumb Code 0 startup_a31g12x.o(.text) UART0_Handler 0x000000db Thumb Code 0 startup_a31g12x.o(.text) USART10_Handler 0x000000db Thumb Code 0 startup_a31g12x.o(.text) - USART11_Handler 0x000000db Thumb Code 0 startup_a31g12x.o(.text) USART12_Handler 0x000000db Thumb Code 0 startup_a31g12x.o(.text) USART13_Handler 0x000000db Thumb Code 0 startup_a31g12x.o(.text) WDT_Handler 0x000000db Thumb Code 0 startup_a31g12x.o(.text) @@ -2010,134 +2117,191 @@ Image Symbol Table _memset$wrapper 0x0000016f Thumb Code 18 memseta.o(.text) __aeabi_fdiv 0x00000181 Thumb Code 124 fdiv.o(.text) __aeabi_f2iz 0x000001fd Thumb Code 50 ffixi.o(.text) - __I$use$fp 0x0000022f Thumb Code 0 iusefp.o(.text) - _float_round 0x0000022f Thumb Code 16 fepilogue.o(.text) - _float_epilogue 0x0000023f Thumb Code 114 fepilogue.o(.text) - __scatterload 0x000002b1 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x000002b1 Thumb Code 0 init.o(.text) - Action_Initialization 0x000002d5 Thumb Code 14 action_process.o(i.Action_Initialization) - Buzzer_Initialization 0x000002ed Thumb Code 34 buzzer.o(i.Buzzer_Initialization) - Buzzer_On 0x00000319 Thumb Code 24 buzzer.o(i.Buzzer_On) - Delay_I2C_Delay 0x0000038d Thumb Code 14 gpio_i2c.o(i.Delay_I2C_Delay) - Delay_ms 0x0000039d Thumb Code 16 systick_timer.o(i.Delay_ms) - FlashMEM_Clock_Initialization 0x000003b1 Thumb Code 16 eeprom.o(i.FlashMEM_Clock_Initialization) - GPIO_I2C0_Initialization 0x000003c1 Thumb Code 60 gpio_i2c.o(i.GPIO_I2C0_Initialization) - GPIO_I2C1_Initialization 0x00000401 Thumb Code 60 gpio_i2c.o(i.GPIO_I2C1_Initialization) - GPIO_I2C2_Initialization 0x00000441 Thumb Code 60 gpio_i2c.o(i.GPIO_I2C2_Initialization) - GPIO_I2C2_Read 0x00000481 Thumb Code 142 gpio_i2c.o(i.GPIO_I2C2_Read) - GPIO_I2C2_Start 0x00000515 Thumb Code 70 gpio_i2c.o(i.GPIO_I2C2_Start) - GPIO_I2C2_Stop 0x00000561 Thumb Code 58 gpio_i2c.o(i.GPIO_I2C2_Stop) - GPIO_I2C2_Write 0x000005a1 Thumb Code 142 gpio_i2c.o(i.GPIO_I2C2_Write) - Gpio_Sensor_PWR_Initialization 0x00000635 Thumb Code 32 gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization) - Gpio_StateLed_Initialization 0x00000659 Thumb Code 40 gpio_state_led.o(i.Gpio_StateLed_Initialization) - Gpio_StateLed_Set_Mode 0x00000689 Thumb Code 36 gpio_state_led.o(i.Gpio_StateLed_Set_Mode) - Gpio_Switch_Port_Initialization 0x000007fd Thumb Code 46 gpio_switch.o(i.Gpio_Switch_Port_Initialization) - HAL_CRC_Init 0x00000835 Thumb Code 14 a31g12x_hal_crc.o(i.HAL_CRC_Init) - HAL_GPIO_ClearPin 0x00000843 Thumb Code 4 a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) - HAL_GPIO_ConfigFunction 0x00000847 Thumb Code 68 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction) - HAL_GPIO_ConfigOutput 0x0000088b Thumb Code 70 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) - HAL_GPIO_ConfigPullup 0x000008d1 Thumb Code 30 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) - HAL_GPIO_ReadPin 0x000008ef Thumb Code 8 a31g12x_hal_pcu.o(i.HAL_GPIO_ReadPin) - HAL_GPIO_SetDebouncePin 0x000008f7 Thumb Code 22 a31g12x_hal_pcu.o(i.HAL_GPIO_SetDebouncePin) - HAL_GPIO_SetPin 0x0000090d Thumb Code 4 a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) - HAL_INT_EInt_MaskDisable 0x00000911 Thumb Code 12 a31g12x_hal_intc.o(i.HAL_INT_EInt_MaskDisable) - HAL_SCU_ClockMonitoring 0x00000921 Thumb Code 50 a31g12x_hal_scu.o(i.HAL_SCU_ClockMonitoring) - HAL_SCU_ClockSource_Enable 0x0000095d Thumb Code 22 a31g12x_hal_scu.o(i.HAL_SCU_ClockSource_Enable) - HAL_SCU_Peripheral_ClockConfig 0x00000981 Thumb Code 8 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_ClockConfig) - HAL_SCU_Peripheral_EnableClock1 0x0000098d Thumb Code 28 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock1) - HAL_SCU_Peripheral_EnableClock2 0x000009ad Thumb Code 28 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2) - HAL_SCU_Peripheral_SetReset2 0x000009cd Thumb Code 24 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_SetReset2) - HAL_SCU_SystemClockChange 0x000009e9 Thumb Code 10 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockChange) - HAL_SCU_SystemClockDivider 0x000009fd Thumb Code 8 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockDivider) - HAL_TIMER1n_Cmd 0x00000a09 Thumb Code 38 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Cmd) - HAL_TIMER1n_ConfigInterrupt 0x00000a2f Thumb Code 56 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_ConfigInterrupt) - HAL_TIMER1n_Init 0x00000a69 Thumb Code 332 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Init) - HAL_UART_ConfigInterrupt 0x00000bd1 Thumb Code 76 a31g12x_hal_uartn.o(i.HAL_UART_ConfigInterrupt) - HAL_UART_ConfigStructInit 0x00000c1d Thumb Code 30 a31g12x_hal_uartn.o(i.HAL_UART_ConfigStructInit) - HAL_UART_Init 0x00000c3d Thumb Code 244 a31g12x_hal_uartn.o(i.HAL_UART_Init) - HAL_UART_Receive 0x00000d41 Thumb Code 110 a31g12x_hal_uartn.o(i.HAL_UART_Receive) - HAL_UART_ReceiveByte 0x00000db5 Thumb Code 8 a31g12x_hal_uartn.o(i.HAL_UART_ReceiveByte) - HAL_UART_Transmit 0x00000dbd Thumb Code 122 a31g12x_hal_uartn.o(i.HAL_UART_Transmit) - HAL_UART_TransmitByte 0x00000e3d Thumb Code 16 a31g12x_hal_uartn.o(i.HAL_UART_TransmitByte) - HAL_USART_ClearStatus 0x00000e4d Thumb Code 58 a31g12x_hal_usart1n.o(i.HAL_USART_ClearStatus) - HAL_USART_DataControlConfig 0x00000e87 Thumb Code 106 a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig) - HAL_USART_Enable 0x00000ef1 Thumb Code 38 a31g12x_hal_usart1n.o(i.HAL_USART_Enable) - HAL_USART_Init 0x00000f19 Thumb Code 218 a31g12x_hal_usart1n.o(i.HAL_USART_Init) - HAL_USART_ReceiveByte 0x0000100d Thumb Code 8 a31g12x_hal_usart1n.o(i.HAL_USART_ReceiveByte) - HAL_USART_SPI_Mode_Config 0x00001015 Thumb Code 40 a31g12x_hal_usart1n.o(i.HAL_USART_SPI_Mode_Config) - HardFault_Handler 0x0000103d Thumb Code 4 a31g12x_interrupt.o(i.HardFault_Handler) - I2C2_Read 0x00001041 Thumb Code 60 gpio_i2c.o(i.I2C2_Read) - I2C2_Write 0x0000107d Thumb Code 46 gpio_i2c.o(i.I2C2_Write) - NMI_Handler 0x000010ab Thumb Code 2 a31g12x_interrupt.o(i.NMI_Handler) - PendSV_Handler 0x00001215 Thumb Code 2 a31g12x_interrupt.o(i.PendSV_Handler) - RTC_Process_Initialization 0x00001271 Thumb Code 20 rtc_process.o(i.RTC_Process_Initialization) - RingBuffer_Dequeue 0x00001289 Thumb Code 62 ring_buffer.o(i.RingBuffer_Dequeue) - RingBuffer_Enqueue 0x000012c7 Thumb Code 64 ring_buffer.o(i.RingBuffer_Enqueue) - RingBuffer_GetData 0x00001307 Thumb Code 14 ring_buffer.o(i.RingBuffer_GetData) - RingBuffer_Get_DataSize 0x00001315 Thumb Code 50 ring_buffer.o(i.RingBuffer_Get_DataSize) - RingBuffer_Initialization 0x00001347 Thumb Code 38 ring_buffer.o(i.RingBuffer_Initialization) - RingBuffer_PopData 0x0000136d Thumb Code 38 ring_buffer.o(i.RingBuffer_PopData) - RingBuffer_isEmpty 0x00001393 Thumb Code 18 ring_buffer.o(i.RingBuffer_isEmpty) - RingBuffer_isFull 0x000013a5 Thumb Code 36 ring_buffer.o(i.RingBuffer_isFull) - SPI10_Initialization 0x000013c9 Thumb Code 234 spi10.o(i.SPI10_Initialization) - SVC_Handler 0x000014bd Thumb Code 2 a31g12x_interrupt.o(i.SVC_Handler) - SW_Timer_Callback_Process 0x000014c1 Thumb Code 124 sw_timer.o(i.SW_Timer_Callback_Process) - SW_Timer_Callback_Register 0x00001541 Thumb Code 78 sw_timer.o(i.SW_Timer_Callback_Register) - Segment_Initialization 0x00001739 Thumb Code 114 segment_74hc595d.o(i.Segment_Initialization) - SysTick_Handler 0x00001915 Thumb Code 30 systick_timer.o(i.SysTick_Handler) - SystemInit 0x0000193d Thumb Code 22 system_a31g12x.o(i.SystemInit) - System_Clock_Initialization 0x00001961 Thumb Code 66 a31g12x_systemclock.o(i.System_Clock_Initialization) - Systick_Initialization 0x000019b1 Thumb Code 76 a31g12x_systemclock.o(i.Systick_Initialization) - TIMER12_Handler 0x00001a09 Thumb Code 44 timer12.o(i.TIMER12_Handler) - Timer12_Initialization 0x00001a3d Thumb Code 84 timer12.o(i.Timer12_Initialization) - Timer12_Set_Match_Interrupt_Callback 0x00001a99 Thumb Code 6 timer12.o(i.Timer12_Set_Match_Interrupt_Callback) - UART1_Handler 0x00001aa5 Thumb Code 34 uart1.o(i.UART1_Handler) - Uart1_Get_RecvData 0x00001acd Thumb Code 16 uart1.o(i.Uart1_Get_RecvData) - Uart1_Get_RecvDataCount 0x00001ae1 Thumb Code 10 uart1.o(i.Uart1_Get_RecvDataCount) - Uart1_Initialization 0x00001af1 Thumb Code 158 uart1.o(i.Uart1_Initialization) - Uart_Packet_Initialization 0x00001c1d Thumb Code 20 uart_packet.o(i.Uart_Packet_Initialization) - __ARM_common_switch8 0x00001e13 Thumb Code 28 segment_74hc595d.o(i.__ARM_common_switch8) - __scatterload_copy 0x00001e2f Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x00001e3d Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x00001e3f Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - ds3231_aging_offset_convert_to_register 0x00001ec5 Thumb Code 48 driver_ds3231.o(i.ds3231_aging_offset_convert_to_register) - ds3231_basic_get_time 0x00001ef9 Thumb Code 24 driver_ds3231_basic.o(i.ds3231_basic_get_time) - ds3231_basic_init 0x00001f15 Thumb Code 316 driver_ds3231_basic.o(i.ds3231_basic_init) - ds3231_basic_set_time 0x000021a9 Thumb Code 24 driver_ds3231_basic.o(i.ds3231_basic_set_time) - ds3231_deinit 0x000021c5 Thumb Code 48 driver_ds3231.o(i.ds3231_deinit) - ds3231_get_time 0x00002211 Thumb Code 208 driver_ds3231.o(i.ds3231_get_time) - ds3231_init 0x0000231d Thumb Code 218 driver_ds3231.o(i.ds3231_init) - ds3231_interface_debug_print 0x00002509 Thumb Code 2 driver_ds3231_interface_template.o(i.ds3231_interface_debug_print) - ds3231_interface_delay_ms 0x0000250b Thumb Code 12 driver_ds3231_interface_template.o(i.ds3231_interface_delay_ms) - ds3231_interface_iic_deinit 0x00002517 Thumb Code 4 driver_ds3231_interface_template.o(i.ds3231_interface_iic_deinit) - ds3231_interface_iic_init 0x0000251b Thumb Code 4 driver_ds3231_interface_template.o(i.ds3231_interface_iic_init) - ds3231_interface_iic_read 0x0000251f Thumb Code 34 driver_ds3231_interface_template.o(i.ds3231_interface_iic_read) - ds3231_interface_iic_write 0x00002541 Thumb Code 46 driver_ds3231_interface_template.o(i.ds3231_interface_iic_write) - ds3231_interface_receive_callback 0x00002571 Thumb Code 34 driver_ds3231_interface_template.o(i.ds3231_interface_receive_callback) - ds3231_set_32khz_output 0x000025c5 Thumb Code 106 driver_ds3231.o(i.ds3231_set_32khz_output) - ds3231_set_aging_offset 0x00002671 Thumb Code 54 driver_ds3231.o(i.ds3231_set_aging_offset) - ds3231_set_alarm_interrupt 0x000026c9 Thumb Code 112 driver_ds3231.o(i.ds3231_set_alarm_interrupt) - ds3231_set_oscillator 0x00002779 Thumb Code 114 driver_ds3231.o(i.ds3231_set_oscillator) - ds3231_set_pin 0x0000282d Thumb Code 106 driver_ds3231.o(i.ds3231_set_pin) - ds3231_set_square_wave 0x000028d9 Thumb Code 106 driver_ds3231.o(i.ds3231_set_square_wave) - ds3231_set_time 0x00002985 Thumb Code 662 driver_ds3231.o(i.ds3231_set_time) - main 0x00002e99 Thumb Code 108 main.o(i.main) - millis 0x00002f0d Thumb Code 6 systick_timer.o(i.millis) - timer_test 0x00002f19 Thumb Code 2 main.o(i.timer_test) - Region$$Table$$Base 0x00002f98 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x00002fb8 Number 0 anon$$obj.o(Region$$Table) + __aeabi_uldivmod 0x0000022f Thumb Code 96 uldiv.o(.text) + __I$use$fp 0x0000028f Thumb Code 0 iusefp.o(.text) + _float_round 0x0000028f Thumb Code 16 fepilogue.o(.text) + _float_epilogue 0x0000029f Thumb Code 114 fepilogue.o(.text) + __aeabi_dadd 0x00000311 Thumb Code 330 dadd.o(.text) + __aeabi_dsub 0x0000045b Thumb Code 12 dadd.o(.text) + __aeabi_drsub 0x00000467 Thumb Code 12 dadd.o(.text) + __aeabi_dmul 0x00000479 Thumb Code 202 dmul.o(.text) + __aeabi_ddiv 0x00000549 Thumb Code 234 ddiv.o(.text) + __aeabi_d2ulz 0x00000639 Thumb Code 54 dfixul.o(.text) + __aeabi_cdrcmple 0x00000679 Thumb Code 38 cdrcmple.o(.text) + __scatterload 0x000006a1 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x000006a1 Thumb Code 0 init.o(.text) + __aeabi_llsl 0x000006c5 Thumb Code 32 llshl.o(.text) + _ll_shift_l 0x000006c5 Thumb Code 0 llshl.o(.text) + __aeabi_llsr 0x000006e5 Thumb Code 34 llushr.o(.text) + _ll_ushift_r 0x000006e5 Thumb Code 0 llushr.o(.text) + __aeabi_lasr 0x00000707 Thumb Code 38 llsshr.o(.text) + _ll_sshift_r 0x00000707 Thumb Code 0 llsshr.o(.text) + _double_round 0x0000072d Thumb Code 26 depilogue.o(.text) + _double_epilogue 0x00000747 Thumb Code 164 depilogue.o(.text) + __decompress 0x000007eb Thumb Code 0 __dczerorl2.o(.text) + __decompress1 0x000007eb Thumb Code 86 __dczerorl2.o(.text) + Action_Initialization 0x00000845 Thumb Code 58 action_process.o(i.Action_Initialization) + Buzzer_Initialization 0x00000be5 Thumb Code 34 buzzer.o(i.Buzzer_Initialization) + Buzzer_On 0x00000c11 Thumb Code 24 buzzer.o(i.Buzzer_On) + Delay_I2C_Delay 0x00000c85 Thumb Code 14 gpio_i2c.o(i.Delay_I2C_Delay) + Delay_ms 0x00000c95 Thumb Code 16 systick_timer.o(i.Delay_ms) + EEPROM_Read_SettingValue 0x00000ca9 Thumb Code 136 eeprom.o(i.EEPROM_Read_SettingValue) + EEPROM_Write_SettingValue 0x00000d41 Thumb Code 154 eeprom.o(i.EEPROM_Write_SettingValue) + FlashMEM_Clock_Initialization 0x00000ded Thumb Code 16 eeprom.o(i.FlashMEM_Clock_Initialization) + FlashMem_Do_PageEr 0x00000dfd Thumb Code 16 eeprom.o(i.FlashMem_Do_PageEr) + FlashMem_Do_PageWt 0x00000e11 Thumb Code 20 eeprom.o(i.FlashMem_Do_PageWt) + GPIO_I2C2_Initialization 0x00000e29 Thumb Code 60 gpio_i2c.o(i.GPIO_I2C2_Initialization) + GPIO_I2C2_Read 0x00000e69 Thumb Code 142 gpio_i2c.o(i.GPIO_I2C2_Read) + GPIO_I2C2_Start 0x00000efd Thumb Code 70 gpio_i2c.o(i.GPIO_I2C2_Start) + GPIO_I2C2_Stop 0x00000f49 Thumb Code 58 gpio_i2c.o(i.GPIO_I2C2_Stop) + GPIO_I2C2_Write 0x00000f89 Thumb Code 142 gpio_i2c.o(i.GPIO_I2C2_Write) + Gpio_Led_OutputSet 0x0000101d Thumb Code 66 gpio_state_led.o(i.Gpio_Led_OutputSet) + Gpio_StateLed_Initialization 0x00001065 Thumb Code 92 gpio_state_led.o(i.Gpio_StateLed_Initialization) + Gpio_Switch_Port_Initialization 0x00001215 Thumb Code 106 gpio_switch.o(i.Gpio_Switch_Port_Initialization) + Gpio_Swtich_Set_Callback 0x000012ad Thumb Code 34 gpio_switch.o(i.Gpio_Swtich_Set_Callback) + Gpio_Swtich_Set_PushCount 0x000012d5 Thumb Code 26 gpio_switch.o(i.Gpio_Swtich_Set_PushCount) + HAL_CRC_Init 0x000012f5 Thumb Code 14 a31g12x_hal_crc.o(i.HAL_CRC_Init) + HAL_FMC_FlashEntry 0x00001305 Thumb Code 62 a31g12x_hal_fmc.o(i.HAL_FMC_FlashEntry) + HAL_FMC_FlashExit 0x00001365 Thumb Code 36 a31g12x_hal_fmc.o(i.HAL_FMC_FlashExit) + HAL_FMC_FlashFunction 0x0000139d Thumb Code 338 a31g12x_hal_fmc.o(i.HAL_FMC_FlashFunction) + HAL_FMC_PageErase 0x00001545 Thumb Code 50 a31g12x_hal_fmc.o(i.HAL_FMC_PageErase) + HAL_FMC_PageWrite 0x00001585 Thumb Code 52 a31g12x_hal_fmc.o(i.HAL_FMC_PageWrite) + HAL_GPIO_ClearPin 0x000015c5 Thumb Code 4 a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) + HAL_GPIO_ConfigFunction 0x000015c9 Thumb Code 68 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction) + HAL_GPIO_ConfigOutput 0x0000160d Thumb Code 70 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput) + HAL_GPIO_ConfigPullup 0x00001653 Thumb Code 30 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup) + HAL_GPIO_ReadPin 0x00001671 Thumb Code 8 a31g12x_hal_pcu.o(i.HAL_GPIO_ReadPin) + HAL_GPIO_SetDebouncePin 0x00001679 Thumb Code 22 a31g12x_hal_pcu.o(i.HAL_GPIO_SetDebouncePin) + HAL_GPIO_SetPin 0x0000168f Thumb Code 4 a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) + HAL_INT_EInt_MaskDisable 0x00001695 Thumb Code 12 a31g12x_hal_intc.o(i.HAL_INT_EInt_MaskDisable) + HAL_SCU_ClockMonitoring 0x000016a5 Thumb Code 50 a31g12x_hal_scu.o(i.HAL_SCU_ClockMonitoring) + HAL_SCU_ClockSource_Enable 0x000016e1 Thumb Code 22 a31g12x_hal_scu.o(i.HAL_SCU_ClockSource_Enable) + HAL_SCU_Peripheral_ClockConfig 0x00001705 Thumb Code 8 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_ClockConfig) + HAL_SCU_Peripheral_EnableClock1 0x00001711 Thumb Code 28 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock1) + HAL_SCU_Peripheral_EnableClock2 0x00001731 Thumb Code 28 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2) + HAL_SCU_Peripheral_SetReset2 0x00001751 Thumb Code 24 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_SetReset2) + HAL_SCU_SystemClockChange 0x0000176d Thumb Code 10 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockChange) + HAL_SCU_SystemClockDivider 0x00001781 Thumb Code 8 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockDivider) + HAL_TIMER1n_Cmd 0x0000178d Thumb Code 38 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Cmd) + HAL_TIMER1n_ConfigInterrupt 0x000017b3 Thumb Code 56 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_ConfigInterrupt) + HAL_TIMER1n_Init 0x000017ed Thumb Code 332 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Init) + HAL_UART_ConfigInterrupt 0x00001955 Thumb Code 76 a31g12x_hal_uartn.o(i.HAL_UART_ConfigInterrupt) + HAL_UART_ConfigStructInit 0x000019a1 Thumb Code 30 a31g12x_hal_uartn.o(i.HAL_UART_ConfigStructInit) + HAL_UART_Init 0x000019c1 Thumb Code 244 a31g12x_hal_uartn.o(i.HAL_UART_Init) + HAL_UART_Receive 0x00001ac5 Thumb Code 110 a31g12x_hal_uartn.o(i.HAL_UART_Receive) + HAL_UART_ReceiveByte 0x00001b39 Thumb Code 8 a31g12x_hal_uartn.o(i.HAL_UART_ReceiveByte) + HAL_UART_Transmit 0x00001b41 Thumb Code 122 a31g12x_hal_uartn.o(i.HAL_UART_Transmit) + HAL_UART_TransmitByte 0x00001bc1 Thumb Code 16 a31g12x_hal_uartn.o(i.HAL_UART_TransmitByte) + HAL_USART_CheckBusy 0x00001bd1 Thumb Code 20 a31g12x_hal_usart1n.o(i.HAL_USART_CheckBusy) + HAL_USART_ClearStatus 0x00001be5 Thumb Code 58 a31g12x_hal_usart1n.o(i.HAL_USART_ClearStatus) + HAL_USART_ConfigInterrupt 0x00001c1f Thumb Code 76 a31g12x_hal_usart1n.o(i.HAL_USART_ConfigInterrupt) + HAL_USART_DataControlConfig 0x00001c6b Thumb Code 106 a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig) + HAL_USART_Enable 0x00001cd5 Thumb Code 38 a31g12x_hal_usart1n.o(i.HAL_USART_Enable) + HAL_USART_GetStatus 0x00001cfb Thumb Code 8 a31g12x_hal_usart1n.o(i.HAL_USART_GetStatus) + HAL_USART_Init 0x00001d05 Thumb Code 218 a31g12x_hal_usart1n.o(i.HAL_USART_Init) + HAL_USART_Receive 0x00001df9 Thumb Code 114 a31g12x_hal_usart1n.o(i.HAL_USART_Receive) + HAL_USART_ReceiveByte 0x00001e6b Thumb Code 8 a31g12x_hal_usart1n.o(i.HAL_USART_ReceiveByte) + HAL_USART_SPI_Mode_Config 0x00001e73 Thumb Code 40 a31g12x_hal_usart1n.o(i.HAL_USART_SPI_Mode_Config) + HAL_USART_Transmit 0x00001e9b Thumb Code 132 a31g12x_hal_usart1n.o(i.HAL_USART_Transmit) + HAL_USART_TransmitByte 0x00001f1f Thumb Code 16 a31g12x_hal_usart1n.o(i.HAL_USART_TransmitByte) + HAL_USART_UART_Mode_Config 0x00001f2f Thumb Code 34 a31g12x_hal_usart1n.o(i.HAL_USART_UART_Mode_Config) + HardFault_Handler 0x00001f51 Thumb Code 4 a31g12x_interrupt.o(i.HardFault_Handler) + I2C2_Read 0x00001f55 Thumb Code 60 gpio_i2c.o(i.I2C2_Read) + I2C2_Write 0x00001f91 Thumb Code 46 gpio_i2c.o(i.I2C2_Write) + NMI_Handler 0x00001fbf Thumb Code 2 a31g12x_interrupt.o(i.NMI_Handler) + PendSV_Handler 0x000021a1 Thumb Code 2 a31g12x_interrupt.o(i.PendSV_Handler) + RTC_Get_Time 0x0000224d Thumb Code 16 rtc_process.o(i.RTC_Get_Time) + RTC_Process_Initialization 0x00002261 Thumb Code 20 rtc_process.o(i.RTC_Process_Initialization) + RingBuffer_Dequeue 0x00002279 Thumb Code 62 ring_buffer.o(i.RingBuffer_Dequeue) + RingBuffer_Enqueue 0x000022b7 Thumb Code 64 ring_buffer.o(i.RingBuffer_Enqueue) + RingBuffer_GetData 0x000022f7 Thumb Code 14 ring_buffer.o(i.RingBuffer_GetData) + RingBuffer_Get_DataSize 0x00002305 Thumb Code 50 ring_buffer.o(i.RingBuffer_Get_DataSize) + RingBuffer_Initialization 0x00002337 Thumb Code 38 ring_buffer.o(i.RingBuffer_Initialization) + RingBuffer_PopData 0x0000235d Thumb Code 38 ring_buffer.o(i.RingBuffer_PopData) + RingBuffer_isEmpty 0x00002383 Thumb Code 18 ring_buffer.o(i.RingBuffer_isEmpty) + RingBuffer_isFull 0x00002395 Thumb Code 36 ring_buffer.o(i.RingBuffer_isFull) + SPI10_Initialization 0x000023b9 Thumb Code 234 spi10.o(i.SPI10_Initialization) + SPI13_Initialization 0x000024ad Thumb Code 180 spi13.o(i.SPI13_Initialization) + SPI13_Transmit 0x00002569 Thumb Code 56 spi13.o(i.SPI13_Transmit) + SVC_Handler 0x000025a5 Thumb Code 2 a31g12x_interrupt.o(i.SVC_Handler) + SW_Timer_Callback_Process 0x000025a9 Thumb Code 124 sw_timer.o(i.SW_Timer_Callback_Process) + SW_Timer_Callback_Register 0x00002629 Thumb Code 78 sw_timer.o(i.SW_Timer_Callback_Register) + Segment_All_Set_Data 0x0000274d Thumb Code 28 segment.o(i.Segment_All_Set_Data) + Segment_Initialization 0x0000276d Thumb Code 54 segment_74hc595d.o(i.Segment_Initialization) + Segment_Show_SensorData 0x000027c5 Thumb Code 330 segment.o(i.Segment_Show_SensorData) + Segment_Show_Time 0x0000291d Thumb Code 120 segment.o(i.Segment_Show_Time) + Segment_Show_Version 0x0000299d Thumb Code 118 segment.o(i.Segment_Show_Version) + SysTick_Handler 0x00002af1 Thumb Code 30 systick_timer.o(i.SysTick_Handler) + SystemInit 0x00002b19 Thumb Code 22 system_a31g12x.o(i.SystemInit) + System_Clock_Initialization 0x00002b3d Thumb Code 66 a31g12x_systemclock.o(i.System_Clock_Initialization) + Systick_Initialization 0x00002b8d Thumb Code 76 a31g12x_systemclock.o(i.Systick_Initialization) + TIMER12_Handler 0x00002be5 Thumb Code 44 timer12.o(i.TIMER12_Handler) + Timer12_Initialization 0x00002c19 Thumb Code 84 timer12.o(i.Timer12_Initialization) + Timer12_Set_Match_Interrupt_Callback 0x00002c75 Thumb Code 6 timer12.o(i.Timer12_Set_Match_Interrupt_Callback) + UART1_Handler 0x00002c81 Thumb Code 34 uart1.o(i.UART1_Handler) + USART11_Handler 0x00002ca9 Thumb Code 26 usart11_rs485.o(i.USART11_Handler) + Uart1_Get_RecvData 0x00002cc9 Thumb Code 16 uart1.o(i.Uart1_Get_RecvData) + Uart1_Get_RecvDataCount 0x00002cdd Thumb Code 10 uart1.o(i.Uart1_Get_RecvDataCount) + Uart1_Initialization 0x00002ced Thumb Code 158 uart1.o(i.Uart1_Initialization) + Uart1_Transmit 0x00002de1 Thumb Code 14 uart1.o(i.Uart1_Transmit) + Uart_Packet_Initialization 0x00002e2d Thumb Code 20 uart_packet.o(i.Uart_Packet_Initialization) + Usart11_Initialization 0x00003025 Thumb Code 194 usart11_rs485.o(i.Usart11_Initialization) + Usart11_TransmitData 0x0000313d Thumb Code 26 usart11_rs485.o(i.Usart11_TransmitData) + __0printf 0x000031d9 Thumb Code 24 printfa.o(i.__0printf) + __1printf 0x000031d9 Thumb Code 0 printfa.o(i.__0printf) + __2printf 0x000031d9 Thumb Code 0 printfa.o(i.__0printf) + __c89printf 0x000031d9 Thumb Code 0 printfa.o(i.__0printf) + printf 0x000031d9 Thumb Code 0 printfa.o(i.__0printf) + __ARM_clz 0x000031f9 Thumb Code 46 depilogue.o(i.__ARM_clz) + __ARM_common_switch8 0x00003227 Thumb Code 28 segment_74hc595d.o(i.__ARM_common_switch8) + __scatterload_copy 0x00003243 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x00003251 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x00003253 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + ds3231_aging_offset_convert_to_register 0x00003b89 Thumb Code 48 driver_ds3231.o(i.ds3231_aging_offset_convert_to_register) + ds3231_basic_get_time 0x00003bbd Thumb Code 24 driver_ds3231_basic.o(i.ds3231_basic_get_time) + ds3231_basic_init 0x00003bd9 Thumb Code 316 driver_ds3231_basic.o(i.ds3231_basic_init) + ds3231_basic_set_time 0x00003e6d Thumb Code 24 driver_ds3231_basic.o(i.ds3231_basic_set_time) + ds3231_deinit 0x00003e89 Thumb Code 48 driver_ds3231.o(i.ds3231_deinit) + ds3231_get_time 0x00003ed5 Thumb Code 208 driver_ds3231.o(i.ds3231_get_time) + ds3231_init 0x00003fe1 Thumb Code 218 driver_ds3231.o(i.ds3231_init) + ds3231_interface_debug_print 0x000041cd Thumb Code 2 driver_ds3231_interface_template.o(i.ds3231_interface_debug_print) + ds3231_interface_delay_ms 0x000041cf Thumb Code 12 driver_ds3231_interface_template.o(i.ds3231_interface_delay_ms) + ds3231_interface_iic_deinit 0x000041db Thumb Code 4 driver_ds3231_interface_template.o(i.ds3231_interface_iic_deinit) + ds3231_interface_iic_init 0x000041df Thumb Code 4 driver_ds3231_interface_template.o(i.ds3231_interface_iic_init) + ds3231_interface_iic_read 0x000041e3 Thumb Code 34 driver_ds3231_interface_template.o(i.ds3231_interface_iic_read) + ds3231_interface_iic_write 0x00004205 Thumb Code 46 driver_ds3231_interface_template.o(i.ds3231_interface_iic_write) + ds3231_interface_receive_callback 0x00004235 Thumb Code 34 driver_ds3231_interface_template.o(i.ds3231_interface_receive_callback) + ds3231_set_32khz_output 0x00004289 Thumb Code 106 driver_ds3231.o(i.ds3231_set_32khz_output) + ds3231_set_aging_offset 0x00004335 Thumb Code 54 driver_ds3231.o(i.ds3231_set_aging_offset) + ds3231_set_alarm_interrupt 0x0000438d Thumb Code 112 driver_ds3231.o(i.ds3231_set_alarm_interrupt) + ds3231_set_oscillator 0x0000443d Thumb Code 114 driver_ds3231.o(i.ds3231_set_oscillator) + ds3231_set_pin 0x000044f1 Thumb Code 106 driver_ds3231.o(i.ds3231_set_pin) + ds3231_set_square_wave 0x0000459d Thumb Code 106 driver_ds3231.o(i.ds3231_set_square_wave) + ds3231_set_time 0x00004649 Thumb Code 662 driver_ds3231.o(i.ds3231_set_time) + fputc 0x00004b5d Thumb Code 16 dbg_printf.o(i.fputc) + main 0x00004b6d Thumb Code 118 main.o(i.main) + millis 0x00004bed Thumb Code 6 systick_timer.o(i.millis) + timer_test 0x00004bf9 Thumb Code 28 main.o(i.timer_test) + SegmentData 0x00004c90 Data 38 segment.o(.constdata) + Region$$Table$$Base 0x00004cb8 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x00004cd8 Number 0 anon$$obj.o(Region$$Table) nDelayCount 0x20000004 Data 4 systick_timer.o(.data) - Segment_Toggle_In 0x20000079 Data 1 segment_74hc595d.o(.data) - Segment_Toggle_Out 0x2000007a Data 1 segment_74hc595d.o(.data) - InFlag 0x2000009c Data 4 a31g12x_hal_uartn.o(.data) - InCount 0x200000a0 Data 4 a31g12x_hal_uartn.o(.data) - USART1n_BaseClock 0x200000a4 Data 4 a31g12x_hal_usart1n.o(.data) - mclk 0x200000a8 Data 4 system_a31g12x.o(.data) - SystemCoreClock 0x200000ac Data 4 system_a31g12x.o(.data) - SystemPeriClock 0x200000b0 Data 4 system_a31g12x.o(.data) - ClkSrcTbl 0x200000b4 Data 16 system_a31g12x.o(.data) - Segment_OutputBuff 0x200002d8 Data 32 segment.o(.bss) - __initial_sp 0x20000860 Data 0 startup_a31g12x.o(STACK) + Segment_Toggle_In 0x20000131 Data 1 segment_74hc595d.o(.data) + Segment_Toggle_Out 0x20000132 Data 1 segment_74hc595d.o(.data) + flash_id1_reg 0x20000150 Data 4 a31g12x_hal_fmc.o(.data) + flash_id2_reg 0x20000154 Data 4 a31g12x_hal_fmc.o(.data) + flash_addr_code0 0x20000158 Data 4 a31g12x_hal_fmc.o(.data) + flash_addr_code1 0x2000015c Data 4 a31g12x_hal_fmc.o(.data) + InFlag 0x20000164 Data 4 a31g12x_hal_uartn.o(.data) + InCount 0x20000168 Data 4 a31g12x_hal_uartn.o(.data) + USART1n_BaseClock 0x2000016c Data 4 a31g12x_hal_usart1n.o(.data) + mclk 0x20000170 Data 4 system_a31g12x.o(.data) + SystemCoreClock 0x20000174 Data 4 system_a31g12x.o(.data) + SystemPeriClock 0x20000178 Data 4 system_a31g12x.o(.data) + ClkSrcTbl 0x2000017c Data 16 system_a31g12x.o(.data) + __stdout 0x2000018c Data 4 stdout.o(.data) + Segment_OutputBuff 0x2000043a Data 10 segment.o(.bss) + __initial_sp 0x20000a98 Data 0 startup_a31g12x.o(STACK) @@ -2147,197 +2311,265 @@ Memory Map of the image Image Entry point : 0x000000b1 - Load Region LR_IROM1 (Base: 0x00000000, Size: 0x0000307c, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00004e68, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x00004d1c]) - Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00002fb8, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00004cd8, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x00000000 0x00000000 0x000000b0 Data RO 2940 RESET startup_a31g12x.o - 0x000000b0 0x000000b0 0x00000000 Code RO 3654 * .ARM.Collect$$$$00000000 mc_p.l(entry.o) - 0x000000b0 0x000000b0 0x00000004 Code RO 3945 .ARM.Collect$$$$00000001 mc_p.l(entry2.o) - 0x000000b4 0x000000b4 0x00000004 Code RO 3948 .ARM.Collect$$$$00000004 mc_p.l(entry5.o) - 0x000000b8 0x000000b8 0x00000000 Code RO 3950 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o) - 0x000000b8 0x000000b8 0x00000000 Code RO 3952 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o) - 0x000000b8 0x000000b8 0x00000008 Code RO 3953 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o) - 0x000000c0 0x000000c0 0x00000004 Code RO 3960 .ARM.Collect$$$$0000000E mc_p.l(entry12b.o) - 0x000000c4 0x000000c4 0x00000000 Code RO 3955 .ARM.Collect$$$$0000000F mc_p.l(entry10a.o) - 0x000000c4 0x000000c4 0x00000000 Code RO 3957 .ARM.Collect$$$$00000011 mc_p.l(entry11a.o) - 0x000000c4 0x000000c4 0x00000004 Code RO 3946 .ARM.Collect$$$$00002712 mc_p.l(entry2.o) - 0x000000c8 0x000000c8 0x0000001c Code RO 2941 .text startup_a31g12x.o - 0x000000e4 0x000000e4 0x0000002c Code RO 3657 .text mc_p.l(uidiv.o) - 0x00000110 0x00000110 0x00000028 Code RO 3659 .text mc_p.l(idiv.o) - 0x00000138 0x00000138 0x00000024 Code RO 3668 .text mc_p.l(memcpya.o) - 0x0000015c 0x0000015c 0x00000024 Code RO 3670 .text mc_p.l(memseta.o) - 0x00000180 0x00000180 0x0000007c Code RO 3939 .text mf_p.l(fdiv.o) - 0x000001fc 0x000001fc 0x00000032 Code RO 3943 .text mf_p.l(ffixi.o) - 0x0000022e 0x0000022e 0x00000000 Code RO 3970 .text mc_p.l(iusefp.o) - 0x0000022e 0x0000022e 0x00000082 Code RO 3971 .text mf_p.l(fepilogue.o) - 0x000002b0 0x000002b0 0x00000024 Code RO 3983 .text mc_p.l(init.o) - 0x000002d4 0x000002d4 0x00000014 Code RO 1276 i.Action_Initialization action_process.o - 0x000002e8 0x000002e8 0x00000002 Code RO 1277 i.Action_Process action_process.o - 0x000002ea 0x000002ea 0x00000002 PAD - 0x000002ec 0x000002ec 0x0000002c Code RO 1352 i.Buzzer_Initialization buzzer.o - 0x00000318 0x00000318 0x00000024 Code RO 1353 i.Buzzer_On buzzer.o - 0x0000033c 0x0000033c 0x00000050 Code RO 1354 i.Buzzer_Output_Process buzzer.o - 0x0000038c 0x0000038c 0x0000000e Code RO 673 i.Delay_I2C_Delay gpio_i2c.o - 0x0000039a 0x0000039a 0x00000002 PAD - 0x0000039c 0x0000039c 0x00000014 Code RO 341 i.Delay_ms systick_timer.o - 0x000003b0 0x000003b0 0x00000010 Code RO 1308 i.FlashMEM_Clock_Initialization eeprom.o - 0x000003c0 0x000003c0 0x00000040 Code RO 674 i.GPIO_I2C0_Initialization gpio_i2c.o - 0x00000400 0x00000400 0x00000040 Code RO 679 i.GPIO_I2C1_Initialization gpio_i2c.o - 0x00000440 0x00000440 0x00000040 Code RO 684 i.GPIO_I2C2_Initialization gpio_i2c.o - 0x00000480 0x00000480 0x00000094 Code RO 685 i.GPIO_I2C2_Read gpio_i2c.o - 0x00000514 0x00000514 0x0000004c Code RO 686 i.GPIO_I2C2_Start gpio_i2c.o - 0x00000560 0x00000560 0x00000040 Code RO 687 i.GPIO_I2C2_Stop gpio_i2c.o - 0x000005a0 0x000005a0 0x00000094 Code RO 688 i.GPIO_I2C2_Write gpio_i2c.o - 0x00000634 0x00000634 0x00000024 Code RO 1385 i.Gpio_Sensor_PWR_Initialization gpio_sensor.o - 0x00000658 0x00000658 0x00000030 Code RO 448 i.Gpio_StateLed_Initialization gpio_state_led.o - 0x00000688 0x00000688 0x00000034 Code RO 449 i.Gpio_StateLed_Set_Mode gpio_state_led.o - 0x000006bc 0x000006bc 0x00000140 Code RO 486 i.Gpio_Switch_Check_Process gpio_switch.o - 0x000007fc 0x000007fc 0x00000038 Code RO 487 i.Gpio_Switch_Port_Initialization gpio_switch.o - 0x00000834 0x00000834 0x0000000e Code RO 1635 i.HAL_CRC_Init a31g12x_hal_crc.o - 0x00000842 0x00000842 0x00000004 Code RO 2094 i.HAL_GPIO_ClearPin a31g12x_hal_pcu.o - 0x00000846 0x00000846 0x00000044 Code RO 2095 i.HAL_GPIO_ConfigFunction a31g12x_hal_pcu.o - 0x0000088a 0x0000088a 0x00000046 Code RO 2097 i.HAL_GPIO_ConfigOutput a31g12x_hal_pcu.o - 0x000008d0 0x000008d0 0x0000001e Code RO 2098 i.HAL_GPIO_ConfigPullup a31g12x_hal_pcu.o - 0x000008ee 0x000008ee 0x00000008 Code RO 2100 i.HAL_GPIO_ReadPin a31g12x_hal_pcu.o - 0x000008f6 0x000008f6 0x00000016 Code RO 2101 i.HAL_GPIO_SetDebouncePin a31g12x_hal_pcu.o - 0x0000090c 0x0000090c 0x00000004 Code RO 2102 i.HAL_GPIO_SetPin a31g12x_hal_pcu.o - 0x00000910 0x00000910 0x00000010 Code RO 1990 i.HAL_INT_EInt_MaskDisable a31g12x_hal_intc.o - 0x00000920 0x00000920 0x0000003c Code RO 2201 i.HAL_SCU_ClockMonitoring a31g12x_hal_scu.o - 0x0000095c 0x0000095c 0x00000024 Code RO 2206 i.HAL_SCU_ClockSource_Enable a31g12x_hal_scu.o - 0x00000980 0x00000980 0x0000000c Code RO 2209 i.HAL_SCU_Peripheral_ClockConfig a31g12x_hal_scu.o - 0x0000098c 0x0000098c 0x00000020 Code RO 2211 i.HAL_SCU_Peripheral_EnableClock1 a31g12x_hal_scu.o - 0x000009ac 0x000009ac 0x00000020 Code RO 2212 i.HAL_SCU_Peripheral_EnableClock2 a31g12x_hal_scu.o - 0x000009cc 0x000009cc 0x0000001c Code RO 2215 i.HAL_SCU_Peripheral_SetReset2 a31g12x_hal_scu.o - 0x000009e8 0x000009e8 0x00000014 Code RO 2221 i.HAL_SCU_SystemClockChange a31g12x_hal_scu.o - 0x000009fc 0x000009fc 0x0000000c Code RO 2222 i.HAL_SCU_SystemClockDivider a31g12x_hal_scu.o - 0x00000a08 0x00000a08 0x00000026 Code RO 2378 i.HAL_TIMER1n_Cmd a31g12x_hal_timer1n.o - 0x00000a2e 0x00000a2e 0x00000038 Code RO 2379 i.HAL_TIMER1n_ConfigInterrupt a31g12x_hal_timer1n.o - 0x00000a66 0x00000a66 0x00000002 PAD - 0x00000a68 0x00000a68 0x00000168 Code RO 2381 i.HAL_TIMER1n_Init a31g12x_hal_timer1n.o - 0x00000bd0 0x00000bd0 0x0000004c Code RO 2601 i.HAL_UART_ConfigInterrupt a31g12x_hal_uartn.o - 0x00000c1c 0x00000c1c 0x0000001e Code RO 2602 i.HAL_UART_ConfigStructInit a31g12x_hal_uartn.o - 0x00000c3a 0x00000c3a 0x00000002 PAD - 0x00000c3c 0x00000c3c 0x00000104 Code RO 2608 i.HAL_UART_Init a31g12x_hal_uartn.o - 0x00000d40 0x00000d40 0x00000074 Code RO 2609 i.HAL_UART_Receive a31g12x_hal_uartn.o - 0x00000db4 0x00000db4 0x00000008 Code RO 2610 i.HAL_UART_ReceiveByte a31g12x_hal_uartn.o - 0x00000dbc 0x00000dbc 0x00000080 Code RO 2611 i.HAL_UART_Transmit a31g12x_hal_uartn.o - 0x00000e3c 0x00000e3c 0x00000010 Code RO 2612 i.HAL_UART_TransmitByte a31g12x_hal_uartn.o - 0x00000e4c 0x00000e4c 0x0000003a Code RO 2705 i.HAL_USART_ClearStatus a31g12x_hal_usart1n.o - 0x00000e86 0x00000e86 0x0000006a Code RO 2707 i.HAL_USART_DataControlConfig a31g12x_hal_usart1n.o - 0x00000ef0 0x00000ef0 0x00000026 Code RO 2709 i.HAL_USART_Enable a31g12x_hal_usart1n.o - 0x00000f16 0x00000f16 0x00000002 PAD - 0x00000f18 0x00000f18 0x000000f4 Code RO 2711 i.HAL_USART_Init a31g12x_hal_usart1n.o - 0x0000100c 0x0000100c 0x00000008 Code RO 2713 i.HAL_USART_ReceiveByte a31g12x_hal_usart1n.o - 0x00001014 0x00001014 0x00000028 Code RO 2714 i.HAL_USART_SPI_Mode_Config a31g12x_hal_usart1n.o - 0x0000103c 0x0000103c 0x00000004 Code RO 1 i.HardFault_Handler a31g12x_interrupt.o - 0x00001040 0x00001040 0x0000003c Code RO 693 i.I2C2_Read gpio_i2c.o - 0x0000107c 0x0000107c 0x0000002e Code RO 694 i.I2C2_Write gpio_i2c.o - 0x000010aa 0x000010aa 0x00000002 Code RO 2 i.NMI_Handler a31g12x_interrupt.o - 0x000010ac 0x000010ac 0x00000078 Code RO 38 i.NVIC_SetPriority a31g12x_systemclock.o - 0x00001124 0x00001124 0x00000078 Code RO 525 i.NVIC_SetPriority uart1.o - 0x0000119c 0x0000119c 0x00000078 Code RO 634 i.NVIC_SetPriority timer12.o - 0x00001214 0x00001214 0x00000002 Code RO 3 i.PendSV_Handler a31g12x_interrupt.o - 0x00001216 0x00001216 0x00000002 PAD - 0x00001218 0x00001218 0x00000058 Code RO 1243 i.RTC_Get_IC_Time_Process rtc_process.o - 0x00001270 0x00001270 0x00000018 Code RO 1245 i.RTC_Process_Initialization rtc_process.o - 0x00001288 0x00001288 0x0000003e Code RO 377 i.RingBuffer_Dequeue ring_buffer.o - 0x000012c6 0x000012c6 0x00000040 Code RO 378 i.RingBuffer_Enqueue ring_buffer.o - 0x00001306 0x00001306 0x0000000e Code RO 379 i.RingBuffer_GetData ring_buffer.o - 0x00001314 0x00001314 0x00000032 Code RO 380 i.RingBuffer_Get_DataSize ring_buffer.o - 0x00001346 0x00001346 0x00000026 Code RO 381 i.RingBuffer_Initialization ring_buffer.o - 0x0000136c 0x0000136c 0x00000026 Code RO 382 i.RingBuffer_PopData ring_buffer.o - 0x00001392 0x00001392 0x00000012 Code RO 383 i.RingBuffer_isEmpty ring_buffer.o - 0x000013a4 0x000013a4 0x00000024 Code RO 384 i.RingBuffer_isFull ring_buffer.o - 0x000013c8 0x000013c8 0x000000f4 Code RO 819 i.SPI10_Initialization spi10.o - 0x000014bc 0x000014bc 0x00000002 Code RO 4 i.SVC_Handler a31g12x_interrupt.o - 0x000014be 0x000014be 0x00000002 PAD - 0x000014c0 0x000014c0 0x00000080 Code RO 307 i.SW_Timer_Callback_Process sw_timer.o - 0x00001540 0x00001540 0x00000054 Code RO 308 i.SW_Timer_Callback_Register sw_timer.o - 0x00001594 0x00001594 0x000001a4 Code RO 595 i.Segemet_Output_Process segment_74hc595d.o - 0x00001738 0x00001738 0x00000084 Code RO 596 i.Segment_Initialization segment_74hc595d.o - 0x000017bc 0x000017bc 0x000000c8 Code RO 597 i.Segment_Output_Data segment_74hc595d.o - 0x00001884 0x00001884 0x00000090 Code RO 450 i.State_Led_Output_Process gpio_state_led.o - 0x00001914 0x00001914 0x00000028 Code RO 342 i.SysTick_Handler systick_timer.o - 0x0000193c 0x0000193c 0x00000024 Code RO 2948 i.SystemInit system_a31g12x.o - 0x00001960 0x00001960 0x00000050 Code RO 39 i.System_Clock_Initialization a31g12x_systemclock.o - 0x000019b0 0x000019b0 0x00000058 Code RO 40 i.Systick_Initialization a31g12x_systemclock.o - 0x00001a08 0x00001a08 0x00000034 Code RO 635 i.TIMER12_Handler timer12.o - 0x00001a3c 0x00001a3c 0x0000005c Code RO 636 i.Timer12_Initialization timer12.o - 0x00001a98 0x00001a98 0x0000000c Code RO 637 i.Timer12_Set_Match_Interrupt_Callback timer12.o - 0x00001aa4 0x00001aa4 0x00000028 Code RO 526 i.UART1_Handler uart1.o - 0x00001acc 0x00001acc 0x00000014 Code RO 527 i.Uart1_Get_RecvData uart1.o - 0x00001ae0 0x00001ae0 0x00000010 Code RO 528 i.Uart1_Get_RecvDataCount uart1.o - 0x00001af0 0x00001af0 0x000000c0 Code RO 529 i.Uart1_Initialization uart1.o - 0x00001bb0 0x00001bb0 0x00000034 Code RO 530 i.Uart1_Receive_Handler uart1.o - 0x00001be4 0x00001be4 0x00000038 Code RO 533 i.Uart1_Transmit_Process uart1.o - 0x00001c1c 0x00001c1c 0x0000001c Code RO 1528 i.Uart_Packet_Initialization uart_packet.o - 0x00001c38 0x00001c38 0x00000144 Code RO 1529 i.Uart_Packet_Make_Process uart_packet.o - 0x00001d7c 0x00001d7c 0x00000096 Code RO 1530 i.Uart_Packet_Process uart_packet.o - 0x00001e12 0x00001e12 0x0000001c Code RO 624 i.__ARM_common_switch8 segment_74hc595d.o - 0x00001e2e 0x00001e2e 0x0000000e Code RO 3997 i.__scatterload_copy mc_p.l(handlers.o) - 0x00001e3c 0x00001e3c 0x00000002 Code RO 3998 i.__scatterload_null mc_p.l(handlers.o) - 0x00001e3e 0x00001e3e 0x0000000e Code RO 3999 i.__scatterload_zeroinit mc_p.l(handlers.o) - 0x00001e4c 0x00001e4c 0x00000014 Code RO 908 i.a_ds3231_bcd2hex driver_ds3231.o - 0x00001e60 0x00001e60 0x00000022 Code RO 909 i.a_ds3231_hex2bcd driver_ds3231.o - 0x00001e82 0x00001e82 0x00000024 Code RO 910 i.a_ds3231_iic_multiple_read driver_ds3231.o - 0x00001ea6 0x00001ea6 0x0000001e Code RO 911 i.a_ds3231_iic_write driver_ds3231.o - 0x00001ec4 0x00001ec4 0x00000034 Code RO 913 i.ds3231_aging_offset_convert_to_register driver_ds3231.o - 0x00001ef8 0x00001ef8 0x0000001c Code RO 1115 i.ds3231_basic_get_time driver_ds3231_basic.o - 0x00001f14 0x00001f14 0x00000294 Code RO 1118 i.ds3231_basic_init driver_ds3231_basic.o - 0x000021a8 0x000021a8 0x0000001c Code RO 1119 i.ds3231_basic_set_time driver_ds3231_basic.o - 0x000021c4 0x000021c4 0x0000004c Code RO 915 i.ds3231_deinit driver_ds3231.o - 0x00002210 0x00002210 0x0000010c Code RO 927 i.ds3231_get_time driver_ds3231.o - 0x0000231c 0x0000231c 0x000001ec Code RO 929 i.ds3231_init driver_ds3231.o - 0x00002508 0x00002508 0x00000002 Code RO 1187 i.ds3231_interface_debug_print driver_ds3231_interface_template.o - 0x0000250a 0x0000250a 0x0000000c Code RO 1188 i.ds3231_interface_delay_ms driver_ds3231_interface_template.o - 0x00002516 0x00002516 0x00000004 Code RO 1189 i.ds3231_interface_iic_deinit driver_ds3231_interface_template.o - 0x0000251a 0x0000251a 0x00000004 Code RO 1190 i.ds3231_interface_iic_init driver_ds3231_interface_template.o - 0x0000251e 0x0000251e 0x00000022 Code RO 1191 i.ds3231_interface_iic_read driver_ds3231_interface_template.o - 0x00002540 0x00002540 0x0000002e Code RO 1192 i.ds3231_interface_iic_write driver_ds3231_interface_template.o - 0x0000256e 0x0000256e 0x00000002 PAD - 0x00002570 0x00002570 0x00000054 Code RO 1193 i.ds3231_interface_receive_callback driver_ds3231_interface_template.o - 0x000025c4 0x000025c4 0x000000ac Code RO 931 i.ds3231_set_32khz_output driver_ds3231.o - 0x00002670 0x00002670 0x00000058 Code RO 932 i.ds3231_set_aging_offset driver_ds3231.o - 0x000026c8 0x000026c8 0x000000b0 Code RO 935 i.ds3231_set_alarm_interrupt driver_ds3231.o - 0x00002778 0x00002778 0x000000b4 Code RO 936 i.ds3231_set_oscillator driver_ds3231.o - 0x0000282c 0x0000282c 0x000000ac Code RO 937 i.ds3231_set_pin driver_ds3231.o - 0x000028d8 0x000028d8 0x000000ac Code RO 939 i.ds3231_set_square_wave driver_ds3231.o - 0x00002984 0x00002984 0x00000514 Code RO 940 i.ds3231_set_time driver_ds3231.o - 0x00002e98 0x00002e98 0x00000074 Code RO 187 i.main main.o - 0x00002f0c 0x00002f0c 0x0000000c Code RO 343 i.millis systick_timer.o - 0x00002f18 0x00002f18 0x00000002 Code RO 188 i.timer_test main.o - 0x00002f1a 0x00002f1a 0x00000002 PAD - 0x00002f1c 0x00002f1c 0x0000003c Code RO 2613 i.uart_set_divisors a31g12x_hal_uartn.o - 0x00002f58 0x00002f58 0x00000040 Code RO 2719 i.usart_set_divisors a31g12x_hal_usart1n.o - 0x00002f98 0x00002f98 0x00000020 Data RO 3995 Region$$Table anon$$obj.o - - - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00002fb8, Size: 0x00000860, Max: 0x00001800, ABSOLUTE) + 0x00000000 0x00000000 0x000000b0 Data RO 3036 RESET startup_a31g12x.o + 0x000000b0 0x000000b0 0x00000000 Code RO 3750 * .ARM.Collect$$$$00000000 mc_p.l(entry.o) + 0x000000b0 0x000000b0 0x00000004 Code RO 4041 .ARM.Collect$$$$00000001 mc_p.l(entry2.o) + 0x000000b4 0x000000b4 0x00000004 Code RO 4044 .ARM.Collect$$$$00000004 mc_p.l(entry5.o) + 0x000000b8 0x000000b8 0x00000000 Code RO 4046 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o) + 0x000000b8 0x000000b8 0x00000000 Code RO 4048 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o) + 0x000000b8 0x000000b8 0x00000008 Code RO 4049 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o) + 0x000000c0 0x000000c0 0x00000004 Code RO 4056 .ARM.Collect$$$$0000000E mc_p.l(entry12b.o) + 0x000000c4 0x000000c4 0x00000000 Code RO 4051 .ARM.Collect$$$$0000000F mc_p.l(entry10a.o) + 0x000000c4 0x000000c4 0x00000000 Code RO 4053 .ARM.Collect$$$$00000011 mc_p.l(entry11a.o) + 0x000000c4 0x000000c4 0x00000004 Code RO 4042 .ARM.Collect$$$$00002712 mc_p.l(entry2.o) + 0x000000c8 0x000000c8 0x0000001c Code RO 3037 .text startup_a31g12x.o + 0x000000e4 0x000000e4 0x0000002c Code RO 3753 .text mc_p.l(uidiv.o) + 0x00000110 0x00000110 0x00000028 Code RO 3755 .text mc_p.l(idiv.o) + 0x00000138 0x00000138 0x00000024 Code RO 3764 .text mc_p.l(memcpya.o) + 0x0000015c 0x0000015c 0x00000024 Code RO 3766 .text mc_p.l(memseta.o) + 0x00000180 0x00000180 0x0000007c Code RO 4035 .text mf_p.l(fdiv.o) + 0x000001fc 0x000001fc 0x00000032 Code RO 4039 .text mf_p.l(ffixi.o) + 0x0000022e 0x0000022e 0x00000060 Code RO 4058 .text mc_p.l(uldiv.o) + 0x0000028e 0x0000028e 0x00000000 Code RO 4066 .text mc_p.l(iusefp.o) + 0x0000028e 0x0000028e 0x00000082 Code RO 4067 .text mf_p.l(fepilogue.o) + 0x00000310 0x00000310 0x00000168 Code RO 4069 .text mf_p.l(dadd.o) + 0x00000478 0x00000478 0x000000d0 Code RO 4071 .text mf_p.l(dmul.o) + 0x00000548 0x00000548 0x000000f0 Code RO 4073 .text mf_p.l(ddiv.o) + 0x00000638 0x00000638 0x00000040 Code RO 4075 .text mf_p.l(dfixul.o) + 0x00000678 0x00000678 0x00000028 Code RO 4077 .text mf_p.l(cdrcmple.o) + 0x000006a0 0x000006a0 0x00000024 Code RO 4079 .text mc_p.l(init.o) + 0x000006c4 0x000006c4 0x00000020 Code RO 4081 .text mc_p.l(llshl.o) + 0x000006e4 0x000006e4 0x00000022 Code RO 4083 .text mc_p.l(llushr.o) + 0x00000706 0x00000706 0x00000026 Code RO 4085 .text mc_p.l(llsshr.o) + 0x0000072c 0x0000072c 0x000000be Code RO 4087 .text mf_p.l(depilogue.o) + 0x000007ea 0x000007ea 0x00000056 Code RO 4099 .text mc_p.l(__dczerorl2.o) + 0x00000840 0x00000840 0x00000002 Code RO 1289 i.Action_Down_Key_Push action_process.o + 0x00000842 0x00000842 0x00000002 PAD + 0x00000844 0x00000844 0x00000054 Code RO 1290 i.Action_Initialization action_process.o + 0x00000898 0x00000898 0x000000b4 Code RO 1291 i.Action_Mode_Key_Push action_process.o + 0x0000094c 0x0000094c 0x000000ec Code RO 1292 i.Action_PowerOn_Init_Process action_process.o + 0x00000a38 0x00000a38 0x000000f0 Code RO 1293 i.Action_PowerOn_Process action_process.o + 0x00000b28 0x00000b28 0x00000028 Code RO 1294 i.Action_Power_Off_Key_Push_Callback action_process.o + 0x00000b50 0x00000b50 0x00000020 Code RO 1295 i.Action_Power_Off_Key_Set action_process.o + 0x00000b70 0x00000b70 0x0000002c Code RO 1296 i.Action_Power_On_Key_Push_Callback action_process.o + 0x00000b9c 0x00000b9c 0x00000020 Code RO 1297 i.Action_Power_On_Key_Set action_process.o + 0x00000bbc 0x00000bbc 0x00000024 Code RO 1298 i.Action_Process action_process.o + 0x00000be0 0x00000be0 0x00000002 Code RO 1299 i.Action_Set_Key_Push action_process.o + 0x00000be2 0x00000be2 0x00000002 Code RO 1300 i.Action_Up_Key_Push action_process.o + 0x00000be4 0x00000be4 0x0000002c Code RO 1415 i.Buzzer_Initialization buzzer.o + 0x00000c10 0x00000c10 0x00000024 Code RO 1416 i.Buzzer_On buzzer.o + 0x00000c34 0x00000c34 0x00000050 Code RO 1417 i.Buzzer_Output_Process buzzer.o + 0x00000c84 0x00000c84 0x0000000e Code RO 686 i.Delay_I2C_Delay gpio_i2c.o + 0x00000c92 0x00000c92 0x00000002 PAD + 0x00000c94 0x00000c94 0x00000014 Code RO 345 i.Delay_ms systick_timer.o + 0x00000ca8 0x00000ca8 0x00000098 Code RO 1369 i.EEPROM_Read_SettingValue eeprom.o + 0x00000d40 0x00000d40 0x000000ac Code RO 1370 i.EEPROM_Write_SettingValue eeprom.o + 0x00000dec 0x00000dec 0x00000010 Code RO 1371 i.FlashMEM_Clock_Initialization eeprom.o + 0x00000dfc 0x00000dfc 0x00000014 Code RO 1372 i.FlashMem_Do_PageEr eeprom.o + 0x00000e10 0x00000e10 0x00000018 Code RO 1373 i.FlashMem_Do_PageWt eeprom.o + 0x00000e28 0x00000e28 0x00000040 Code RO 697 i.GPIO_I2C2_Initialization gpio_i2c.o + 0x00000e68 0x00000e68 0x00000094 Code RO 698 i.GPIO_I2C2_Read gpio_i2c.o + 0x00000efc 0x00000efc 0x0000004c Code RO 699 i.GPIO_I2C2_Start gpio_i2c.o + 0x00000f48 0x00000f48 0x00000040 Code RO 700 i.GPIO_I2C2_Stop gpio_i2c.o + 0x00000f88 0x00000f88 0x00000094 Code RO 701 i.GPIO_I2C2_Write gpio_i2c.o + 0x0000101c 0x0000101c 0x00000048 Code RO 451 i.Gpio_Led_OutputSet gpio_state_led.o + 0x00001064 0x00001064 0x0000006c Code RO 452 i.Gpio_StateLed_Initialization gpio_state_led.o + 0x000010d0 0x000010d0 0x00000144 Code RO 494 i.Gpio_Switch_Check_Process gpio_switch.o + 0x00001214 0x00001214 0x00000078 Code RO 495 i.Gpio_Switch_Port_Initialization gpio_switch.o + 0x0000128c 0x0000128c 0x00000020 Code RO 496 i.Gpio_Switch_TestCallback gpio_switch.o + 0x000012ac 0x000012ac 0x00000028 Code RO 497 i.Gpio_Swtich_Set_Callback gpio_switch.o + 0x000012d4 0x000012d4 0x00000020 Code RO 498 i.Gpio_Swtich_Set_PushCount gpio_switch.o + 0x000012f4 0x000012f4 0x0000000e Code RO 1731 i.HAL_CRC_Init a31g12x_hal_crc.o + 0x00001302 0x00001302 0x00000002 PAD + 0x00001304 0x00001304 0x00000060 Code RO 1886 i.HAL_FMC_FlashEntry a31g12x_hal_fmc.o + 0x00001364 0x00001364 0x00000038 Code RO 1887 i.HAL_FMC_FlashExit a31g12x_hal_fmc.o + 0x0000139c 0x0000139c 0x000001a8 Code RO 1888 i.HAL_FMC_FlashFunction a31g12x_hal_fmc.o + 0x00001544 0x00001544 0x00000040 Code RO 1889 i.HAL_FMC_PageErase a31g12x_hal_fmc.o + 0x00001584 0x00001584 0x00000040 Code RO 1890 i.HAL_FMC_PageWrite a31g12x_hal_fmc.o + 0x000015c4 0x000015c4 0x00000004 Code RO 2190 i.HAL_GPIO_ClearPin a31g12x_hal_pcu.o + 0x000015c8 0x000015c8 0x00000044 Code RO 2191 i.HAL_GPIO_ConfigFunction a31g12x_hal_pcu.o + 0x0000160c 0x0000160c 0x00000046 Code RO 2193 i.HAL_GPIO_ConfigOutput a31g12x_hal_pcu.o + 0x00001652 0x00001652 0x0000001e Code RO 2194 i.HAL_GPIO_ConfigPullup a31g12x_hal_pcu.o + 0x00001670 0x00001670 0x00000008 Code RO 2196 i.HAL_GPIO_ReadPin a31g12x_hal_pcu.o + 0x00001678 0x00001678 0x00000016 Code RO 2197 i.HAL_GPIO_SetDebouncePin a31g12x_hal_pcu.o + 0x0000168e 0x0000168e 0x00000004 Code RO 2198 i.HAL_GPIO_SetPin a31g12x_hal_pcu.o + 0x00001692 0x00001692 0x00000002 PAD + 0x00001694 0x00001694 0x00000010 Code RO 2086 i.HAL_INT_EInt_MaskDisable a31g12x_hal_intc.o + 0x000016a4 0x000016a4 0x0000003c Code RO 2297 i.HAL_SCU_ClockMonitoring a31g12x_hal_scu.o + 0x000016e0 0x000016e0 0x00000024 Code RO 2302 i.HAL_SCU_ClockSource_Enable a31g12x_hal_scu.o + 0x00001704 0x00001704 0x0000000c Code RO 2305 i.HAL_SCU_Peripheral_ClockConfig a31g12x_hal_scu.o + 0x00001710 0x00001710 0x00000020 Code RO 2307 i.HAL_SCU_Peripheral_EnableClock1 a31g12x_hal_scu.o + 0x00001730 0x00001730 0x00000020 Code RO 2308 i.HAL_SCU_Peripheral_EnableClock2 a31g12x_hal_scu.o + 0x00001750 0x00001750 0x0000001c Code RO 2311 i.HAL_SCU_Peripheral_SetReset2 a31g12x_hal_scu.o + 0x0000176c 0x0000176c 0x00000014 Code RO 2317 i.HAL_SCU_SystemClockChange a31g12x_hal_scu.o + 0x00001780 0x00001780 0x0000000c Code RO 2318 i.HAL_SCU_SystemClockDivider a31g12x_hal_scu.o + 0x0000178c 0x0000178c 0x00000026 Code RO 2474 i.HAL_TIMER1n_Cmd a31g12x_hal_timer1n.o + 0x000017b2 0x000017b2 0x00000038 Code RO 2475 i.HAL_TIMER1n_ConfigInterrupt a31g12x_hal_timer1n.o + 0x000017ea 0x000017ea 0x00000002 PAD + 0x000017ec 0x000017ec 0x00000168 Code RO 2477 i.HAL_TIMER1n_Init a31g12x_hal_timer1n.o + 0x00001954 0x00001954 0x0000004c Code RO 2697 i.HAL_UART_ConfigInterrupt a31g12x_hal_uartn.o + 0x000019a0 0x000019a0 0x0000001e Code RO 2698 i.HAL_UART_ConfigStructInit a31g12x_hal_uartn.o + 0x000019be 0x000019be 0x00000002 PAD + 0x000019c0 0x000019c0 0x00000104 Code RO 2704 i.HAL_UART_Init a31g12x_hal_uartn.o + 0x00001ac4 0x00001ac4 0x00000074 Code RO 2705 i.HAL_UART_Receive a31g12x_hal_uartn.o + 0x00001b38 0x00001b38 0x00000008 Code RO 2706 i.HAL_UART_ReceiveByte a31g12x_hal_uartn.o + 0x00001b40 0x00001b40 0x00000080 Code RO 2707 i.HAL_UART_Transmit a31g12x_hal_uartn.o + 0x00001bc0 0x00001bc0 0x00000010 Code RO 2708 i.HAL_UART_TransmitByte a31g12x_hal_uartn.o + 0x00001bd0 0x00001bd0 0x00000014 Code RO 2800 i.HAL_USART_CheckBusy a31g12x_hal_usart1n.o + 0x00001be4 0x00001be4 0x0000003a Code RO 2801 i.HAL_USART_ClearStatus a31g12x_hal_usart1n.o + 0x00001c1e 0x00001c1e 0x0000004c Code RO 2802 i.HAL_USART_ConfigInterrupt a31g12x_hal_usart1n.o + 0x00001c6a 0x00001c6a 0x0000006a Code RO 2803 i.HAL_USART_DataControlConfig a31g12x_hal_usart1n.o + 0x00001cd4 0x00001cd4 0x00000026 Code RO 2805 i.HAL_USART_Enable a31g12x_hal_usart1n.o + 0x00001cfa 0x00001cfa 0x00000008 Code RO 2806 i.HAL_USART_GetStatus a31g12x_hal_usart1n.o + 0x00001d02 0x00001d02 0x00000002 PAD + 0x00001d04 0x00001d04 0x000000f4 Code RO 2807 i.HAL_USART_Init a31g12x_hal_usart1n.o + 0x00001df8 0x00001df8 0x00000072 Code RO 2808 i.HAL_USART_Receive a31g12x_hal_usart1n.o + 0x00001e6a 0x00001e6a 0x00000008 Code RO 2809 i.HAL_USART_ReceiveByte a31g12x_hal_usart1n.o + 0x00001e72 0x00001e72 0x00000028 Code RO 2810 i.HAL_USART_SPI_Mode_Config a31g12x_hal_usart1n.o + 0x00001e9a 0x00001e9a 0x00000084 Code RO 2811 i.HAL_USART_Transmit a31g12x_hal_usart1n.o + 0x00001f1e 0x00001f1e 0x00000010 Code RO 2812 i.HAL_USART_TransmitByte a31g12x_hal_usart1n.o + 0x00001f2e 0x00001f2e 0x00000022 Code RO 2813 i.HAL_USART_UART_Mode_Config a31g12x_hal_usart1n.o + 0x00001f50 0x00001f50 0x00000004 Code RO 1 i.HardFault_Handler a31g12x_interrupt.o + 0x00001f54 0x00001f54 0x0000003c Code RO 706 i.I2C2_Read gpio_i2c.o + 0x00001f90 0x00001f90 0x0000002e Code RO 707 i.I2C2_Write gpio_i2c.o + 0x00001fbe 0x00001fbe 0x00000002 Code RO 2 i.NMI_Handler a31g12x_interrupt.o + 0x00001fc0 0x00001fc0 0x00000078 Code RO 38 i.NVIC_SetPriority a31g12x_systemclock.o + 0x00002038 0x00002038 0x00000078 Code RO 538 i.NVIC_SetPriority uart1.o + 0x000020b0 0x000020b0 0x00000078 Code RO 647 i.NVIC_SetPriority timer12.o + 0x00002128 0x00002128 0x00000078 Code RO 1590 i.NVIC_SetPriority usart11_rs485.o + 0x000021a0 0x000021a0 0x00000002 Code RO 3 i.PendSV_Handler a31g12x_interrupt.o + 0x000021a2 0x000021a2 0x00000002 PAD + 0x000021a4 0x000021a4 0x000000a8 Code RO 1256 i.RTC_Get_IC_Time_Process rtc_process.o + 0x0000224c 0x0000224c 0x00000014 Code RO 1257 i.RTC_Get_Time rtc_process.o + 0x00002260 0x00002260 0x00000018 Code RO 1258 i.RTC_Process_Initialization rtc_process.o + 0x00002278 0x00002278 0x0000003e Code RO 381 i.RingBuffer_Dequeue ring_buffer.o + 0x000022b6 0x000022b6 0x00000040 Code RO 382 i.RingBuffer_Enqueue ring_buffer.o + 0x000022f6 0x000022f6 0x0000000e Code RO 383 i.RingBuffer_GetData ring_buffer.o + 0x00002304 0x00002304 0x00000032 Code RO 384 i.RingBuffer_Get_DataSize ring_buffer.o + 0x00002336 0x00002336 0x00000026 Code RO 385 i.RingBuffer_Initialization ring_buffer.o + 0x0000235c 0x0000235c 0x00000026 Code RO 386 i.RingBuffer_PopData ring_buffer.o + 0x00002382 0x00002382 0x00000012 Code RO 387 i.RingBuffer_isEmpty ring_buffer.o + 0x00002394 0x00002394 0x00000024 Code RO 388 i.RingBuffer_isFull ring_buffer.o + 0x000023b8 0x000023b8 0x000000f4 Code RO 832 i.SPI10_Initialization spi10.o + 0x000024ac 0x000024ac 0x000000bc Code RO 1552 i.SPI13_Initialization spi13.o + 0x00002568 0x00002568 0x0000003c Code RO 1555 i.SPI13_Transmit spi13.o + 0x000025a4 0x000025a4 0x00000002 Code RO 4 i.SVC_Handler a31g12x_interrupt.o + 0x000025a6 0x000025a6 0x00000002 PAD + 0x000025a8 0x000025a8 0x00000080 Code RO 311 i.SW_Timer_Callback_Process sw_timer.o + 0x00002628 0x00002628 0x00000054 Code RO 312 i.SW_Timer_Callback_Register sw_timer.o + 0x0000267c 0x0000267c 0x000000d0 Code RO 608 i.Segemet_Output_Process segment_74hc595d.o + 0x0000274c 0x0000274c 0x00000020 Code RO 1468 i.Segment_All_Set_Data segment.o + 0x0000276c 0x0000276c 0x00000048 Code RO 609 i.Segment_Initialization segment_74hc595d.o + 0x000027b4 0x000027b4 0x00000010 Code RO 610 i.Segment_Output_Data segment_74hc595d.o + 0x000027c4 0x000027c4 0x00000158 Code RO 1470 i.Segment_Show_SensorData segment.o + 0x0000291c 0x0000291c 0x00000080 Code RO 1471 i.Segment_Show_Time segment.o + 0x0000299c 0x0000299c 0x00000080 Code RO 1472 i.Segment_Show_Version segment.o + 0x00002a1c 0x00002a1c 0x00000028 Code RO 453 i.State_Led_Off gpio_state_led.o + 0x00002a44 0x00002a44 0x00000028 Code RO 454 i.State_Led_On gpio_state_led.o + 0x00002a6c 0x00002a6c 0x00000084 Code RO 455 i.State_Led_Output_Process gpio_state_led.o + 0x00002af0 0x00002af0 0x00000028 Code RO 346 i.SysTick_Handler systick_timer.o + 0x00002b18 0x00002b18 0x00000024 Code RO 3044 i.SystemInit system_a31g12x.o + 0x00002b3c 0x00002b3c 0x00000050 Code RO 39 i.System_Clock_Initialization a31g12x_systemclock.o + 0x00002b8c 0x00002b8c 0x00000058 Code RO 40 i.Systick_Initialization a31g12x_systemclock.o + 0x00002be4 0x00002be4 0x00000034 Code RO 648 i.TIMER12_Handler timer12.o + 0x00002c18 0x00002c18 0x0000005c Code RO 649 i.Timer12_Initialization timer12.o + 0x00002c74 0x00002c74 0x0000000c Code RO 650 i.Timer12_Set_Match_Interrupt_Callback timer12.o + 0x00002c80 0x00002c80 0x00000028 Code RO 539 i.UART1_Handler uart1.o + 0x00002ca8 0x00002ca8 0x00000020 Code RO 1591 i.USART11_Handler usart11_rs485.o + 0x00002cc8 0x00002cc8 0x00000014 Code RO 540 i.Uart1_Get_RecvData uart1.o + 0x00002cdc 0x00002cdc 0x00000010 Code RO 541 i.Uart1_Get_RecvDataCount uart1.o + 0x00002cec 0x00002cec 0x000000c0 Code RO 542 i.Uart1_Initialization uart1.o + 0x00002dac 0x00002dac 0x00000034 Code RO 543 i.Uart1_Receive_Handler uart1.o + 0x00002de0 0x00002de0 0x00000014 Code RO 544 i.Uart1_Transmit uart1.o + 0x00002df4 0x00002df4 0x00000038 Code RO 546 i.Uart1_Transmit_Process uart1.o + 0x00002e2c 0x00002e2c 0x0000001c Code RO 1519 i.Uart_Packet_Initialization uart_packet.o + 0x00002e48 0x00002e48 0x00000144 Code RO 1520 i.Uart_Packet_Make_Process uart_packet.o + 0x00002f8c 0x00002f8c 0x00000096 Code RO 1521 i.Uart_Packet_Process uart_packet.o + 0x00003022 0x00003022 0x00000002 PAD + 0x00003024 0x00003024 0x000000e4 Code RO 1594 i.Usart11_Initialization usart11_rs485.o + 0x00003108 0x00003108 0x00000034 Code RO 1595 i.Usart11_Receive_Handler usart11_rs485.o + 0x0000313c 0x0000313c 0x00000020 Code RO 1597 i.Usart11_TransmitData usart11_rs485.o + 0x0000315c 0x0000315c 0x0000007c Code RO 1598 i.Usart11_Transmit_Process usart11_rs485.o + 0x000031d8 0x000031d8 0x00000020 Code RO 4005 i.__0printf mc_p.l(printfa.o) + 0x000031f8 0x000031f8 0x0000002e Code RO 4089 i.__ARM_clz mf_p.l(depilogue.o) + 0x00003226 0x00003226 0x0000001c Code RO 637 i.__ARM_common_switch8 segment_74hc595d.o + 0x00003242 0x00003242 0x0000000e Code RO 4093 i.__scatterload_copy mc_p.l(handlers.o) + 0x00003250 0x00003250 0x00000002 Code RO 4094 i.__scatterload_null mc_p.l(handlers.o) + 0x00003252 0x00003252 0x0000000e Code RO 4095 i.__scatterload_zeroinit mc_p.l(handlers.o) + 0x00003260 0x00003260 0x00000174 Code RO 4012 i._fp_digits mc_p.l(printfa.o) + 0x000033d4 0x000033d4 0x000006f0 Code RO 4013 i._printf_core mc_p.l(printfa.o) + 0x00003ac4 0x00003ac4 0x00000020 Code RO 4014 i._printf_post_padding mc_p.l(printfa.o) + 0x00003ae4 0x00003ae4 0x0000002c Code RO 4015 i._printf_pre_padding mc_p.l(printfa.o) + 0x00003b10 0x00003b10 0x00000014 Code RO 921 i.a_ds3231_bcd2hex driver_ds3231.o + 0x00003b24 0x00003b24 0x00000022 Code RO 922 i.a_ds3231_hex2bcd driver_ds3231.o + 0x00003b46 0x00003b46 0x00000024 Code RO 923 i.a_ds3231_iic_multiple_read driver_ds3231.o + 0x00003b6a 0x00003b6a 0x0000001e Code RO 924 i.a_ds3231_iic_write driver_ds3231.o + 0x00003b88 0x00003b88 0x00000034 Code RO 926 i.ds3231_aging_offset_convert_to_register driver_ds3231.o + 0x00003bbc 0x00003bbc 0x0000001c Code RO 1128 i.ds3231_basic_get_time driver_ds3231_basic.o + 0x00003bd8 0x00003bd8 0x00000294 Code RO 1131 i.ds3231_basic_init driver_ds3231_basic.o + 0x00003e6c 0x00003e6c 0x0000001c Code RO 1132 i.ds3231_basic_set_time driver_ds3231_basic.o + 0x00003e88 0x00003e88 0x0000004c Code RO 928 i.ds3231_deinit driver_ds3231.o + 0x00003ed4 0x00003ed4 0x0000010c Code RO 940 i.ds3231_get_time driver_ds3231.o + 0x00003fe0 0x00003fe0 0x000001ec Code RO 942 i.ds3231_init driver_ds3231.o + 0x000041cc 0x000041cc 0x00000002 Code RO 1200 i.ds3231_interface_debug_print driver_ds3231_interface_template.o + 0x000041ce 0x000041ce 0x0000000c Code RO 1201 i.ds3231_interface_delay_ms driver_ds3231_interface_template.o + 0x000041da 0x000041da 0x00000004 Code RO 1202 i.ds3231_interface_iic_deinit driver_ds3231_interface_template.o + 0x000041de 0x000041de 0x00000004 Code RO 1203 i.ds3231_interface_iic_init driver_ds3231_interface_template.o + 0x000041e2 0x000041e2 0x00000022 Code RO 1204 i.ds3231_interface_iic_read driver_ds3231_interface_template.o + 0x00004204 0x00004204 0x0000002e Code RO 1205 i.ds3231_interface_iic_write driver_ds3231_interface_template.o + 0x00004232 0x00004232 0x00000002 PAD + 0x00004234 0x00004234 0x00000054 Code RO 1206 i.ds3231_interface_receive_callback driver_ds3231_interface_template.o + 0x00004288 0x00004288 0x000000ac Code RO 944 i.ds3231_set_32khz_output driver_ds3231.o + 0x00004334 0x00004334 0x00000058 Code RO 945 i.ds3231_set_aging_offset driver_ds3231.o + 0x0000438c 0x0000438c 0x000000b0 Code RO 948 i.ds3231_set_alarm_interrupt driver_ds3231.o + 0x0000443c 0x0000443c 0x000000b4 Code RO 949 i.ds3231_set_oscillator driver_ds3231.o + 0x000044f0 0x000044f0 0x000000ac Code RO 950 i.ds3231_set_pin driver_ds3231.o + 0x0000459c 0x0000459c 0x000000ac Code RO 952 i.ds3231_set_square_wave driver_ds3231.o + 0x00004648 0x00004648 0x00000514 Code RO 953 i.ds3231_set_time driver_ds3231.o + 0x00004b5c 0x00004b5c 0x00000010 Code RO 288 i.fputc dbg_printf.o + 0x00004b6c 0x00004b6c 0x00000080 Code RO 187 i.main main.o + 0x00004bec 0x00004bec 0x0000000c Code RO 347 i.millis systick_timer.o + 0x00004bf8 0x00004bf8 0x0000001c Code RO 188 i.timer_test main.o + 0x00004c14 0x00004c14 0x0000003c Code RO 2709 i.uart_set_divisors a31g12x_hal_uartn.o + 0x00004c50 0x00004c50 0x00000040 Code RO 2815 i.usart_set_divisors a31g12x_hal_usart1n.o + 0x00004c90 0x00004c90 0x00000026 Data RO 1474 .constdata segment.o + 0x00004cb6 0x00004cb6 0x00000002 PAD + 0x00004cb8 0x00004cb8 0x00000020 Data RO 4091 Region$$Table anon$$obj.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00004cd8, Size: 0x00000a98, Max: 0x00001800, ABSOLUTE, COMPRESSED[0x00000044]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x00002fb8 0x00000008 Data RW 344 .data systick_timer.o - 0x20000008 0x00002fc0 0x00000040 Data RW 451 .data gpio_state_led.o - 0x20000048 0x00003000 0x00000024 Data RW 490 .data gpio_switch.o - 0x2000006c 0x00003024 0x00000010 Data RW 599 .data segment_74hc595d.o - 0x2000007c 0x00003034 0x00000004 Data RW 638 .data timer12.o - 0x20000080 0x00003038 0x00000008 Data RW 1246 .data rtc_process.o - 0x20000088 0x00003040 0x0000000c Data RW 1355 .data buzzer.o - 0x20000094 0x0000304c 0x00000003 Data RW 1532 .data uart_packet.o - 0x20000097 0x0000304f 0x00000001 PAD - 0x20000098 0x00003050 0x0000000c Data RW 2615 .data a31g12x_hal_uartn.o - 0x200000a4 0x0000305c 0x00000004 Data RW 2720 .data a31g12x_hal_usart1n.o - 0x200000a8 0x00003060 0x0000001c Data RW 2949 .data system_a31g12x.o - 0x200000c4 - 0x000000a0 Zero RW 310 .bss sw_timer.o - 0x20000164 - 0x00000154 Zero RW 534 .bss uart1.o - 0x200002b8 - 0x00000020 Zero RW 1122 .bss driver_ds3231_basic.o - 0x200002d8 - 0x00000020 Zero RW 1422 .bss segment.o - 0x200002f8 - 0x00000064 Zero RW 1531 .bss uart_packet.o - 0x2000035c 0x0000307c 0x00000004 PAD - 0x20000360 - 0x00000500 Zero RW 2938 STACK startup_a31g12x.o + 0x20000000 COMPRESSED 0x00000008 Data RW 348 .data systick_timer.o + 0x20000008 COMPRESSED 0x0000008c Data RW 456 .data gpio_state_led.o + 0x20000094 COMPRESSED 0x00000090 Data RW 499 .data gpio_switch.o + 0x20000124 COMPRESSED 0x00000010 Data RW 612 .data segment_74hc595d.o + 0x20000134 COMPRESSED 0x00000004 Data RW 651 .data timer12.o + 0x20000138 COMPRESSED 0x00000008 Data RW 1259 .data rtc_process.o + 0x20000140 COMPRESSED 0x0000000c Data RW 1418 .data buzzer.o + 0x2000014c COMPRESSED 0x00000003 Data RW 1523 .data uart_packet.o + 0x2000014f COMPRESSED 0x00000001 PAD + 0x20000150 COMPRESSED 0x00000010 Data RW 1891 .data a31g12x_hal_fmc.o + 0x20000160 COMPRESSED 0x0000000c Data RW 2711 .data a31g12x_hal_uartn.o + 0x2000016c COMPRESSED 0x00000004 Data RW 2816 .data a31g12x_hal_usart1n.o + 0x20000170 COMPRESSED 0x0000001c Data RW 3045 .data system_a31g12x.o + 0x2000018c COMPRESSED 0x00000004 Data RW 4057 .data mc_p.l(stdout.o) + 0x20000190 - 0x000000a0 Zero RW 314 .bss sw_timer.o + 0x20000230 - 0x00000154 Zero RW 547 .bss uart1.o + 0x20000384 - 0x00000020 Zero RW 1135 .bss driver_ds3231_basic.o + 0x200003a4 - 0x00000014 Zero RW 1301 .bss action_process.o + 0x200003b8 - 0x00000082 Zero RW 1374 .bss eeprom.o + 0x2000043a - 0x0000000a Zero RW 1473 .bss segment.o + 0x20000444 - 0x00000064 Zero RW 1522 .bss uart_packet.o + 0x200004a8 - 0x000000f0 Zero RW 1599 .bss usart11_rs485.o + 0x20000598 - 0x00000500 Zero RW 3034 STACK startup_a31g12x.o @@ -2347,7 +2579,7 @@ Memory Map of the image Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x1ffff200 0x1ffff200 0x00000044 Code RO 2983 .ARM.__AT_0x1FFFF200 option_a31g12x.o + 0x1ffff200 0x1ffff200 0x00000044 Code RO 3079 .ARM.__AT_0x1FFFF200 option_a31g12x.o @@ -2357,7 +2589,7 @@ Memory Map of the image Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x1ffff400 0x1ffff400 0x00000080 Code RO 2984 .ARM.__AT_0x1FFFF400 option_a31g12x.o + 0x1ffff400 0x1ffff400 0x00000080 Code RO 3080 .ARM.__AT_0x1FFFF400 option_a31g12x.o @@ -2367,7 +2599,7 @@ Memory Map of the image Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x1ffff600 0x1ffff600 0x00000080 Code RO 2985 .ARM.__AT_0x1FFFF600 option_a31g12x.o + 0x1ffff600 0x1ffff600 0x00000080 Code RO 3081 .ARM.__AT_0x1FFFF600 option_a31g12x.o ============================================================================== @@ -2379,48 +2611,52 @@ Image component sizes 0 0 0 0 0 2184 a31g12x_hal_adc.o 14 0 0 0 0 491 a31g12x_hal_crc.o + 704 166 0 16 0 4189 a31g12x_hal_fmc.o 16 4 0 0 0 507 a31g12x_hal_intc.o 206 0 0 0 0 4837 a31g12x_hal_pcu.o 232 54 0 0 0 4444 a31g12x_hal_scu.o 454 28 0 0 0 3039 a31g12x_hal_timer1n.o 694 32 0 12 0 9205 a31g12x_hal_uartn.o - 558 44 0 4 0 5550 a31g12x_hal_usart1n.o + 958 44 0 4 0 10485 a31g12x_hal_usart1n.o 10 0 0 0 0 3109 a31g12x_interrupt.o - 288 36 0 0 0 424063 a31g12x_systemclock.o - 22 6 0 0 0 828 action_process.o + 288 36 0 0 0 425323 a31g12x_systemclock.o + 930 118 0 0 20 7004 action_process.o 160 38 0 12 0 1596 buzzer.o + 16 0 0 0 0 536 dbg_printf.o 3268 1366 0 0 0 11951 driver_ds3231.o 716 352 0 0 32 2636 driver_ds3231_basic.o 186 50 0 0 0 4702 driver_ds3231_interface_template.o - 16 0 0 0 0 460 eeprom.o - 748 36 0 0 0 5794 gpio_i2c.o - 36 4 0 0 0 473 gpio_sensor.o - 244 40 0 64 0 2148 gpio_state_led.o - 376 16 0 36 0 1958 gpio_switch.o - 118 8 0 0 0 8592 main.o + 384 42 0 0 130 3941 eeprom.o + 620 28 0 0 0 4848 gpio_i2c.o + 392 38 0 140 0 3820 gpio_state_led.o + 548 48 0 144 0 3869 gpio_switch.o + 156 10 0 0 0 8640 main.o 324 324 0 0 0 648 option_a31g12x.o 320 0 0 0 0 5599 ring_buffer.o - 112 8 0 8 0 1105 rtc_process.o - 0 0 0 0 32 689 segment.o - 780 70 0 16 0 5065 segment_74hc595d.o + 212 58 0 8 0 2096 rtc_process.o + 632 36 38 0 10 2865 segment.o + 324 42 0 16 0 4001 segment_74hc595d.o 244 10 0 0 0 751 spi10.o + 248 12 0 0 0 1692 spi13.o 28 8 176 0 1280 628 startup_a31g12x.o 212 10 0 0 160 2057 sw_timer.o 36 14 0 28 0 1270 system_a31g12x.o 72 20 0 8 0 1920 systick_timer.o 276 32 0 4 0 2242 timer12.o - 496 80 0 0 340 11182 uart1.o + 516 86 0 0 340 11659 uart1.o 502 24 0 3 100 2757 uart_packet.o + 588 78 0 0 240 4718 usart11_rs485.o ---------------------------------------------------------------------- - 11782 2714 208 196 1948 534480 Object Totals + 15508 3208 248 396 2312 566259 Object Totals 0 0 32 0 0 0 (incl. Generated) - 18 0 0 1 4 0 (incl. Padding) + 22 0 2 1 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + 86 0 0 0 0 0 __dczerorl2.o 0 0 0 0 0 0 entry.o 0 0 0 0 0 0 entry10a.o 0 0 0 0 0 0 entry11a.o @@ -2434,26 +2670,38 @@ Image component sizes 40 0 0 0 0 72 idiv.o 36 8 0 0 0 68 init.o 0 0 0 0 0 0 iusefp.o + 32 0 0 0 0 68 llshl.o + 38 0 0 0 0 68 llsshr.o + 34 0 0 0 0 68 llushr.o 36 0 0 0 0 60 memcpya.o 36 0 0 0 0 100 memseta.o + 2256 98 0 0 0 412 printfa.o + 0 0 0 4 0 0 stdout.o 44 0 0 0 0 72 uidiv.o + 96 0 0 0 0 84 uldiv.o + 40 2 0 0 0 68 cdrcmple.o + 360 6 0 0 0 140 dadd.o + 240 6 0 0 0 84 ddiv.o + 236 0 0 0 0 216 depilogue.o + 64 10 0 0 0 68 dfixul.o + 208 6 0 0 0 88 dmul.o 124 0 0 0 0 72 fdiv.o 130 0 0 0 0 144 fepilogue.o 50 0 0 0 0 60 ffixi.o ---------------------------------------------------------------------- - 550 16 0 0 0 648 Library Totals + 4240 144 0 4 0 2012 Library Totals 0 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 246 16 0 0 0 372 mc_p.l - 304 0 0 0 0 276 mf_p.l + 2788 114 0 4 0 1072 mc_p.l + 1452 30 0 0 0 940 mf_p.l ---------------------------------------------------------------------- - 550 16 0 0 0 648 Library Totals + 4240 144 0 4 0 2012 Library Totals ---------------------------------------------------------------------- @@ -2462,15 +2710,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 12332 2730 208 196 1948 529692 Grand Totals - 12332 2730 208 196 1948 529692 ELF Image Totals - 12332 2730 208 196 0 0 ROM Totals + 19748 3352 248 400 2312 560259 Grand Totals + 19748 3352 248 68 2312 560259 ELF Image Totals (compressed) + 19748 3352 248 68 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 12540 ( 12.25kB) - Total RW Size (RW Data + ZI Data) 2144 ( 2.09kB) - Total ROM Size (Code + RO Data + RW Data) 12736 ( 12.44kB) + Total RO Size (Code + RO Data) 19996 ( 19.53kB) + Total RW Size (RW Data + ZI Data) 2712 ( 2.65kB) + Total ROM Size (Code + RO Data + RW Data) 20064 ( 19.59kB) ==============================================================================