diff --git a/Document/Specification/이산화탄소센서.ppt b/Document/Specification/이산화탄소센서.ppt
index 734583f..3ce5c2f 100644
Binary files a/Document/Specification/이산화탄소센서.ppt and b/Document/Specification/이산화탄소센서.ppt differ
diff --git a/Project/.vscode/settings.json b/Project/.vscode/settings.json
index fdb33a4..bd7224b 100644
--- a/Project/.vscode/settings.json
+++ b/Project/.vscode/settings.json
@@ -1,5 +1,6 @@
{
"files.associations": {
- "driver_ds3231.h": "c"
+ "driver_ds3231.h": "c",
+ "board_config.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 bb40339..d599eb9 100644
--- a/Project/A31G12x_Co2_Sensor_Logger.uvguix.Imbis
+++ b/Project/A31G12x_Co2_Sensor_Logger.uvguix.Imbis
@@ -20,12 +20,12 @@
346
Code Coverage
- 1410 816
+ 1410 820
204
Performance Analyzer
- 1570 235 235 186
+ 1660 235 235 100
@@ -101,17 +101,17 @@
-1
- 0
- 1625
- 2578
- 556
+ 314
+ 1314
+ 2267
+ 870
0
- 2215
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001300000012000000010000004D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C616374696F6E5F70726F636573732E680000000010616374696F6E5F70726F636573732E6800000000C5D4F200FFFFFFFF4D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C616374696F6E5F70726F636573732E630000000010616374696F6E5F70726F636573732E6300000000FFDC7800FFFFFFFF48443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C736176655F66696C652E63000000000B736176655F66696C652E6300000000BECEA100FFFFFFFF43443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF4A443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F7377697463682E63000000000D6770696F5F7377697463682E6300000000BCA8E100FFFFFFFF46443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C74696D657231322E63000000000974696D657231322E63000000009CC1B600FFFFFFFF5F443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6472697665725F6473333233315F696E746572666163655F74656D706C6174652E6300000000226472697665725F6473333233315F696E746572666163655F74656D706C6174652E6300000000F7B88600FFFFFFFF5C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C53444B5F56325F355F305C4465766963655C537461727475705C737461727475705F413331473132782E730000000011737461727475705F413331473132782E7300000000D9ADC200FFFFFFFF47443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C73775F74696D65722E63000000000A73775F74696D65722E6300000000A5C2D700FFFFFFFF44443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C75617274312E63000000000775617274312E6300000000B3A6BE00FFFFFFFF4C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C7379737469636B5F74696D65722E63000000000F7379737469636B5F74696D65722E6300000000EAD6A300FFFFFFFF47443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F6932632E63000000000A6770696F5F6932632E6300000000F6FA7D00FFFFFFFF47443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F6932632E68000000000A6770696F5F6932632E6800000000B5E99D00FFFFFFFF4F443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C7365676D656E745F37346863353935642E6300000000127365676D656E745F37346863353935642E63000000005FC3CF00FFFFFFFF46443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C7365676D656E742E6300000000097365676D656E742E6300000000C1838300FFFFFFFF4D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6770696F5F73746174655F6C65642E6300000000106770696F5F73746174655F6C65642E6300000000CACAD500FFFFFFFF5C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C53444B5F56325F355F305C447269766572735C536F757263655C413331473132785F68616C5F7063752E630000000011413331473132785F68616C5F7063752E6300000000C5D4F200FFFFFFFF45443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C646566696E652E680000000008646566696E652E6800000000FFDC7800FFFFFFFF4C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C757361727431315F72733438352E63000000000F757361727431315F72733438352E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004401000066000000000A000064020000
+ 697
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000020000000100000043443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF5C443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C53444B5F56325F355F305C4465766963655C537461727475705C737461727475705F413331473132782E730000000011737461727475705F413331473132782E7300000000FFDC7800FFFFFFFF4D443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C616374696F6E5F70726F636573732E630000000010616374696F6E5F70726F636573732E6300000000BECEA100FFFFFFFF45443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C656570726F6D2E630000000008656570726F6D2E6300000000F0A0A100FFFFFFFF48443A5C576F726B696E675C4769745F436C6F6E655C535F436F325F53656E736F725F4C6F676765725C50726F6A6563745C4170706C69636174696F6E5C6B63645F68703130302E63000000000B6B63645F68703130302E6300000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004401000066000000000A000064020000
@@ -530,7 +530,7 @@
0
16
- 0300000068020000FD0900000C040000
+ 0300000068020000FD090000D7030000
16
@@ -1150,7 +1150,7 @@
0
16
- 03000000660000003D010000FF010000
+ 03000000660000003D01000034020000
16
@@ -1170,7 +1170,7 @@
0
16
- 0300000068020000FD0900000C040000
+ 0300000068020000FD090000D7030000
16
@@ -1190,7 +1190,7 @@
0
16
- 0300000068020000FD0900000C040000
+ 0300000068020000FD090000D7030000
16
@@ -1250,7 +1250,7 @@
0
16
- 0300000068020000FD0900000C040000
+ 0300000068020000FD090000D7030000
16
@@ -1270,7 +1270,7 @@
0
16
- 0300000068020000FD0900000C040000
+ 0300000068020000FD090000D7030000
16
@@ -1799,7 +1799,7 @@
3312
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000E000000070070000E4000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000440100006600000070070000F7000000440100004F00000070070000E00000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000030020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000047020000300600004F000000700700003002000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100004D020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000400100002F020000000000004F000000400100004D0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001C020000700700002002000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003702000070070000DC020000000000002002000070070000C502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB803000020020000BC030000C502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004D020000000A00005102000001000000010000100400000001000000F9FCFFFF8F000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000033020000000A0000070400000000000051020000000A0000F00300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000E000000070070000E4000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000440100006600000070070000F7000000440100004F00000070070000E00000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000030020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000047020000300600004F000000700700003002000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100004D020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000004001000064020000000000004F000000400100004D0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001C020000700700002002000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003702000070070000DC020000000000002002000070070000C502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB803000020020000BC030000C502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004D020000000A00005102000001000000010000100400000001000000F9FCFFFF8F000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000068020000000A0000070400000000000051020000000A0000F00300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
@@ -1871,11 +1871,11 @@
0
16
- 440100004F000000000A0000E0000000
+ 440100004F000000000A000050000000
16
- 4401000066000000000A0000F7000000
+ 4401000066000000000A000067000000
@@ -1891,7 +1891,7 @@
0
16
- 03000000660000003D010000D6010000
+ 03000000660000003D01000006030000
16
@@ -1911,7 +1911,7 @@
0
16
- 03000000660000003D010000F4020000
+ 03000000660000003D0100006F010000
16
@@ -1931,7 +1931,7 @@
0
16
- 070500000A020000FD090000D7030000
+ 060500003A030000FD090000D7030000
16
@@ -1951,7 +1951,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -1971,7 +1971,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -1991,7 +1991,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2031,7 +2031,7 @@
0
16
- 4701000066000000FD090000C7000000
+ 4701000066000000FD09000066000000
16
@@ -2051,7 +2051,7 @@
0
16
- 070500000A020000FD090000D7030000
+ 060500003A030000FD090000D7030000
16
@@ -2071,7 +2071,7 @@
0
16
- 070500000A020000FD090000D7030000
+ 060500003A030000FD090000D7030000
16
@@ -2091,7 +2091,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2111,7 +2111,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2131,7 +2131,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2151,7 +2151,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2171,7 +2171,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2191,7 +2191,7 @@
0
16
- 03000000660000003D010000F4020000
+ 03000000660000003D0100006F010000
16
@@ -2211,7 +2211,7 @@
0
16
- 03000000660000003D010000F4020000
+ 03000000660000003D0100006F010000
16
@@ -2251,7 +2251,7 @@
0
16
- 00000000F301000000050000F0030000
+ 0000000023030000FF040000F0030000
16
@@ -2291,7 +2291,7 @@
0
16
- 4401000063000000000A0000E0000000
+ 4401000063000000000A000063000000
16
@@ -2311,7 +2311,7 @@
0
16
- 4701000066000000FD090000C7000000
+ 4701000066000000FD09000066000000
16
@@ -2371,7 +2371,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2391,7 +2391,7 @@
0
16
- 4701000066000000FD090000C7000000
+ 4701000066000000FD09000066000000
16
@@ -2411,7 +2411,7 @@
0
16
- 4701000066000000FD090000C7000000
+ 4701000066000000FD09000066000000
16
@@ -2431,7 +2431,7 @@
0
16
- 4701000066000000FD090000C7000000
+ 4701000066000000FD09000066000000
16
@@ -2451,7 +2451,7 @@
0
16
- 4701000066000000FD090000C7000000
+ 4701000066000000FD09000066000000
16
@@ -2891,7 +2891,7 @@
0
16
- 03000000660000003D010000D6010000
+ 03000000660000003D01000006030000
16
@@ -2951,7 +2951,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -2971,7 +2971,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -3031,7 +3031,7 @@
0
16
- 4701000066000000FD090000C7000000
+ 4701000066000000FD09000066000000
16
@@ -3531,7 +3531,7 @@
0
16
- 070500000A020000FD090000B9020000
+ 060500003A030000FD0900006E050000
16
@@ -3540,14 +3540,14 @@
3311
- 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF44010000E0000000000A0000E4000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000004401000066000000000A0000F7000000440100004F000000000A0000E00000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000030020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000047020000300600004F000000700700003002000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F00000044010000EF010000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000004001000024030000000000004F00000040010000EF0100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000EF010000000A0000F301000001000000010000100400000001000000DCFDFFFF7A00000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000010000000405000028030000000A00000704000004050000F3010000000A0000F003000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFF00050000F301000004050000F003000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000300200007007000034020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004B02000070070000DC020000000000003402000070070000C50200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF4401000050000000000A000054000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000004401000066000000000A000067000000440100004F000000000A0000500000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000030020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000047020000300600004F000000700700003002000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100001F030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000400100009F010000000000004F000000400100001F0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000001F030000000A00002303000001000000010000100400000001000000D1FEFFFFFF01000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000100000003050000A3010000000A0000070400000305000023030000000A0000F003000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFFFF0400002303000003050000F003000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000300200007007000034020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004B02000070070000DC020000000000003402000070070000C50200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
2978
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001973656E736972696F6E5F693263305F77726974655F64617461960000000000000014001973656E736972696F6E5F693263305F77726974655F646174611E436F6E74726F6C5F496E666F2E69734D6F6462757344617461577269746507636F6E74726F6C1A626F6F74556172745F496E746572727570745F48616E646C657204707573680E75735469636B436F756E7444697605766F696420046469736B09665F756E6D6F756E7407665F6D6F756E740B54696D655365745F4461790C73636434785F7365745F74652173636434785F693263325F726561645F6D6561737572656D656E745F7469636B730E73636434785F726561645F6D65610C73636434785F6765745F74650E696E7431365F742073636434785F07696E7431365F741373656E736972696F6E5F6932635F77726974651F73656E736972696F6E5F6932635F726561645F646174615F696E706C6163652073656E736972696F6E5F693263325F726561645F646174615F696E706C6163650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001973656E736972696F6E5F693263305F77726974655F64617461960000000000000014001973656E736972696F6E5F693263305F77726974655F646174611E436F6E74726F6C5F496E666F2E69734D6F6462757344617461577269746507636F6E74726F6C1A626F6F74556172745F496E746572727570745F48616E646C657204707573680E75735469636B436F756E7444697605766F696420046469736B09665F756E6D6F756E7407665F6D6F756E740B54696D655365745F4461790C73636434785F7365745F74652173636434785F693263325F726561645F6D6561737572656D656E745F7469636B730E73636434785F726561645F6D65610C73636434785F6765745F74650E696E7431365F742073636434785F07696E7431365F741373656E736972696F6E5F6932635F77726974651F73656E736972696F6E5F6932635F726561645F646174615F696E706C6163652073656E736972696F6E5F693263325F726561645F646174615F696E706C6163650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -3579,7 +3579,7 @@
Debug
2362
- 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -3603,66 +3603,12 @@
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
-
+ 2
.\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
+ 28
+ 33
1
0
@@ -3670,107 +3616,35 @@
.\SDK_V2_5_0\Device\Startup\startup_A31G12x.s
0
- 118
+ 124
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
+ .\Application\action_process.c
+ 28
+ 16
+ 32
1
0
- .\SDK_V2_5_0\Drivers\Source\A31G12x_hal_pcu.c
- 1
- 306
- 311
+ .\Application\eeprom.c
+ 47
+ 108
+ 132
1
0
- .\Application\define.h
+ .\Application\kcd_hp100.c
0
- 1
- 2
- 1
-
- 0
-
-
- .\Application\usart11_rs485.c
- 43
- 1
- 18
+ 135
+ 160
1
0
diff --git a/Project/A31G12x_Co2_Sensor_Logger.uvoptx b/Project/A31G12x_Co2_Sensor_Logger.uvoptx
index 9c38a7c..1ddbd55 100644
--- a/Project/A31G12x_Co2_Sensor_Logger.uvoptx
+++ b/Project/A31G12x_Co2_Sensor_Logger.uvoptx
@@ -152,18 +152,18 @@
0
0
- 132
+ 403
1
- 3244
+ 2750
0
0
0
0
0
1
- .\Application\gpio_switch.c
+ .\Application\action_process.c
- \\S_DustSensorView\Application/gpio_switch.c\132
+ \\S_DustSensorView\Application/action_process.c\403
@@ -177,6 +177,16 @@
1
Gpio_Led_Ctrl_Info
+
+ 2
+ 1
+ KCD_HP100_Result
+
+
+ 3
+ 1
+ eeprom_info,0x0A
+
0
@@ -601,6 +611,18 @@
0
0
+
+ 1
+ 32
+ 1
+ 0
+ 0
+ 0
+ .\Application\kcd_hp100.c
+ kcd_hp100.c
+ 0
+ 0
+
@@ -611,7 +633,7 @@
0
2
- 32
+ 33
1
0
0
@@ -623,7 +645,7 @@
2
- 33
+ 34
1
0
0
@@ -635,7 +657,7 @@
2
- 34
+ 35
1
0
0
@@ -647,7 +669,7 @@
2
- 35
+ 36
1
0
0
@@ -659,7 +681,7 @@
2
- 36
+ 37
1
0
0
@@ -671,7 +693,7 @@
2
- 37
+ 38
1
0
0
@@ -683,7 +705,7 @@
2
- 38
+ 39
1
0
0
@@ -695,7 +717,7 @@
2
- 39
+ 40
1
0
0
@@ -707,7 +729,7 @@
2
- 40
+ 41
1
0
0
@@ -719,7 +741,7 @@
2
- 41
+ 42
1
0
0
@@ -731,7 +753,7 @@
2
- 42
+ 43
1
0
0
@@ -743,7 +765,7 @@
2
- 43
+ 44
1
0
0
@@ -755,7 +777,7 @@
2
- 44
+ 45
1
0
0
@@ -767,7 +789,7 @@
2
- 45
+ 46
1
0
0
@@ -779,7 +801,7 @@
2
- 46
+ 47
1
0
0
@@ -791,7 +813,7 @@
2
- 47
+ 48
1
0
0
@@ -803,7 +825,7 @@
2
- 48
+ 49
1
0
0
@@ -815,7 +837,7 @@
2
- 49
+ 50
1
0
0
@@ -835,7 +857,7 @@
0
3
- 50
+ 51
2
0
0
@@ -855,7 +877,7 @@
0
4
- 51
+ 52
5
0
0
@@ -867,7 +889,7 @@
4
- 52
+ 53
1
0
0
@@ -879,7 +901,7 @@
4
- 53
+ 54
5
0
0
@@ -899,7 +921,7 @@
0
5
- 54
+ 55
2
0
0
@@ -919,7 +941,7 @@
0
6
- 55
+ 56
1
0
0
@@ -931,7 +953,7 @@
6
- 56
+ 57
1
0
0
@@ -943,7 +965,7 @@
6
- 57
+ 58
1
0
0
@@ -955,7 +977,7 @@
6
- 58
+ 59
1
0
0
@@ -967,7 +989,7 @@
6
- 59
+ 60
1
0
0
@@ -979,7 +1001,7 @@
6
- 60
+ 61
1
0
0
diff --git a/Project/A31G12x_Co2_Sensor_Logger.uvprojx b/Project/A31G12x_Co2_Sensor_Logger.uvprojx
index 3fa3086..3973a9b 100644
--- a/Project/A31G12x_Co2_Sensor_Logger.uvprojx
+++ b/Project/A31G12x_Co2_Sensor_Logger.uvprojx
@@ -538,6 +538,11 @@
1
.\Application\usart11_rs485.c
+
+ kcd_hp100.c
+ 1
+ .\Application\kcd_hp100.c
+
diff --git a/Project/Application/action_process.c b/Project/Application/action_process.c
index 6cb1b29..a731411 100644
--- a/Project/Application/action_process.c
+++ b/Project/Application/action_process.c
@@ -6,13 +6,14 @@
#include "eeprom.h"
#include "buzzer.h"
#include "segment.h"
+#include "save_file.h"
+#include "kcd_hp100.h"
#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
@@ -39,42 +40,54 @@ typedef enum _control_step
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 isInitView;
bool isActionRun;
CONTROL_STEP Step;
uint32_t StartTickCount;
- uint32_t Co2_Now;
- uint32_t Co2_MaxValue;
- uint32_t Co2_MinValue;
+ uint32_t GetSensorDataTickCount;
+ uint32_t returnMainViewTickCount;
+ uint16_t Co2_Now;
+ uint16_t Co2_MaxValue;
+ uint16_t Co2_MinValue;
+ uint16_t Co2_TempValue;
+ SET_INDEX SetIndex;
+
+
+
+ uint16_t Co2_TempMax;
+ uint16_t Co2_TempMin;
}CONTROL_INFO;
-static CONTROL_INFO Control_Info;
+uint8_t SaveCheckSec = 0xFF;
+uint16_t SaveSensorIndex;
+uint16_t SaveSensorCo2[100];
+
+
+
+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_Get_SensorData(void);
+static void Action_Get_SensorReadProcess(void);
+static void Action_SaveSensorData(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);
@@ -86,6 +99,8 @@ static void Action_Set_Key_Push(void);
static void Action_Up_Key_Push(void);
static void Action_Down_Key_Push(void);
+static void Action_ReturnMainViewCheck(void);
+
#if 0
static void Action_PowerKey_Push(void);
@@ -170,6 +185,7 @@ static void Action_PowerOn_Init_Process(void)
break;
case CONTROL_STEP_INIT_COMPLETE:
Control_Info.isInitView = true;
+ Control_Info.Step = CONTROL_STEP_ACTION_IDLE;
break;
}
}
@@ -183,16 +199,23 @@ static void Action_PowerOn_Process(void)
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);
+ Gpio_Led_OutputSet(GPIO_LED_D3, GPIO_LED_MODE_OFF, 0, 0);
+ GPIO_SENSOR_PWR_ON;
+ SaveCheckSec = 0xFF;
+ Action_Get_SensorData();
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.Co2_TempMax = 0;
+ Control_Info.Co2_TempMin = 0xFFFF;
+ printf("Data, Time, Average(Now)_Co2, Max_Co2, Min_Co2\r\n");
Control_Info.Step = CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA;
break;
- case CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA:
+ case CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA:
Segment_Show_Time();
Segment_Show_SensorData(Control_Info.Co2_Now);
break;
@@ -205,20 +228,31 @@ static void Action_PowerOn_Process(void)
Segment_Show_SensorData(Control_Info.Co2_MinValue);
break;
- case CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA:
- break;
+ case CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA:
case CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA:
+ Segment_Show_Time();
+ Segment_Show_SettingData(Control_Info.SetIndex, Control_Info.Co2_TempValue);
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);
+ 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_OFF, 0, 0);
+ GPIO_SENSOR_PWR_OFF;
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.Step = CONTROL_STEP_ACTION_IDLE;
Control_Info.isActionRun = false;
+ return;
break;
}
+
+
+ ////////////////////////////////////////
+ Action_Get_SensorReadProcess();
+ Action_ReturnMainViewCheck();
}
static void Action_Power_On_Key_Set(void)
@@ -238,17 +272,134 @@ 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");
+ Control_Info.Step = CONTROL_STEP_INIT;
}
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");
+ Control_Info.Step = CONTROL_STEP_ACTION_RUN_COMPLETE;
+}
+
+static void Action_Get_SensorData(void)
+{
+ Control_Info.GetSensorDataTickCount = millis();
+ KCD_HP100_Tx_Get_MeasurmentData();
+}
+
+static void Action_Get_SensorReadProcess(void)
+{
+ KCD_HP100_STATE nowSensorState = KCD_HP100_GetState();
+
+ if(nowSensorState == KCD_HP100_SUCCESS)
+ {
+ KCD_HP100_Get_Co2((uint16_t *)&Control_Info.Co2_Now);
+ }
+ else if(nowSensorState == KCD_HP100_ERROR_TIMEOUT)
+ {
+ Control_Info.Co2_Now = 0xFFFF;
+ }
+
+ if(millis() - Control_Info.GetSensorDataTickCount >= ACTION_SENSOR_READ_INTERVAL)
+ {
+ if(nowSensorState == KCD_HP100_SUCCESS)
+ {
+ RTC_TIME nowTime;
+ nowTime = RTC_Get_Time();
+
+ if(Control_Info.Co2_TempMax < Control_Info.Co2_Now)
+ Control_Info.Co2_TempMax = Control_Info.Co2_Now;
+
+ if(Control_Info.Co2_TempMin > Control_Info.Co2_Now)
+ Control_Info.Co2_TempMin = Control_Info.Co2_Now;
+
+ printf("Now, %04d-%02d-%02d %02d:%02d:%02d, %d, %d, %d\r\n", nowTime.rtc_Year, nowTime.rtc_Month, nowTime.rtc_Date, nowTime.rtc_Hour, nowTime.rtc_Min, nowTime.rtc_Sec, Control_Info.Co2_Now, Control_Info.Co2_TempMax, Control_Info.Co2_TempMin);
+ }
+
+ Action_Get_SensorData();
+ }
+ Action_SaveSensorData();
+}
+
+static void Action_SaveSensorData(void)
+{
+ RTC_TIME nowTime;
+ nowTime = RTC_Get_Time();
+
+ if(SaveCheckSec != nowTime.rtc_Sec)
+ {
+ SaveCheckSec = nowTime.rtc_Sec;
+ if(nowTime.rtc_Sec == 0)
+ {
+ if(Control_Info.Co2_Now != 0xFFFF){
+ SaveSensorCo2[SaveSensorIndex++] = Control_Info.Co2_Now;
+ }
+
+
+
+ if(nowTime.rtc_Min % 5 == 0)
+ {
+ if(SaveSensorIndex >= 5)
+ {
+ uint8_t i;
+ uint16_t Sum_Co2, Max_Co2, Min_Co2;
+ Max_Co2 = 0;
+ Min_Co2 = 0xFFFF;
+ Sum_Co2 = 0;
+
+ for(i = 0 ; i < SaveSensorIndex ; i++)
+ {
+ Sum_Co2 += SaveSensorCo2[i];
+
+ if(SaveSensorCo2[i] >= Max_Co2)
+ {
+ Max_Co2 = SaveSensorCo2[i];
+ }
+
+ if(SaveSensorCo2[i] <= Min_Co2)
+ {
+ Min_Co2 = SaveSensorCo2[i];
+ }
+ }
+ Sum_Co2 -= Max_Co2;
+ Sum_Co2 -= Min_Co2;
+ Sum_Co2 /= (SaveSensorIndex - 2);
+ printf("Save, %04d-%02d-%02d %02d:%02d:%02d, %d, %d, %d\r\n", nowTime.rtc_Year, nowTime.rtc_Month, nowTime.rtc_Date, nowTime.rtc_Hour, nowTime.rtc_Min, nowTime.rtc_Sec, Sum_Co2, Max_Co2, Min_Co2);
+ if(Save_SensorData_SDCard(Sum_Co2, Max_Co2, Min_Co2, 0xFF) == false)
+ {
+
+ }
+ }
+ SaveSensorIndex = 0;
+ }
+ }
+ }
+}
+
+
+
+
+static void Action_ReturnMainViewCheck(void)
+{
+ if(Control_Info.Step != CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA)
+ {
+ if(millis() - Control_Info.returnMainViewTickCount >= ACTION_RETURN_MAINVIEW_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);
+ Control_Info.returnMainViewTickCount = millis();
+ Control_Info.Step = CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA;
+ }
+ }
}
+
+
+
+
+
+
static void Action_Mode_Key_Push(void)
{
switch(Control_Info.Step)
@@ -258,6 +409,7 @@ static void Action_Mode_Key_Push(void)
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.returnMainViewTickCount = millis();
Control_Info.Step = CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA;
break;
case CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA:
@@ -265,6 +417,7 @@ static void Action_Mode_Key_Push(void)
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.returnMainViewTickCount = millis();
Control_Info.Step = CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA;
break;
case CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA:
@@ -272,24 +425,157 @@ static void Action_Mode_Key_Push(void)
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.returnMainViewTickCount = millis();
Control_Info.Step = CONTROL_STEP_ACTION_RUN_NOW_SENSOR_DATA;
break;
+ case CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA:
+ case CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA:
+ Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT);
+ switch(Control_Info.SetIndex)
+ {
+ case SET_1000:
+ case SET_100:
+ case SET_10:
+ Control_Info.SetIndex++;
+ break;
+ case SET_1:
+ Control_Info.SetIndex = SET_1000;
+ break;
+ }
+ break;
}
}
static void Action_Set_Key_Push(void)
{
-
+ if(Control_Info.Step == CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA){
+ Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT);
+ Control_Info.Co2_TempValue = Control_Info.Co2_MaxValue;
+ Control_Info.SetIndex = SET_1000;
+ Control_Info.returnMainViewTickCount = millis();
+ Control_Info.Step = CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA;
+ }
+ else if(Control_Info.Step == CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA){
+
+ Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT);
+ Control_Info.Co2_TempValue = Control_Info.Co2_MinValue;
+ Control_Info.SetIndex = SET_1000;
+ Control_Info.returnMainViewTickCount = millis();
+ Control_Info.Step = CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA;
+ }
+ else if(Control_Info.Step == CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA){
+ Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT);
+ Control_Info.Co2_MaxValue = Control_Info.Co2_TempValue;
+ Control_Info.returnMainViewTickCount = millis();
+ Control_Info.Step = CONTROL_STEP_ACTION_RUN_MAX_SENSOR_DATA;
+ EEPROM_Write_SettingValue(Control_Info.Co2_MaxValue, Control_Info.Co2_MinValue);
+ }
+ else if(Control_Info.Step == CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA){
+ Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT);
+ Control_Info.Co2_MinValue = Control_Info.Co2_TempValue;
+ Control_Info.returnMainViewTickCount = millis();
+ Control_Info.Step = CONTROL_STEP_ACTION_RUN_MIN_SENSOR_DATA;
+ EEPROM_Write_SettingValue(Control_Info.Co2_MaxValue, Control_Info.Co2_MinValue);
+ }
}
static void Action_Up_Key_Push(void)
{
-
+ if(Control_Info.Step == CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA || Control_Info.Step == CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA)
+ {
+ uint16_t temp;
+ Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT);
+ Control_Info.returnMainViewTickCount = millis();
+ switch(Control_Info.SetIndex)
+ {
+ case SET_1000:
+ Control_Info.Co2_TempValue += 1000;
+ if(Control_Info.Co2_TempValue >= 10000){
+ Control_Info.Co2_TempValue -= 10000;
+ }
+ break;
+ case SET_100:
+ temp = Control_Info.Co2_TempValue / 100;
+ temp = temp % 10;
+ if(temp == 9){
+ Control_Info.Co2_TempValue -= 900;
+ }
+ else{
+ Control_Info.Co2_TempValue += 100;
+ }
+ break;
+ case SET_10:
+ temp = Control_Info.Co2_TempValue / 10;
+ temp = temp % 10;
+ if(temp == 9){
+ Control_Info.Co2_TempValue -= 90;
+ }
+ else{
+ Control_Info.Co2_TempValue += 10;
+ }
+ break;
+ case SET_1:
+ temp = Control_Info.Co2_TempValue % 10;
+ if(temp == 9){
+ Control_Info.Co2_TempValue -= 9;
+ }
+ else{
+ Control_Info.Co2_TempValue++;
+ }
+ break;
+ }
+ }
}
static void Action_Down_Key_Push(void)
{
-
+ if(Control_Info.Step == CONTROL_STEP_ACTION_RUN_SET_MAX_SENSOR_DATA || Control_Info.Step == CONTROL_STEP_ACTION_RUN_SET_MIN_SENSOR_DATA)
+ {
+ uint16_t temp;
+ Buzzer_On(DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT);
+ Control_Info.returnMainViewTickCount = millis();
+ switch(Control_Info.SetIndex)
+ {
+ case SET_1000:
+ temp = Control_Info.Co2_TempValue / 1000;
+ if(temp == 0){
+ Control_Info.Co2_TempValue += 9000;
+ }
+ else{
+ Control_Info.Co2_TempValue -= 1000;
+ }
+ break;
+ case SET_100:
+ temp = Control_Info.Co2_TempValue / 100;
+ temp = temp % 10;
+ if(temp == 0){
+ Control_Info.Co2_TempValue += 900;
+ }
+ else{
+ Control_Info.Co2_TempValue -= 100;
+ }
+ break;
+ case SET_10:
+ temp = Control_Info.Co2_TempValue / 10;
+ temp = temp % 10;
+ if(temp == 0){
+ Control_Info.Co2_TempValue += 90;
+ }
+ else{
+ Control_Info.Co2_TempValue -= 10;
+ }
+ break;
+ case SET_1:
+ temp = Control_Info.Co2_TempValue % 10;
+ if(temp == 0){
+ Control_Info.Co2_TempValue += 9;
+ }
+ else{
+ Control_Info.Co2_TempValue--;
+ }
+ break;
+ }
+ }
}
diff --git a/Project/Application/action_process.h b/Project/Application/action_process.h
index cbc9f38..34c81f8 100644
--- a/Project/Application/action_process.h
+++ b/Project/Application/action_process.h
@@ -5,6 +5,14 @@
#include "define.h"
#include "board_config.h"
+typedef enum
+{
+ SET_1000,
+ SET_100,
+ SET_10,
+ SET_1,
+}SET_INDEX;
+
diff --git a/Project/Application/define.h b/Project/Application/define.h
index fb834da..68cdb0b 100644
--- a/Project/Application/define.h
+++ b/Project/Application/define.h
@@ -70,7 +70,9 @@
#define ACTION_LE1_RUN_ON_TIME 500
#define ACTION_LE1_RUN_OFF_TIME 1500
+#define ACTION_SENSOR_READ_INTERVAL 5000
+#define ACTION_RETURN_MAINVIEW_TIME 10000
@@ -93,6 +95,8 @@
#define DEFAULT_KEY_PUSH_BUZZER_TIME_COUNT 80
+#define SEGMENT_TOGGLE_TIME 250
+
#if 0
diff --git a/Project/Application/eeprom.c b/Project/Application/eeprom.c
index 7e447d6..1f7f054 100644
--- a/Project/Application/eeprom.c
+++ b/Project/Application/eeprom.c
@@ -3,7 +3,7 @@
-
+#pragma pack(push, 1)
typedef union _eeprom_info
{
struct
@@ -16,7 +16,7 @@ typedef union _eeprom_info
}eeprom_data;
uint8_t eeprom_buffer[SECTOR_SIZE_BYTE];
}EEPROM_INFO;
-
+#pragma pack(pop)
static EEPROM_INFO eeprom_info;
diff --git a/Project/Application/kcd_hp100.c b/Project/Application/kcd_hp100.c
new file mode 100644
index 0000000..22727a2
--- /dev/null
+++ b/Project/Application/kcd_hp100.c
@@ -0,0 +1,177 @@
+#include "kcd_hp100.h"
+#include "sw_timer.h"
+#include "usart11_rs485.h"
+
+
+#define STX 0x03
+#define ETX 0x04
+#define DEFAULT_DEVICE_ID 31
+#define MEASUREMENT_DATA_SIZE 26
+#define PACKET_RX_TIMEOUT 300
+
+typedef enum
+{
+ PACK_INDEX_STX = 0,
+ PACK_INDEX_SLAVE_ID = 1,
+ PACK_INDEX_SIZE = 2,
+ PACK_INDEX_CHECKSUM = 24,
+ PACK_INDEX_ETX = 25,
+}PACKET_INDEX;
+
+typedef enum
+{
+ CMD_GET_MEASUREMENT_RESULT = 0x0A,
+ CMD_SET_DEVICE_ID = 0x3A,
+ CMD_SET_OUTPUT = 0x3B,
+ CMD_SET_BAUDRATE = 0x3C,
+
+}KCD_HP100_CMD;
+
+#pragma pack(push, 1)
+typedef union _kcd_hp100_rx_info
+{
+ struct
+ {
+ uint8_t Stx;
+ uint8_t Slave_ID;
+ uint8_t PacketSize;
+ uint8_t Command;
+ uint8_t System_Classification_Code;
+ uint8_t System_Name[10];
+ uint16_t Co2;
+ uint16_t Temperature;
+ uint16_t Humidity;
+ uint16_t VOC;
+ uint8_t Firmware_Version;
+ uint8_t CheckSum;
+ uint8_t Etx;
+ }Measurement;
+ uint8_t Rxbuff[26];
+}KCD_HP100_RX_INFO;
+#pragma pack(pop)
+
+
+static uint8_t KCD_HP100_DeviceID;
+static uint8_t KCD_HP100_TxCommand;
+static uint8_t KCD_HP100_RxIndex;
+static uint8_t KCD_HP100_CheckSum;
+static uint32_t KCD_HP100_TimeoutCount;
+static KCD_HP100_STATE KCD_HP100_State;
+static KCD_HP100_RX_INFO KCD_HP100_Result;
+
+
+
+
+
+static uint8_t KCD_HP_Calc_Checksum(uint8_t* pChecksumData, uint8_t DataSize);
+static void KCD_HP_Rx_PacketRecv_Process(void);
+
+
+
+
+
+
+void KCD_HP100_Initialization(void)
+{
+ KCD_HP100_DeviceID = DEFAULT_DEVICE_ID;
+ KCD_HP100_State = KCD_HP100_IDLE;
+ SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 0, KCD_HP_Rx_PacketRecv_Process);
+}
+
+void KCD_HP100_Tx_Get_MeasurmentData(void)
+{
+ uint8_t TxIndex = 0;
+ uint8_t TxBuff[10];
+ uint8_t CheckSum;
+
+ KCD_HP100_State = KCD_HP100_TRANSMIT;
+ KCD_HP100_TimeoutCount = millis();
+ KCD_HP100_TxCommand = CMD_GET_MEASUREMENT_RESULT;
+ KCD_HP100_RxIndex = 0;
+
+
+ TxBuff[TxIndex++] = STX;
+ TxBuff[TxIndex++] = KCD_HP100_DeviceID;
+ TxBuff[TxIndex++] = 0x06;
+
+ TxBuff[TxIndex++] = KCD_HP100_TxCommand;
+ CheckSum = KCD_HP_Calc_Checksum(TxBuff, TxIndex);
+ TxBuff[TxIndex++] = CheckSum;
+ TxBuff[TxIndex++] = ETX;
+
+ Usart11_TransmitData(TxBuff, TxIndex);
+}
+
+
+KCD_HP100_STATE KCD_HP100_GetState(void)
+{
+ return KCD_HP100_State;
+}
+
+bool KCD_HP100_Get_Co2(uint16_t* pGetCo2)
+{
+ if(KCD_HP100_State != KCD_HP100_SUCCESS)
+ return false;
+ *pGetCo2 = KCD_HP100_Result.Measurement.Co2;
+ return true;
+}
+
+
+static uint8_t KCD_HP_Calc_Checksum(uint8_t* pChecksumData, uint8_t DataSize)
+{
+ uint8_t i;
+ uint8_t checksum = 0;
+
+ for(i = 0 ; i < DataSize ; i++)
+ {
+ checksum += pChecksumData[i];
+ }
+
+ return checksum;
+}
+
+static void KCD_HP_Rx_PacketRecv_Process(void)
+{
+ if(Usart11_Get_RecvDataCount() != 0)
+ {
+ uint8_t rxData = Usart11_Get_RecvData();
+
+ if(KCD_HP100_RxIndex == PACK_INDEX_STX && rxData == STX){
+ KCD_HP100_Result.Rxbuff[KCD_HP100_RxIndex++] = rxData;
+ KCD_HP100_CheckSum = rxData;
+ }
+ else if(KCD_HP100_RxIndex == PACK_INDEX_SLAVE_ID && rxData == KCD_HP100_DeviceID){
+ KCD_HP100_Result.Rxbuff[KCD_HP100_RxIndex++] = rxData;
+ KCD_HP100_CheckSum += rxData;
+ }
+ else if(KCD_HP100_RxIndex == PACK_INDEX_SIZE && rxData == MEASUREMENT_DATA_SIZE){
+ KCD_HP100_Result.Rxbuff[KCD_HP100_RxIndex++] = rxData;
+ KCD_HP100_CheckSum += rxData;
+ }
+ else if(KCD_HP100_RxIndex < PACK_INDEX_CHECKSUM){
+ KCD_HP100_Result.Rxbuff[KCD_HP100_RxIndex++] = rxData;
+ KCD_HP100_CheckSum += rxData;
+ }
+ else if(KCD_HP100_RxIndex == PACK_INDEX_CHECKSUM && rxData == KCD_HP100_CheckSum){
+ KCD_HP100_Result.Rxbuff[KCD_HP100_RxIndex++] = rxData;
+ }
+ else if(KCD_HP100_RxIndex == PACK_INDEX_ETX && rxData == ETX){
+ KCD_HP100_Result.Rxbuff[KCD_HP100_RxIndex++] = rxData;
+ KCD_HP100_RxIndex = 0;
+ //dbg_printf("co2 = %d\r\n", KCD_HP100_Result.Measurement.Co2);
+ KCD_HP100_State = KCD_HP100_SUCCESS;
+ }
+ else
+ {
+ KCD_HP100_RxIndex = 0;
+ }
+ }
+
+ if(KCD_HP100_State == KCD_HP100_TRANSMIT)
+ {
+ if((millis() - KCD_HP100_TimeoutCount) >= PACKET_RX_TIMEOUT)
+ {
+ KCD_HP100_State = KCD_HP100_ERROR_TIMEOUT;
+ }
+ }
+}
diff --git a/Project/Application/kcd_hp100.h b/Project/Application/kcd_hp100.h
new file mode 100644
index 0000000..d0f115e
--- /dev/null
+++ b/Project/Application/kcd_hp100.h
@@ -0,0 +1,24 @@
+/** \file kcd_hp100.h */
+#if !defined(KCD_HP100_H__623A6ED1_F4A3_4BF2_99DE_65E7E10882F3__INCLUDED_)
+#define KCD_HP100_H__623A6ED1_F4A3_4BF2_99DE_65E7E10882F3__INCLUDED_
+
+#include "define.h"
+#include "board_config.h"
+
+
+typedef enum
+{
+
+ KCD_HP100_IDLE,
+ KCD_HP100_SUCCESS,
+ KCD_HP100_TRANSMIT,
+ KCD_HP100_ERROR_TIMEOUT,
+}KCD_HP100_STATE;
+
+void KCD_HP100_Initialization(void);
+void KCD_HP100_Tx_Get_MeasurmentData(void);
+
+KCD_HP100_STATE KCD_HP100_GetState(void);
+bool KCD_HP100_Get_Co2(uint16_t* pGetCo2);
+
+#endif
diff --git a/Project/Application/main.c b/Project/Application/main.c
index 66afda1..083f754 100644
--- a/Project/Application/main.c
+++ b/Project/Application/main.c
@@ -2,6 +2,7 @@
#include "sw_timer.h"
#include "gpio_state_led.h"
#include "gpio_switch.h"
+#include "gpio_sensor.h"
#include "uart1.h"
#include "usart11_rs485.h"
#include "spi10.h"
@@ -17,30 +18,11 @@
#include "eeprom.h"
#include "buzzer.h"
#include "uart_packet.h"
+#include "kcd_hp100.h"
void timer_test(void)
{
- 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
}
@@ -62,7 +44,7 @@ int main(void)
Buzzer_Initialization();
-
+ Gpio_Sensor_PWR_Initialization();
Gpio_Switch_Port_Initialization();
Gpio_StateLed_Initialization();
@@ -71,14 +53,16 @@ int main(void)
SPI13_Initialization(1000000, SPI13_MODE0, false);
Segment_Initialization();
+ KCD_HP100_Initialization();
+
Action_Initialization();
__enable_irq();
- SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 250, timer_test);
-
+ //SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 1000, timer_test);
+
while(true)
{
@@ -96,7 +80,7 @@ int main(void)
- Gpio_Sensor_PWR_Initialization();
+
GPIO_I2C0_Initialization();
GPIO_I2C1_Initialization();
diff --git a/Project/Application/rtc_process.c b/Project/Application/rtc_process.c
index ec3041a..3f2b3d3 100644
--- a/Project/Application/rtc_process.c
+++ b/Project/Application/rtc_process.c
@@ -13,6 +13,7 @@ void RTC_Process_Initialization(void)
{
ds3231_basic_init();
SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 1000, RTC_Get_IC_Time_Process);
+ RTC_Get_IC_Time_Process();
}
@@ -31,7 +32,7 @@ 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);
+ //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/save_file.c b/Project/Application/save_file.c
index 3f0f6e1..19e7f74 100644
--- a/Project/Application/save_file.c
+++ b/Project/Application/save_file.c
@@ -27,6 +27,7 @@ static uint32_t SaveFileTickCount;
static uint8_t SaveMin;
static FATFS FatFs; //Fatfs handle
static FIL fil; //File handle
+static DIR dir;
static FRESULT fres; //Result after operations
uint8_t FileBuffer[512];
@@ -38,13 +39,10 @@ static bool isGuidePrint;
static bool isPowerOn;
-bool Save_SensorData_SDCard(void)
+bool Save_SensorData_SDCard(uint16_t AverageCo2, uint16_t MaxCo2, uint16_t MinCo2, uint8_t State)
{
-#if 0
RTC_TIME rtc_time;
- SENSOR_SAVE_DATA SaveSensorData;
uint32_t writeByte;
- rtc_time = RTC_Get_Time();
MX_FATFS_Init();
fres = f_mount(&FatFs, "", 1); //1=mount now
@@ -56,16 +54,32 @@ bool Save_SensorData_SDCard(void)
}
if(fres != FR_OK)
- {
+ {
+ //dbg_printf("sdcard mount errorr\r\n");
return false;
}
-
+ rtc_time = RTC_Get_Time();
+ sprintf((char *)FileBuffer, "%04d%02d%02d", rtc_time.rtc_Year, rtc_time.rtc_Month, rtc_time.rtc_Date);
+ //dbg_printf("open dir = %s\r\n", FileBuffer);
+ fres = f_opendir(&dir, FileBuffer);
+ if(fres != FR_OK)
+ {
+ fres = f_mkdir(FileBuffer);
+ if(fres != FR_OK)
+ {
+ //dbg_printf("create directory error\r\n");
+ return false;
+ }
+ }
- sprintf((char *)FileBuffer, "%d_%d_%d.csv", rtc_time.rtc_Year, rtc_time.rtc_Month, rtc_time.rtc_Date);
+ sprintf((char *)FileBuffer, "/%04d%02d%02d/%02d.csv", rtc_time.rtc_Year, rtc_time.rtc_Month, rtc_time.rtc_Date, rtc_time.rtc_Hour);
if(f_open(&fil, FileBuffer, FA_WRITE | FA_READ) != FR_OK)
{
+ //dbg_printf("file open error, retry\r\n");
if (f_open(&fil, FileBuffer, FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
{
+ //dbg_printf("file open error\r\n");
+ f_closedir(&dir);
return false;
}
else
@@ -78,110 +92,39 @@ bool Save_SensorData_SDCard(void)
isGuidePrint = false;
}
-
-
fres = f_lseek(&fil, f_size(&fil));
if(fres != FR_OK)
{
+ f_closedir(&dir);
f_close(&fil);
return false;
}
+
if(isGuidePrint == true)
- {
- sprintf((char *)FileBuffer, "Time,In_PM10.0,In_PM4.0,In_PM2.5,In_PM1.0,In_Humidity,In_Temp,In_Voc,Out_PM10.0,Out_PM4.0,Out_PM2.5,Out_PM1.0,Out_Humidity,Out_Temp,Out_Voc\r\n");
+ {
+ sprintf((char *)FileBuffer, "Time,Average_Co2,Max_Co2,Min_Co2,State\r\n");
fres = f_write(&fil, FileBuffer, strlen(FileBuffer), &writeByte);
if(fres != FR_OK)
{
+ f_closedir(&dir);
f_close(&fil);
return false;
}
}
- while(Sensor_RingBuffer_Get_DataSize(&Sensor_RingBuffer_Info) != 0)
+ sprintf((char *)FileBuffer, "%d:%d,%d,%d,%d,%d\r\n", rtc_time.rtc_Hour, rtc_time.rtc_Min, AverageCo2, MaxCo2, MinCo2, State);
+ fres = f_write(&fil, FileBuffer, strlen(FileBuffer), &writeByte);
+ if(fres != FR_OK)
{
- if(Sensor_RingBuffer_Dequeue(&Sensor_RingBuffer_Info, &SaveSensorData) == true)
- {
- sprintf((char *)FileBuffer, "%d:%d:%d,", SaveSensorData.rtc_time.rtc_Hour, SaveSensorData.rtc_time.rtc_Min, SaveSensorData.rtc_time.rtc_Sec);
- fres = f_write(&fil, FileBuffer, strlen(FileBuffer), &writeByte);
- if(fres != FR_OK)
- {
- f_close(&fil);
- return false;
- }
-
- if(SaveSensorData.dust_sensor_In_info.isSensorMount == true)
- {
- sprintf((char *)FileBuffer, "%d,%d,%d,%d,%d,%d,%d,", SaveSensorData.dust_sensor_In_info.Dust_PM10p0,
- SaveSensorData.dust_sensor_In_info.Dust_PM4p0,
- SaveSensorData.dust_sensor_In_info.Dust_PM2p5,
- SaveSensorData.dust_sensor_In_info.Dust_PM1p0,
- SaveSensorData.dust_sensor_In_info.Dust_Humidity,
- SaveSensorData.dust_sensor_In_info.Dust_Temperature,
- SaveSensorData.dust_sensor_In_info.Dust_VOC_Index);
- fres = f_write(&fil, FileBuffer, strlen(FileBuffer), &writeByte);
- if(fres != FR_OK)
- {
- f_close(&fil);
- return false;
- }
-
- #if 0
- printf("In,
- #endif
- }
- else
- {
- sprintf((char *)FileBuffer, "-,-,-,-,-,-,-,");
- fres = f_write(&fil, FileBuffer, strlen(FileBuffer), &writeByte);
- if(fres != FR_OK)
- {
- f_close(&fil);
- return false;
- }
- }
-
- if(SaveSensorData.dust_sensor_Out_info.isSensorMount == true)
- {
- sprintf((char *)FileBuffer, "%d,%d,%d,%d,%d,%d,%d\r\n", SaveSensorData.dust_sensor_Out_info.Dust_PM10p0,
- SaveSensorData.dust_sensor_Out_info.Dust_PM4p0,
- SaveSensorData.dust_sensor_Out_info.Dust_PM2p5,
- SaveSensorData.dust_sensor_Out_info.Dust_PM1p0,
- SaveSensorData.dust_sensor_Out_info.Dust_Humidity,
- SaveSensorData.dust_sensor_Out_info.Dust_Temperature,
- SaveSensorData.dust_sensor_Out_info.Dust_VOC_Index);
- fres = f_write(&fil, FileBuffer, strlen(FileBuffer), &writeByte);
- if(fres != FR_OK)
- {
- f_close(&fil);
- return false;
- }
- }
- else
- {
- sprintf((char *)FileBuffer, "-,-,-,-,-,-,-\r\n");
- fres = f_write(&fil, FileBuffer, strlen(FileBuffer), &writeByte);
- if(fres != FR_OK)
- {
- f_close(&fil);
- return false;
- }
- }
-
- }
+ f_closedir(&dir);
+ f_close(&fil);
+ return false;
}
-
-
-
-
-
-
-
-
f_close(&fil);
-#endif
- return true;
+ f_closedir(&dir);
+ return true;
}
diff --git a/Project/Application/save_file.h b/Project/Application/save_file.h
index bb67749..d8d221a 100644
--- a/Project/Application/save_file.h
+++ b/Project/Application/save_file.h
@@ -5,6 +5,6 @@
#include "define.h"
#include "board_config.h"
-bool Save_SensorData_SDCard(void);
+bool Save_SensorData_SDCard(uint16_t AverageCo2, uint16_t MaxCo2, uint16_t MinCo2, uint8_t State);
#endif
diff --git a/Project/Application/segment.c b/Project/Application/segment.c
index 011aeb2..c48b3f3 100644
--- a/Project/Application/segment.c
+++ b/Project/Application/segment.c
@@ -45,22 +45,8 @@ const uint8_t SegmentData[SEG_INDEX_MAX] =
};
-
-
-
uint8_t Segment_OutputBuff[SEGMENT_SELECT_MAX_INDEX][SEGMENT_MAX_DATA_INDEX];
-
-
-
-
-
-
-
-
-
-
-
void Segment_Sensor_Error(void)
{
@@ -68,7 +54,6 @@ void Segment_Sensor_Error(void)
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];
-
}
@@ -146,6 +131,15 @@ void Segment_Show_Time(void)
void Segment_Show_SensorData(uint32_t SensorData)
{
+ if(SensorData == 0xFFFF)
+ {
+ 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];
+ return;
+ }
+
if(SensorData >= 9999)
{
Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_9];
@@ -184,542 +178,52 @@ void Segment_Show_SensorData(uint32_t SensorData)
}
-
-
-
-
-
-#if 0
-
-void Segment_In_Set_PM_1p0(uint32_t OutputData)
-{
- Segment_Toggle_In = false;
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_2] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_2] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_1] = SegmentData[OutputData/1000];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_2] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
-}
-
-void Segment_In_Set_PM_2p5(uint32_t OutputData)
-{
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_2] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_2] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_1] = SegmentData[OutputData/1000];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_2] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
-}
-
-void Segment_In_Set_PM_4p0(uint32_t OutputData)
-{
- Segment_Toggle_In = true;
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_2] = SegmentData[SEG_9];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_2] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_1] = SegmentData[OutputData/1000];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_2] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
-}
-
-void Segment_In_Set_PM_10(uint32_t OutputData)
-{
-
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[OutputData/1000];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[(OutputData%10)];
- }
-}
-
-void Segment_In_Set_Humidity(uint32_t OutputData)
-{
- if(OutputData >= 99)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_1] = SegmentData[SEG_9];
- }
- else if(OutputData <= 9)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_1] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_1] = SegmentData[OutputData%10];
+void Segment_Show_SettingData(SET_INDEX index, uint16_t SensorSetData)
+{
+ uint32_t segment_toggle = millis() % (SEGMENT_TOGGLE_TIME *2);;
+
+ uint8_t temp_1000 = SensorSetData / 1000;
+ uint8_t temp_100 = (SensorSetData / 100) % 10;
+ uint8_t temp_10 = (SensorSetData / 10) % 10;
+ uint8_t temp_1 = SensorSetData % 10;
+
+ if(segment_toggle >= SEGMENT_TOGGLE_TIME)
+ {
+ switch (index)
+ {
+ case SET_1000:
+ Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[SEG_CLEAR];
+ Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[temp_100];
+ Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[temp_10];
+ Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[temp_1];
+ break;
+ case SET_100:
+ Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[temp_1000];
+ Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[SEG_CLEAR];
+ Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[temp_10];
+ Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[temp_1];
+ break;
+ case SET_10:
+ Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[temp_1000];
+ Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[temp_100];
+ Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[SEG_CLEAR];
+ Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[temp_1];
+ break;
+ case SET_1:
+ Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[temp_1000];
+ Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[temp_100];
+ Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[temp_10];
+ Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[SEG_CLEAR];
+ break;
+ }
}
else
{
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_1] = SegmentData[OutputData / 10];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_1] = SegmentData[OutputData % 10];
- }
-}
-
-void Segment_In_Set_Temperature(int32_t OutputData)
-{
- if(OutputData >= 99)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_2] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_2] = SegmentData[SEG_9];
- }
- else if(OutputData <= -10)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_2] = SegmentData[SEG_9];
- }
- else if(OutputData >= -9 && OutputData <= -1)
- {
- int32_t temp = OutputData * -1;
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_2] = SegmentData[temp%10];
+ Segment_OutputBuff[SEGMENT_1000][SEGMENT_F2] = SegmentData[temp_1000];
+ Segment_OutputBuff[SEGMENT_100][SEGMENT_F2] = SegmentData[temp_100];
+ Segment_OutputBuff[SEGMENT_10][SEGMENT_F2] = SegmentData[temp_10];
+ Segment_OutputBuff[SEGMENT_1][SEGMENT_F2] = SegmentData[temp_1];
}
- else if(OutputData <= 9 && OutputData >= 0)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_2] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_2] = SegmentData[OutputData%10];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_2] = SegmentData[OutputData / 10];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_2] = SegmentData[OutputData % 10];
- }
}
-void Segment_Out_Set_PM_1p0(uint32_t OutputData)
-{
- Segment_Toggle_Out = false;
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_4] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_4] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_3] = SegmentData[OutputData/1000];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_4] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
-}
-void Segment_Out_Set_PM_2p5(uint32_t OutputData)
-{
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_4] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_4] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_3] = SegmentData[OutputData/1000];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_4] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
-}
-
-void Segment_Out_Set_PM_4p0(uint32_t OutputData)
-{
- Segment_Toggle_Out = true;
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_4] = SegmentData[SEG_9];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_4] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_3] = SegmentData[OutputData/1000];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_1][SEGMENT_DATA_4] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[DUST_SENSOR_PM40_SELECT_2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
-}
-
-void Segment_Out_Set_PM_10(uint32_t OutputData)
-{
-
- if(OutputData >= 9999)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_4] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_4] = SegmentData[SEG_9];
- }
- else if(OutputData >= 1000)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[OutputData/1000];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 100)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_3] = SegmentData[(OutputData%1000)/100];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else if(OutputData >= 10)
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_4] = SegmentData[(OutputData%100)/10];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_4] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_4] = SegmentData[(OutputData%10)];
- }
-}
-
-void Segment_Out_Set_Humidity(uint32_t OutputData)
-{
- if(OutputData >= 99)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_3] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_3] = SegmentData[SEG_9];
- }
- else if(OutputData <= 9)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_3] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_3] = SegmentData[OutputData%10];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_3] = SegmentData[OutputData / 10];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_3] = SegmentData[OutputData % 10];
- }
-}
-
-void Segment_Out_Set_Temperature(int32_t OutputData)
-{
- if(OutputData >= 99)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_4] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_4] = SegmentData[SEG_9];
- }
- else if(OutputData <= -10)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_4] = SegmentData[SEG_9];
- }
- else if(OutputData >= -9 && OutputData <= -1)
- {
- int32_t temp = OutputData * -1;
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_4] = SegmentData[temp%10];
- }
- else if(OutputData <= 9 && OutputData >= 0)
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_4] = SegmentData[SEG_CLEAR];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_4] = SegmentData[OutputData%10];
- }
- else
- {
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_4] = SegmentData[OutputData / 10];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_4] = SegmentData[OutputData % 10];
- }
-}
-
-
-void Segment_All_Set_Data(uint8_t SegmentData)
-{
- uint8_t i;
- for(i = SEGMENT_F1C1 ; i < SEGMENT_SELECT_MAX_INDEX ; i++)
- {
- Segment_OutputBuff[i][SEGMENT_DATA_1] = SegmentData;
- Segment_OutputBuff[i][SEGMENT_DATA_2] = SegmentData;
- Segment_OutputBuff[i][SEGMENT_DATA_3] = SegmentData;
- Segment_OutputBuff[i][SEGMENT_DATA_4] = SegmentData;
- }
-
-}
-
-
-void Segment_Show_Version(void)
-{
- uint8_t i;
- uint16_t temp;
- for(i = SEGMENT_F1C1 ; i < SEGMENT_SELECT_MAX_INDEX ; i++)
- {
- Segment_OutputBuff[i][SEGMENT_DATA_1] = 0x00;
- Segment_OutputBuff[i][SEGMENT_DATA_2] = 0x00;
- Segment_OutputBuff[i][SEGMENT_DATA_3] = 0x00;
- Segment_OutputBuff[i][SEGMENT_DATA_4] = 0x00;
- }
-
- //Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[SEG_9];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[SEG_V];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[SEG_E];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[SEG_R];
-
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[VERSION_MAJOR] | 0x80;
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_3] = SegmentData[VERSION_MINOR] | 0x80;
- temp = VERSION_PATCH;
- if(temp >= 99)
- {
- temp = 99;
- }
-
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_4] = SegmentData[temp/10];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_4] = SegmentData[temp%10];
-}
-
-
-
-void Segment_Show_Mode(uint8_t Mode)
-{
- uint8_t i;
- uint16_t temp;
- for(i = SEGMENT_F1C1 ; i < SEGMENT_SELECT_MAX_INDEX ; i++)
- {
- Segment_OutputBuff[i][SEGMENT_DATA_1] = 0x00;
- Segment_OutputBuff[i][SEGMENT_DATA_2] = 0x00;
- Segment_OutputBuff[i][SEGMENT_DATA_3] = 0x00;
- Segment_OutputBuff[i][SEGMENT_DATA_4] = 0x00;
- }
-
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[SEG_M];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[SEG_O];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[SEG_D];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[SEG_E];
-
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[Mode];
-
-}
-
-void Segment_In_Sensor_Error(void)
-{
- Segment_Toggle_In = false;
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
-
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
-
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
-
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_1] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_2] = SegmentData[SEG_MINUS];
-}
-
-
-void Segment_Out_Sensor_Error(void)
-{
- Segment_Toggle_Out = false;
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F1C1][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F1C2][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
-
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F2C1][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F2C2][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
-
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F3C1][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F3C2][SEGMENT_DATA_4] = SegmentData[SEG_MINUS];
-
- Segment_OutputBuff[SEGMENT_F4C1][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- Segment_OutputBuff[SEGMENT_F4C2][SEGMENT_DATA_3] = SegmentData[SEG_MINUS];
- 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 36e10aa..a3cafaa 100644
--- a/Project/Application/segment.h
+++ b/Project/Application/segment.h
@@ -2,7 +2,9 @@
#if !defined(SEGMENT_H__CECA83FE_5707_4492_A247_CC6270C87910__INCLUDED_)
#define SEGMENT_H__CECA83FE_5707_4492_A247_CC6270C87910__INCLUDED_
+#include "define.h"
#include "board_config.h"
+#include "action_process.h"
typedef enum
{
@@ -83,5 +85,6 @@ void Segment_All_Set_Data(uint8_t SegmentData);
void Segment_Show_Version(void);
void Segment_Show_Time(void);
void Segment_Show_SensorData(uint32_t SensorData);
+void Segment_Show_SettingData(SET_INDEX index, uint16_t SensorSetData);
#endif
diff --git a/Project/Application/uart1_rs485.c b/Project/Application/uart1_rs485.c
deleted file mode 100644
index 4c4859d..0000000
--- a/Project/Application/uart1_rs485.c
+++ /dev/null
@@ -1,289 +0,0 @@
-#include "uart1_rs485.h"
-#include "sw_timer.h"
-#include "ring_buffer.h"
-#include "gpio_uart_led.h"
-
-
-//#define UARTn_RS485_TX_INTERRUTP_ENABLE
-
-
-#define UARTn_RS485_PERIPHERAL UART1
-#define UARTn_RS485_INTERRUPT_HANDLER UART1_IRQn
-#define UARTn_RS485_INTERRUPT_MASK MSK_UART1
-#define UARTn_RS485_INTERRUPT_PRIORITY 3
-#define UARTn_RS485_TX_PORT PB
-#define UARTn_RS485_TX_PIN_NUM 6
-#define UARTn_RS485_RX_PORT PB
-#define UARTn_RS485_RX_PIN_NUM 7
-
-#define UARTn_RS485_TX_BUFFER_SIZE 100
-#define UARTn_RS485_RX_BUFFER_SIZE 300
-
-
-#define UARTn_RS485_REDE_PORT (Pn_Type*)PC
-#define UARTn_RS485_REDE_NUM 0
-#define UARTn_RS485_RECEIVE HAL_GPIO_ClearPin(UARTn_RS485_REDE_PORT, _BIT(UARTn_RS485_REDE_NUM))
-#define UARTn_RS485_TRANSMIT HAL_GPIO_SetPin(UARTn_RS485_REDE_PORT, _BIT(UARTn_RS485_REDE_NUM))
-
-
-
-static uint8_t Tx_RS485_Buffer[UARTn_RS485_TX_BUFFER_SIZE];
-static uint8_t Rx_RS485_Buffer[UARTn_RS485_RX_BUFFER_SIZE];
-static RING_BUFFER RingBuffer_RS485_Tx;
-static RING_BUFFER RingBuffer_RS485_Rx;
-
-
-#if defined(UARTn_RS485_TX_INTERRUTP_ENABLE)
- static volatile uint8_t Uartn_RS485_TxIntEnable = FALSE;
- static void Uart1_RS485_Init_TransmitSet(void);
-#else
- static void Uart1_RS485_Transmit_Process(void);
-#endif
-
-
-
-static void Uart1_RS485_Receive_Handler(void);
-
-
-void Uart1_RS485_Initialization(uint32_t Baudrate, UARTn_DATA_BIT_Type Databit, UARTn_PARITY_BIT_Type Paritybit, UARTn_STOP_BIT_Type Stopbit)
-{
- UARTn_CFG_Type UARTn_Config;
-
- /*
- * Initialize UART0 pin connect
- */
- HAL_GPIO_ConfigOutput((Pn_Type*)UARTn_RS485_RX_PORT, UARTn_RS485_RX_PIN_NUM, ALTERN_FUNC );
- HAL_GPIO_ConfigFunction((Pn_Type*)UARTn_RS485_RX_PORT, UARTn_RS485_RX_PIN_NUM, AFSRx_AF1 );
- HAL_GPIO_ConfigPullup((Pn_Type*)UARTn_RS485_RX_PORT, UARTn_RS485_RX_PIN_NUM, PUPDx_EnablePU );
-
- HAL_GPIO_ConfigOutput((Pn_Type*)UARTn_RS485_TX_PORT, UARTn_RS485_TX_PIN_NUM, ALTERN_FUNC );
- HAL_GPIO_ConfigFunction((Pn_Type*)UARTn_RS485_TX_PORT, UARTn_RS485_TX_PIN_NUM, AFSRx_AF1 );
-
- // default: 38400-8-N-1
- HAL_UART_ConfigStructInit(&UARTn_Config);
- UARTn_Config.Baudrate = Baudrate;
- UARTn_Config.Databits = Databit;
- UARTn_Config.Parity = Paritybit;
- UARTn_Config.Stopbits = Stopbit;
-
- HAL_UART_Init((UARTn_Type*)UARTn_RS485_PERIPHERAL, &UARTn_Config);
-
-
- HAL_GPIO_ConfigOutput(UARTn_RS485_REDE_PORT, UARTn_RS485_REDE_NUM, PUSH_PULL_OUTPUT);
- HAL_GPIO_ConfigPullup(UARTn_RS485_REDE_PORT, UARTn_RS485_REDE_NUM, PUPDx_EnablePU);
- UARTn_RS485_RECEIVE;
-
- /* Enable UART Rx interrupt */
- HAL_UART_ConfigInterrupt((UARTn_Type*)UARTn_RS485_PERIPHERAL, UARTn_INTCFG_RBR, ENABLE );
-
-#if defined(UARTn_RS485_TX_INTERRUTP_ENABLE)
- // Reset Tx Interrupt state
- Uartn_RS485_TxIntEnable = RESET;
-#else
- SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 0, Uart1_RS485_Transmit_Process);
-#endif
-
- RingBuffer_Initialization(&RingBuffer_RS485_Rx, false, UARTn_RS485_RX_BUFFER_SIZE, &Rx_RS485_Buffer[0]);
- RingBuffer_Initialization(&RingBuffer_RS485_Tx, false, UARTn_RS485_TX_BUFFER_SIZE, &Tx_RS485_Buffer[0]);
-
- NVIC_SetPriority(UARTn_RS485_INTERRUPT_HANDLER, UARTn_RS485_INTERRUPT_PRIORITY);
- NVIC_EnableIRQ(UARTn_RS485_INTERRUPT_HANDLER );
- HAL_INT_EInt_MaskDisable(UARTn_RS485_INTERRUPT_MASK);
-}
-
-
-
-void Uart1_RS485_Transmit(uint8_t TxData)
-{
-#if defined(UARTn_RS485_TX_INTERRUTP_ENABLE)
- /* Temporarily lock out UART transmit interrupts during this read so the UART transmit interrupt won't cause problems with the index values */
- HAL_UART_ConfigInterrupt((UARTn_Type*)UARTn_PERIPHERAL, UARTn_INTCFG_THRE, DISABLE );
-
- RingBuffer_Enqueue(&RingBuffer_Tx, TxData);
-
- /*
- * Check if current Tx interrupt enable is reset,
- * that means the Tx interrupt must be re-enabled
- * due to call IntTransmit() function to trigger
- * this interrupt type
- */
- if(Uartn_RS485_TxIntEnable == RESET)
- {
- Uart1_RS485_Init_TransmitSet();
- }
- /*
- * Otherwise, re-enables Tx Interrupt
- */
- else
- {
- HAL_UART_ConfigInterrupt((UARTn_Type*)UARTn_PERIPHERAL, UARTn_INTCFG_THRE, ENABLE );
- }
-#else
- RingBuffer_Enqueue(&RingBuffer_RS485_Tx, TxData);
-#endif
-}
-
-
-
-void Uart1_RS485_TransmitData(uint8_t* pTxData, uint32_t TxLen)
-{
- uint32_t i;
-#if defined(UARTn_RS485_TX_INTERRUTP_ENABLE)
- HAL_UART_ConfigInterrupt( ( UARTn_Type* )UARTn_RS485_PERIPHERAL, UARTn_INTCFG_THRE, DISABLE );
-
- for(i = 0 ; i < TxLen ; i++)
- RingBuffer_Enqueue(&RingBuffer_Tx, pTxData[i]);
-
- if(Uartn_RS485_TxIntEnable == RESET)
- {
- Uart1_RS485_Init_TransmitSet();
- }
- else
- {
- HAL_UART_ConfigInterrupt( ( UARTn_Type* )UARTn_PERIPHERAL, UARTn_INTCFG_THRE, ENABLE );
- }
-#else
- for(i = 0 ; i < TxLen ; i++)
- RingBuffer_Enqueue(&RingBuffer_RS485_Tx, pTxData[i]);
-#endif
-}
-
-
-#if defined(UARTn_RS485_TX_INTERRUTP_ENABLE)
-static void Uart1_RS485_Init_TransmitSet(void)
-{
- // Disable THRE interrupt
- HAL_UART_ConfigInterrupt( ( UARTn_Type* )UARTn_RS485_PERIPHERAL, UARTn_INTCFG_THRE, DISABLE );
-
- /* Wait until THR empty */
- while( HAL_UART_CheckBusy( ( UARTn_Type* )UARTn_RS485_PERIPHERAL ) == SET );
-
- while(RingBuffer_Get_DataSize(&RingBuffer_Tx) != 0)
- {
- uint8_t TxData;
- RingBuffer_GetData(&RingBuffer_RS485_Tx, &TxData);
-
- if(HAL_UART_Transmit( ( UARTn_Type* )UARTn_RS485_PERIPHERAL, &TxData, 1, NONE_BLOCKING ) )
- {
- /* Update transmit ring FIFO tail pointer */
- RingBuffer_PopData(&RingBuffer_RS485_Tx);
- break;
- }
- else
- {
- break;
- }
- }
-
- /* If there is no more data to send, disable the transmit interrupt - else enable it or keep it enabled */
- if(RingBuffer_Get_DataSize(&RingBuffer_RS485_Tx) == 0)
- {
- HAL_UART_ConfigInterrupt((RingBuffer_RS485_Tx*)UARTn_RS485_PERIPHERAL, UARTn_INTCFG_THRE, DISABLE );
- // Reset Tx Interrupt state
- Uartn_TxIntEnable = RESET;
- }
- else
- {
- // Set Tx Interrupt state
- Uartn_TxIntEnable = SET;
- HAL_UART_ConfigInterrupt((UARTn_Type*)UARTn_RS485_PERIPHERAL, UARTn_INTCFG_THRE, ENABLE );
- }
-}
-#else
-static void Uart1_RS485_Transmit_Process(void)
-{
- if(RingBuffer_Get_DataSize(&RingBuffer_RS485_Tx) != 0)
- {
- uint8_t TxData;
- UARTn_RS485_TRANSMIT;
- GPIO_UART_RS485_TX_LED_ON;
-
- RingBuffer_GetData(&RingBuffer_RS485_Tx, &TxData);
-
- if(HAL_UART_Transmit((UARTn_Type*)UARTn_RS485_PERIPHERAL, &TxData, 1, NONE_BLOCKING))
- {
- /* Update transmit ring FIFO tail pointer */
- RingBuffer_PopData(&RingBuffer_RS485_Tx);
- }
- }
- else
- {
- if(HAL_UART_CheckBusy((UARTn_Type *)UARTn_RS485_PERIPHERAL) == RESET)
- {
- UARTn_RS485_RECEIVE;
- GPIO_UART_RS485_TX_LED_OFF;
- }
- }
-}
-#endif
-
-
-static void Uart1_RS485_Receive_Handler(void)
-{
- uint8_t tmpc;
- uint32_t rLen;
-
- while(1)
- {
- rLen = HAL_UART_Receive((UARTn_Type*)UARTn_RS485_PERIPHERAL, &tmpc, 1, NONE_BLOCKING );
- if (rLen)
- {
- RingBuffer_Enqueue(&RingBuffer_RS485_Rx, tmpc);
- }
- else
- {
- break;
- }
- }
-}
-
-/*********************************************************************//**
- * @brief UART1 interrupt handler sub-routine
- * @param[in] None
- * @return None
- **********************************************************************/
-void UART1_Handler(void)
-{
- uint32_t intsrc, tmp;
-
- /* Determine the interrupt source */
- intsrc = UARTn_RS485_PERIPHERAL->IIR;
- tmp = intsrc & UARTn_IIR_INTID_MASK;
-
-
- // Receiver Line Status
- if(tmp == UARTn_IIR_INTID_RLS) // error(Overrun, Parity, Framing or Break Error)
- {
- }
- else if(tmp == UARTn_IIR_INTID_RDA) // Receiver Data Available
- {
- Uart1_RS485_Receive_Handler();
- }
- else if(tmp == UARTn_IIR_INTID_THRE) // Transmitter Holding Register Empty
- {
-#if defined(UARTn_RS485_TX_INTERRUTP_ENABLE)
- Uart1_RS485_Init_TransmitSet();
-#endif
- }
- else if(tmp == UARTn_IIR_INTID_TXE) // Transmitter Register Empty
- {
-
- }
-}
-
-void Uart1_RS485_Push_Data(uint8_t RxData)
-{
- RingBuffer_Enqueue(&RingBuffer_RS485_Rx, RxData);
-}
-
-uint32_t Uart1_RS485_Get_RecvDataCount(void)
-{
- return RingBuffer_Get_DataSize(&RingBuffer_RS485_Rx);
-}
-
-uint8_t Uart1_RS485_Get_RecvData(void)
-{
- uint8_t retData;
- RingBuffer_Dequeue(&RingBuffer_RS485_Rx, &retData);
- return retData;
-}
diff --git a/Project/Application/uart1_rs485.h b/Project/Application/uart1_rs485.h
deleted file mode 100644
index 672ca7a..0000000
--- a/Project/Application/uart1_rs485.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/** \file uart1_rs485.h */
-#if !defined(UART1_RS485_H__43E41896_F8DF_4ED4_B934_92ED846B67D5__INCLUDED_)
-#define UART1_RS485_H__43E41896_F8DF_4ED4_B934_92ED846B67D5__INCLUDED_
-
-#include "define.h"
-
-void Uart1_RS485_Initialization(uint32_t Baudrate, UARTn_DATA_BIT_Type Databit, UARTn_PARITY_BIT_Type Paritybit, UARTn_STOP_BIT_Type Stopbit);
-void Uart1_RS485_Transmit(uint8_t TxData);
-void Uart1_RS485_TransmitData(uint8_t* pTxData, uint32_t TxLen);
-uint32_t Uart1_RS485_Get_RecvDataCount(void);
-uint8_t Uart1_RS485_Get_RecvData(void);
-void Uart1_RS485_Push_Data(uint8_t RxData);
-
-#endif
diff --git a/Project/Listings/S_DustSensorView.map b/Project/Listings/S_DustSensorView.map
index 513ba45..28e4652 100644
--- a/Project/Listings/S_DustSensorView.map
+++ b/Project/Listings/S_DustSensorView.map
@@ -22,17 +22,16 @@ Section Cross References
main.o(i.main) refers to gpio_i2c.o(i.GPIO_I2C2_Initialization) for GPIO_I2C2_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_sensor.o(i.Gpio_Sensor_PWR_Initialization) for Gpio_Sensor_PWR_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 kcd_hp100.o(i.KCD_HP100_Initialization) for KCD_HP100_Initialization
main.o(i.main) refers to action_process.o(i.Action_Initialization) for Action_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
@@ -214,6 +213,21 @@ Section Cross References
spi10.o(i.SPI10_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Init) for HAL_USART_Init
spi10.o(i.SPI10_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig) for HAL_USART_DataControlConfig
spi10.o(i.SPI10_Initialization) refers to a31g12x_hal_usart1n.o(i.HAL_USART_Enable) for HAL_USART_Enable
+ save_file.o(i.Save_SensorData_SDCard) refers to fatfs.o(i.MX_FATFS_Init) for MX_FATFS_Init
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_mount) for f_mount
+ save_file.o(i.Save_SensorData_SDCard) refers to ff_gen_drv.o(i.FATFS_UnLinkDriver) for FATFS_UnLinkDriver
+ save_file.o(i.Save_SensorData_SDCard) refers to rtc_process.o(i.RTC_Get_Time) for RTC_Get_Time
+ save_file.o(i.Save_SensorData_SDCard) refers to printfa.o(i.__0sprintf) for __2sprintf
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_opendir) for f_opendir
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_mkdir) for f_mkdir
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_open) for f_open
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_closedir) for f_closedir
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_lseek) for f_lseek
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_close) for f_close
+ save_file.o(i.Save_SensorData_SDCard) refers to strlen.o(.text) for strlen
+ save_file.o(i.Save_SensorData_SDCard) refers to ff.o(i.f_write) for f_write
+ save_file.o(i.Save_SensorData_SDCard) refers to save_file.o(.bss) for FatFs
+ save_file.o(i.Save_SensorData_SDCard) refers to save_file.o(.data) for fres
driver_ds3231.o(i.a_ds3231_hex2bcd) refers to idiv.o(.text) for __aeabi_idivmod
driver_ds3231.o(i.ds3231_aging_offset_convert_to_data) refers to fflti.o(.text) for __aeabi_i2f
driver_ds3231.o(i.ds3231_aging_offset_convert_to_data) refers to fmul.o(.text) for __aeabi_fmul
@@ -308,13 +322,27 @@ 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_Down_Key_Push) refers to buzzer.o(i.Buzzer_On) for Buzzer_On
+ action_process.o(i.Action_Down_Key_Push) refers to systick_timer.o(i.millis) for millis
+ action_process.o(i.Action_Down_Key_Push) refers to idiv.o(.text) for __aeabi_idivmod
+ action_process.o(i.Action_Down_Key_Push) refers to action_process.o(.bss) for Control_Info
+ action_process.o(i.Action_Get_SensorData) refers to systick_timer.o(i.millis) for millis
+ action_process.o(i.Action_Get_SensorData) refers to kcd_hp100.o(i.KCD_HP100_Tx_Get_MeasurmentData) for KCD_HP100_Tx_Get_MeasurmentData
+ action_process.o(i.Action_Get_SensorData) refers to action_process.o(.bss) for Control_Info
+ action_process.o(i.Action_Get_SensorReadProcess) refers to kcd_hp100.o(i.KCD_HP100_GetState) for KCD_HP100_GetState
+ action_process.o(i.Action_Get_SensorReadProcess) refers to kcd_hp100.o(i.KCD_HP100_Get_Co2) for KCD_HP100_Get_Co2
+ action_process.o(i.Action_Get_SensorReadProcess) refers to systick_timer.o(i.millis) for millis
+ action_process.o(i.Action_Get_SensorReadProcess) refers to rtc_process.o(i.RTC_Get_Time) for RTC_Get_Time
+ action_process.o(i.Action_Get_SensorReadProcess) refers to printfa.o(i.__0printf) for __2printf
+ action_process.o(i.Action_Get_SensorReadProcess) refers to action_process.o(i.Action_Get_SensorData) for Action_Get_SensorData
+ action_process.o(i.Action_Get_SensorReadProcess) refers to action_process.o(i.Action_SaveSensorData) for Action_SaveSensorData
+ action_process.o(i.Action_Get_SensorReadProcess) refers to action_process.o(.bss) for Control_Info
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
@@ -323,8 +351,10 @@ Section Cross References
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
+ action_process.o(i.Action_Mode_Key_Push) refers to segment_74hc595d.o(i.__ARM_common_switch8) for __ARM_common_switch8
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 systick_timer.o(i.millis) for millis
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
@@ -336,21 +366,27 @@ Section Cross References
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 a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin) for HAL_GPIO_SetPin
+ action_process.o(i.Action_PowerOn_Process) refers to action_process.o(i.Action_Get_SensorData) for Action_Get_SensorData
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 printfa.o(i.__0printf) for __2printf
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 segment.o(i.Segment_Show_SettingData) for Segment_Show_SettingData
+ action_process.o(i.Action_PowerOn_Process) refers to a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin) for HAL_GPIO_ClearPin
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(i.Action_Get_SensorReadProcess) for Action_Get_SensorReadProcess
+ action_process.o(i.Action_PowerOn_Process) refers to action_process.o(i.Action_ReturnMainViewCheck) for Action_ReturnMainViewCheck
action_process.o(i.Action_PowerOn_Process) refers to action_process.o(.bss) for Control_Info
+ action_process.o(i.Action_PowerOn_Process) refers to action_process.o(.data) for SaveCheckSec
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
@@ -358,6 +394,23 @@ Section Cross References
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
+ action_process.o(i.Action_ReturnMainViewCheck) refers to systick_timer.o(i.millis) for millis
+ action_process.o(i.Action_ReturnMainViewCheck) refers to gpio_state_led.o(i.Gpio_Led_OutputSet) for Gpio_Led_OutputSet
+ action_process.o(i.Action_ReturnMainViewCheck) refers to action_process.o(.bss) for Control_Info
+ action_process.o(i.Action_SaveSensorData) refers to rtc_process.o(i.RTC_Get_Time) for RTC_Get_Time
+ action_process.o(i.Action_SaveSensorData) refers to idiv.o(.text) for __aeabi_idivmod
+ action_process.o(i.Action_SaveSensorData) refers to printfa.o(i.__0printf) for __2printf
+ action_process.o(i.Action_SaveSensorData) refers to save_file.o(i.Save_SensorData_SDCard) for Save_SensorData_SDCard
+ action_process.o(i.Action_SaveSensorData) refers to action_process.o(.data) for SaveCheckSec
+ action_process.o(i.Action_SaveSensorData) refers to action_process.o(.bss) for Control_Info
+ action_process.o(i.Action_Set_Key_Push) refers to buzzer.o(i.Buzzer_On) for Buzzer_On
+ action_process.o(i.Action_Set_Key_Push) refers to systick_timer.o(i.millis) for millis
+ action_process.o(i.Action_Set_Key_Push) refers to eeprom.o(i.EEPROM_Write_SettingValue) for EEPROM_Write_SettingValue
+ action_process.o(i.Action_Set_Key_Push) refers to action_process.o(.bss) for Control_Info
+ action_process.o(i.Action_Up_Key_Push) refers to buzzer.o(i.Buzzer_On) for Buzzer_On
+ action_process.o(i.Action_Up_Key_Push) refers to systick_timer.o(i.millis) for millis
+ action_process.o(i.Action_Up_Key_Push) refers to idiv.o(.text) for __aeabi_idivmod
+ action_process.o(i.Action_Up_Key_Push) 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
@@ -387,6 +440,11 @@ Section Cross References
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_SettingData) refers to systick_timer.o(i.millis) for millis
+ segment.o(i.Segment_Show_SettingData) refers to uidiv.o(.text) for __aeabi_uidivmod
+ segment.o(i.Segment_Show_SettingData) refers to idiv.o(.text) for __aeabi_idivmod
+ segment.o(i.Segment_Show_SettingData) refers to segment.o(.constdata) for SegmentData
+ segment.o(i.Segment_Show_SettingData) 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
@@ -449,6 +507,21 @@ Section Cross References
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
+ kcd_hp100.o(i.KCD_HP100_GetState) refers to kcd_hp100.o(.data) for KCD_HP100_State
+ kcd_hp100.o(i.KCD_HP100_Get_Co2) refers to kcd_hp100.o(.data) for KCD_HP100_State
+ kcd_hp100.o(i.KCD_HP100_Get_Co2) refers to kcd_hp100.o(.bss) for KCD_HP100_Result
+ kcd_hp100.o(i.KCD_HP100_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register
+ kcd_hp100.o(i.KCD_HP100_Initialization) refers to kcd_hp100.o(.data) for KCD_HP100_DeviceID
+ kcd_hp100.o(i.KCD_HP100_Initialization) refers to kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process) for KCD_HP_Rx_PacketRecv_Process
+ kcd_hp100.o(i.KCD_HP100_Tx_Get_MeasurmentData) refers to systick_timer.o(i.millis) for millis
+ kcd_hp100.o(i.KCD_HP100_Tx_Get_MeasurmentData) refers to kcd_hp100.o(i.KCD_HP_Calc_Checksum) for KCD_HP_Calc_Checksum
+ kcd_hp100.o(i.KCD_HP100_Tx_Get_MeasurmentData) refers to usart11_rs485.o(i.Usart11_TransmitData) for Usart11_TransmitData
+ kcd_hp100.o(i.KCD_HP100_Tx_Get_MeasurmentData) refers to kcd_hp100.o(.data) for KCD_HP100_State
+ kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process) refers to usart11_rs485.o(i.Usart11_Get_RecvDataCount) for Usart11_Get_RecvDataCount
+ kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process) refers to usart11_rs485.o(i.Usart11_Get_RecvData) for Usart11_Get_RecvData
+ kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process) refers to systick_timer.o(i.millis) for millis
+ kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process) refers to kcd_hp100.o(.data) for KCD_HP100_RxIndex
+ kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process) refers to kcd_hp100.o(.bss) for KCD_HP100_Result
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
@@ -1133,7 +1206,7 @@ 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 main.o(i.timer_test), (2 bytes).
Removing dbg_printf.o(.rev16_text), (4 bytes).
Removing dbg_printf.o(.revsh_text), (4 bytes).
Removing sw_timer.o(.rev16_text), (4 bytes).
@@ -1174,14 +1247,9 @@ Removing Unused input sections from the image.
Removing gpio_i2c.o(i.I2C1_Write), (46 bytes).
Removing spi10.o(.rev16_text), (4 bytes).
Removing spi10.o(.revsh_text), (4 bytes).
- Removing spi10.o(i.SPI10_SendReceiveByte), (48 bytes).
Removing spi10.o(i.SPI10_SendRecv), (60 bytes).
- Removing spi10.o(i.SPI10_Transmit), (60 bytes).
Removing save_file.o(.rev16_text), (4 bytes).
Removing save_file.o(.revsh_text), (4 bytes).
- Removing save_file.o(i.Save_SensorData_SDCard), (4 bytes).
- Removing save_file.o(.bss), (1628 bytes).
- Removing save_file.o(.data), (18 bytes).
Removing driver_ds3231.o(i.ds3231_aging_offset_convert_to_data), (52 bytes).
Removing driver_ds3231.o(i.ds3231_alarm_clear), (160 bytes).
Removing driver_ds3231.o(i.ds3231_get_32khz_output), (100 bytes).
@@ -1220,7 +1288,6 @@ Removing Unused input sections from the image.
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_Sensor_Error), (44 bytes).
@@ -1232,9 +1299,9 @@ Removing Unused input sections from the image.
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 kcd_hp100.o(.rev16_text), (4 bytes).
+ Removing kcd_hp100.o(.revsh_text), (4 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).
@@ -1417,70 +1484,22 @@ Removing Unused input sections from the image.
Removing system_a31g12x.o(i.SystemCoreClockUpdate), (136 bytes).
Removing fatfs.o(.rev16_text), (4 bytes).
Removing fatfs.o(.revsh_text), (4 bytes).
- Removing fatfs.o(i.MX_FATFS_Init), (28 bytes).
- Removing fatfs.o(i.get_fattime), (4 bytes).
Removing fatfs.o(.bss), (1116 bytes).
- Removing fatfs.o(.data), (5 bytes).
Removing user_diskio.o(.rev16_text), (4 bytes).
Removing user_diskio.o(.revsh_text), (4 bytes).
- Removing user_diskio.o(i.USER_initialize), (12 bytes).
- Removing user_diskio.o(i.USER_ioctl), (20 bytes).
- Removing user_diskio.o(i.USER_read), (24 bytes).
- Removing user_diskio.o(i.USER_status), (12 bytes).
- Removing user_diskio.o(i.USER_write), (24 bytes).
- Removing user_diskio.o(.data), (24 bytes).
Removing user_diskio_spi.o(.rev16_text), (4 bytes).
Removing user_diskio_spi.o(.revsh_text), (4 bytes).
- Removing user_diskio_spi.o(i.SPI_Timer_On), (28 bytes).
- Removing user_diskio_spi.o(i.SPI_Timer_Status), (36 bytes).
- Removing user_diskio_spi.o(i.despiselect), (20 bytes).
- Removing user_diskio_spi.o(i.rcvr_datablock), (66 bytes).
- Removing user_diskio_spi.o(i.rcvr_spi_multi), (26 bytes).
- Removing user_diskio_spi.o(i.send_cmd), (156 bytes).
- Removing user_diskio_spi.o(i.spiselect), (42 bytes).
- Removing user_diskio_spi.o(i.wait_ready), (48 bytes).
- Removing user_diskio_spi.o(i.xchg_spi), (16 bytes).
- Removing user_diskio_spi.o(i.xmit_datablock), (76 bytes).
- Removing user_diskio_spi.o(i.xmit_spi_multi), (16 bytes).
- Removing user_diskio_spi.o(.data), (12 bytes).
Removing diskio.o(.rev16_text), (4 bytes).
Removing diskio.o(.revsh_text), (4 bytes).
- Removing diskio.o(i.disk_initialize), (48 bytes).
- Removing diskio.o(i.disk_ioctl), (36 bytes).
- Removing diskio.o(i.disk_read), (44 bytes).
- Removing diskio.o(i.disk_status), (28 bytes).
- Removing diskio.o(i.disk_write), (44 bytes).
Removing diskio.o(i.get_fattime), (4 bytes).
Removing ff.o(.rev16_text), (4 bytes).
Removing ff.o(.revsh_text), (4 bytes).
- Removing ff.o(i.check_fs), (164 bytes).
- Removing ff.o(i.chk_chr), (22 bytes).
- Removing ff.o(i.chk_lock), (152 bytes).
- Removing ff.o(i.clear_lock), (44 bytes).
- Removing ff.o(i.clmt_clust), (70 bytes).
- Removing ff.o(i.clust2sect), (40 bytes).
- Removing ff.o(i.create_chain), (260 bytes).
- Removing ff.o(i.create_name), (296 bytes).
- Removing ff.o(i.dec_lock), (76 bytes).
- Removing ff.o(i.dir_alloc), (110 bytes).
- Removing ff.o(i.dir_find), (114 bytes).
- Removing ff.o(i.dir_next), (444 bytes).
Removing ff.o(i.dir_read), (142 bytes).
- Removing ff.o(i.dir_register), (88 bytes).
Removing ff.o(i.dir_remove), (88 bytes).
- Removing ff.o(i.dir_sdi), (264 bytes).
- Removing ff.o(i.enq_lock), (40 bytes).
Removing ff.o(i.f_chmod), (100 bytes).
- Removing ff.o(i.f_close), (56 bytes).
- Removing ff.o(i.f_closedir), (54 bytes).
Removing ff.o(i.f_getfree), (304 bytes).
Removing ff.o(i.f_gets), (84 bytes).
- Removing ff.o(i.f_lseek), (1104 bytes).
- Removing ff.o(i.f_mkdir), (410 bytes).
Removing ff.o(i.f_mkfs), (1728 bytes).
- Removing ff.o(i.f_mount), (112 bytes).
- Removing ff.o(i.f_open), (540 bytes).
- Removing ff.o(i.f_opendir), (210 bytes).
Removing ff.o(i.f_printf), (672 bytes).
Removing ff.o(i.f_putc), (66 bytes).
Removing ff.o(i.f_puts), (76 bytes).
@@ -1488,49 +1507,18 @@ Removing Unused input sections from the image.
Removing ff.o(i.f_readdir), (106 bytes).
Removing ff.o(i.f_rename), (338 bytes).
Removing ff.o(i.f_stat), (72 bytes).
- Removing ff.o(i.f_sync), (256 bytes).
Removing ff.o(i.f_truncate), (308 bytes).
Removing ff.o(i.f_unlink), (226 bytes).
Removing ff.o(i.f_utime), (102 bytes).
- Removing ff.o(i.f_write), (776 bytes).
- Removing ff.o(i.find_volume), (1144 bytes).
- Removing ff.o(i.follow_path), (174 bytes).
- Removing ff.o(i.get_fat), (260 bytes).
Removing ff.o(i.get_fileinfo), (118 bytes).
- Removing ff.o(i.get_ldnumber), (76 bytes).
- Removing ff.o(i.inc_lock), (228 bytes).
- Removing ff.o(i.ld_clust), (38 bytes).
- Removing ff.o(i.mem_cmp), (42 bytes).
- Removing ff.o(i.mem_cpy), (26 bytes).
- Removing ff.o(i.mem_set), (20 bytes).
- Removing ff.o(i.move_window), (68 bytes).
- Removing ff.o(i.put_fat), (354 bytes).
Removing ff.o(i.putc_bfd), (78 bytes).
- Removing ff.o(i.remove_chain), (140 bytes).
- Removing ff.o(i.st_clust), (20 bytes).
- Removing ff.o(i.sync_fs), (280 bytes).
- Removing ff.o(i.sync_window), (116 bytes).
- Removing ff.o(i.validate), (96 bytes).
- Removing ff.o(.bss), (24 bytes).
- Removing ff.o(.constdata), (172 bytes).
- Removing ff.o(.data), (6 bytes).
Removing ff_gen_drv.o(.rev16_text), (4 bytes).
Removing ff_gen_drv.o(.revsh_text), (4 bytes).
Removing ff_gen_drv.o(i.FATFS_GetAttachedDriversNbr), (12 bytes).
- Removing ff_gen_drv.o(i.FATFS_LinkDriver), (18 bytes).
- Removing ff_gen_drv.o(i.FATFS_LinkDriverEx), (84 bytes).
- Removing ff_gen_drv.o(i.FATFS_UnLinkDriver), (14 bytes).
- Removing ff_gen_drv.o(i.FATFS_UnLinkDriverEx), (68 bytes).
- Removing ff_gen_drv.o(.bss), (12 bytes).
Removing fmul.o(.text), (122 bytes).
Removing fflti.o(.text), (22 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).
-400 unused section(s) (total 34809 bytes) removed from the image.
+315 unused section(s) (total 21603 bytes) removed from the image.
==============================================================================
@@ -1542,43 +1530,44 @@ Image Symbol Table
RESET 0x00000000 Section 176 startup_a31g12x.o(RESET)
../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/division.c 0x00000000 Number 0 idiv.o ABSOLUTE
+ ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.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 entry5.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
- ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.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 entry12b.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 entry7b.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 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
- ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
+ ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.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 printf3.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE
- ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.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 printf8.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.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 printf2.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 memcpyb.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/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE
+ ../clib/microlib/string/strlen.c 0x00000000 Number 0 strlen.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
@@ -1590,11 +1579,11 @@ Image Symbol Table
../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 ffixi.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE
+ ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.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
+ ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
Application\A31G12x_Interrupt.c 0x00000000 Number 0 a31g12x_interrupt.o ABSOLUTE
Application\A31G12x_SystemClock.c 0x00000000 Number 0 a31g12x_systemclock.o ABSOLUTE
Application\FATFS\App\fatfs.c 0x00000000 Number 0 fatfs.o ABSOLUTE
@@ -1619,6 +1608,7 @@ Image Symbol Table
Application\\gpio_sensor.c 0x00000000 Number 0 gpio_sensor.o ABSOLUTE
Application\\gpio_state_led.c 0x00000000 Number 0 gpio_state_led.o ABSOLUTE
Application\\gpio_switch.c 0x00000000 Number 0 gpio_switch.o ABSOLUTE
+ Application\\kcd_hp100.c 0x00000000 Number 0 kcd_hp100.o ABSOLUTE
Application\\main.c 0x00000000 Number 0 main.o ABSOLUTE
Application\\ring_buffer.c 0x00000000 Number 0 ring_buffer.o ABSOLUTE
Application\\rtc_process.c 0x00000000 Number 0 rtc_process.o ABSOLUTE
@@ -1644,6 +1634,7 @@ Image Symbol Table
Application\gpio_sensor.c 0x00000000 Number 0 gpio_sensor.o ABSOLUTE
Application\gpio_state_led.c 0x00000000 Number 0 gpio_state_led.o ABSOLUTE
Application\gpio_switch.c 0x00000000 Number 0 gpio_switch.o ABSOLUTE
+ Application\kcd_hp100.c 0x00000000 Number 0 kcd_hp100.o ABSOLUTE
Application\main.c 0x00000000 Number 0 main.o ABSOLUTE
Application\ring_buffer.c 0x00000000 Number 0 ring_buffer.o ABSOLUTE
Application\rtc_process.c 0x00000000 Number 0 rtc_process.o ABSOLUTE
@@ -1718,241 +1709,380 @@ Image Symbol Table
.text 0x00000110 Section 0 idiv.o(.text)
.text 0x00000138 Section 0 memcpya.o(.text)
.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 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)
+ .text 0x00000180 Section 0 strlen.o(.text)
+ .text 0x0000018e Section 0 fdiv.o(.text)
+ .text 0x0000020a Section 0 ffixi.o(.text)
+ .text 0x0000023c Section 0 uldiv.o(.text)
+ .text 0x0000029c Section 0 iusefp.o(.text)
+ .text 0x0000029c Section 0 fepilogue.o(.text)
+ .text 0x00000320 Section 0 dadd.o(.text)
+ .text 0x00000488 Section 0 dmul.o(.text)
+ .text 0x00000558 Section 0 ddiv.o(.text)
+ .text 0x00000648 Section 0 dfixul.o(.text)
+ .text 0x00000688 Section 40 cdrcmple.o(.text)
+ .text 0x000006b0 Section 36 init.o(.text)
+ .text 0x000006d4 Section 0 llshl.o(.text)
+ .text 0x000006f4 Section 0 llushr.o(.text)
+ .text 0x00000716 Section 0 llsshr.o(.text)
+ .text 0x0000073c Section 0 depilogue.o(.text)
+ .text 0x000007fa Section 0 __dczerorl2.o(.text)
+ i.Action_Down_Key_Push 0x00000850 Section 0 action_process.o(i.Action_Down_Key_Push)
+ Action_Down_Key_Push 0x00000851 Thumb Code 252 action_process.o(i.Action_Down_Key_Push)
+ i.Action_Get_SensorData 0x00000954 Section 0 action_process.o(i.Action_Get_SensorData)
+ Action_Get_SensorData 0x00000955 Thumb Code 16 action_process.o(i.Action_Get_SensorData)
+ i.Action_Get_SensorReadProcess 0x00000968 Section 0 action_process.o(i.Action_Get_SensorReadProcess)
+ Action_Get_SensorReadProcess 0x00000969 Thumb Code 194 action_process.o(i.Action_Get_SensorReadProcess)
+ i.Action_Initialization 0x00000a68 Section 0 action_process.o(i.Action_Initialization)
+ i.Action_Mode_Key_Push 0x00000abc Section 0 action_process.o(i.Action_Mode_Key_Push)
+ Action_Mode_Key_Push 0x00000abd Thumb Code 252 action_process.o(i.Action_Mode_Key_Push)
+ i.Action_PowerOn_Init_Process 0x00000bbc Section 0 action_process.o(i.Action_PowerOn_Init_Process)
+ Action_PowerOn_Init_Process 0x00000bbd Thumb Code 230 action_process.o(i.Action_PowerOn_Init_Process)
+ i.Action_PowerOn_Process 0x00000cac Section 0 action_process.o(i.Action_PowerOn_Process)
+ Action_PowerOn_Process 0x00000cad Thumb Code 322 action_process.o(i.Action_PowerOn_Process)
+ i.Action_Power_Off_Key_Push_Callback 0x00000e3c Section 0 action_process.o(i.Action_Power_Off_Key_Push_Callback)
+ Action_Power_Off_Key_Push_Callback 0x00000e3d Thumb Code 16 action_process.o(i.Action_Power_Off_Key_Push_Callback)
+ i.Action_Power_Off_Key_Set 0x00000e50 Section 0 action_process.o(i.Action_Power_Off_Key_Set)
+ Action_Power_Off_Key_Set 0x00000e51 Thumb Code 28 action_process.o(i.Action_Power_Off_Key_Set)
+ i.Action_Power_On_Key_Push_Callback 0x00000e70 Section 0 action_process.o(i.Action_Power_On_Key_Push_Callback)
+ Action_Power_On_Key_Push_Callback 0x00000e71 Thumb Code 20 action_process.o(i.Action_Power_On_Key_Push_Callback)
+ i.Action_Power_On_Key_Set 0x00000e88 Section 0 action_process.o(i.Action_Power_On_Key_Set)
+ Action_Power_On_Key_Set 0x00000e89 Thumb Code 28 action_process.o(i.Action_Power_On_Key_Set)
+ i.Action_Process 0x00000ea8 Section 0 action_process.o(i.Action_Process)
+ Action_Process 0x00000ea9 Thumb Code 30 action_process.o(i.Action_Process)
+ i.Action_ReturnMainViewCheck 0x00000ecc Section 0 action_process.o(i.Action_ReturnMainViewCheck)
+ Action_ReturnMainViewCheck 0x00000ecd Thumb Code 76 action_process.o(i.Action_ReturnMainViewCheck)
+ i.Action_SaveSensorData 0x00000f20 Section 0 action_process.o(i.Action_SaveSensorData)
+ Action_SaveSensorData 0x00000f21 Thumb Code 236 action_process.o(i.Action_SaveSensorData)
+ i.Action_Set_Key_Push 0x00001054 Section 0 action_process.o(i.Action_Set_Key_Push)
+ Action_Set_Key_Push 0x00001055 Thumb Code 174 action_process.o(i.Action_Set_Key_Push)
+ i.Action_Up_Key_Push 0x00001108 Section 0 action_process.o(i.Action_Up_Key_Push)
+ Action_Up_Key_Push 0x00001109 Thumb Code 240 action_process.o(i.Action_Up_Key_Push)
+ i.Buzzer_Initialization 0x00001200 Section 0 buzzer.o(i.Buzzer_Initialization)
+ i.Buzzer_On 0x0000122c Section 0 buzzer.o(i.Buzzer_On)
+ i.Buzzer_Output_Process 0x00001250 Section 0 buzzer.o(i.Buzzer_Output_Process)
+ Buzzer_Output_Process 0x00001251 Thumb Code 64 buzzer.o(i.Buzzer_Output_Process)
+ i.Delay_I2C_Delay 0x000012a0 Section 0 gpio_i2c.o(i.Delay_I2C_Delay)
+ i.Delay_ms 0x000012b0 Section 0 systick_timer.o(i.Delay_ms)
+ i.EEPROM_Read_SettingValue 0x000012c4 Section 0 eeprom.o(i.EEPROM_Read_SettingValue)
+ i.EEPROM_Write_SettingValue 0x00001368 Section 0 eeprom.o(i.EEPROM_Write_SettingValue)
+ i.FATFS_LinkDriver 0x00001428 Section 0 ff_gen_drv.o(i.FATFS_LinkDriver)
+ i.FATFS_LinkDriverEx 0x0000143c Section 0 ff_gen_drv.o(i.FATFS_LinkDriverEx)
+ i.FATFS_UnLinkDriver 0x00001490 Section 0 ff_gen_drv.o(i.FATFS_UnLinkDriver)
+ i.FATFS_UnLinkDriverEx 0x000014a0 Section 0 ff_gen_drv.o(i.FATFS_UnLinkDriverEx)
+ i.FlashMEM_Clock_Initialization 0x000014e4 Section 0 eeprom.o(i.FlashMEM_Clock_Initialization)
+ i.FlashMem_Do_PageEr 0x000014f4 Section 0 eeprom.o(i.FlashMem_Do_PageEr)
+ i.FlashMem_Do_PageWt 0x00001508 Section 0 eeprom.o(i.FlashMem_Do_PageWt)
+ i.GPIO_I2C2_Initialization 0x00001520 Section 0 gpio_i2c.o(i.GPIO_I2C2_Initialization)
+ i.GPIO_I2C2_Read 0x00001560 Section 0 gpio_i2c.o(i.GPIO_I2C2_Read)
+ i.GPIO_I2C2_Start 0x000015f4 Section 0 gpio_i2c.o(i.GPIO_I2C2_Start)
+ i.GPIO_I2C2_Stop 0x00001640 Section 0 gpio_i2c.o(i.GPIO_I2C2_Stop)
+ i.GPIO_I2C2_Write 0x00001680 Section 0 gpio_i2c.o(i.GPIO_I2C2_Write)
+ i.Gpio_Led_OutputSet 0x00001714 Section 0 gpio_state_led.o(i.Gpio_Led_OutputSet)
+ i.Gpio_Sensor_PWR_Initialization 0x0000175c Section 0 gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization)
+ i.Gpio_StateLed_Initialization 0x00001780 Section 0 gpio_state_led.o(i.Gpio_StateLed_Initialization)
+ i.Gpio_Switch_Check_Process 0x000017ec Section 0 gpio_switch.o(i.Gpio_Switch_Check_Process)
+ Gpio_Switch_Check_Process 0x000017ed Thumb Code 320 gpio_switch.o(i.Gpio_Switch_Check_Process)
+ i.Gpio_Switch_Port_Initialization 0x00001930 Section 0 gpio_switch.o(i.Gpio_Switch_Port_Initialization)
+ i.Gpio_Switch_TestCallback 0x000019a8 Section 0 gpio_switch.o(i.Gpio_Switch_TestCallback)
+ Gpio_Switch_TestCallback 0x000019a9 Thumb Code 14 gpio_switch.o(i.Gpio_Switch_TestCallback)
+ i.Gpio_Swtich_Set_Callback 0x000019c8 Section 0 gpio_switch.o(i.Gpio_Swtich_Set_Callback)
+ i.Gpio_Swtich_Set_PushCount 0x000019f0 Section 0 gpio_switch.o(i.Gpio_Swtich_Set_PushCount)
+ i.HAL_CRC_Init 0x00001a10 Section 0 a31g12x_hal_crc.o(i.HAL_CRC_Init)
+ i.HAL_FMC_FlashEntry 0x00001a20 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_FlashEntry)
+ i.HAL_FMC_FlashExit 0x00001a80 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_FlashExit)
+ i.HAL_FMC_FlashFunction 0x00001ab8 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_FlashFunction)
+ i.HAL_FMC_PageErase 0x00001c60 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_PageErase)
+ i.HAL_FMC_PageWrite 0x00001ca0 Section 0 a31g12x_hal_fmc.o(i.HAL_FMC_PageWrite)
+ i.HAL_GPIO_ClearPin 0x00001ce0 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin)
+ i.HAL_GPIO_ConfigFunction 0x00001ce4 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction)
+ i.HAL_GPIO_ConfigOutput 0x00001d28 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput)
+ i.HAL_GPIO_ConfigPullup 0x00001d6e Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup)
+ i.HAL_GPIO_ReadPin 0x00001d8c Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_ReadPin)
+ i.HAL_GPIO_SetDebouncePin 0x00001d94 Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_SetDebouncePin)
+ i.HAL_GPIO_SetPin 0x00001daa Section 0 a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin)
+ i.HAL_INT_EInt_MaskDisable 0x00001db0 Section 0 a31g12x_hal_intc.o(i.HAL_INT_EInt_MaskDisable)
+ i.HAL_SCU_ClockMonitoring 0x00001dc0 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_ClockMonitoring)
+ i.HAL_SCU_ClockSource_Enable 0x00001dfc Section 0 a31g12x_hal_scu.o(i.HAL_SCU_ClockSource_Enable)
+ i.HAL_SCU_Peripheral_ClockConfig 0x00001e20 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_ClockConfig)
+ i.HAL_SCU_Peripheral_EnableClock1 0x00001e2c Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock1)
+ i.HAL_SCU_Peripheral_EnableClock2 0x00001e4c Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2)
+ i.HAL_SCU_Peripheral_SetReset2 0x00001e6c Section 0 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_SetReset2)
+ i.HAL_SCU_SystemClockChange 0x00001e88 Section 0 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockChange)
+ i.HAL_SCU_SystemClockDivider 0x00001e9c Section 0 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockDivider)
+ i.HAL_TIMER1n_Cmd 0x00001ea8 Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Cmd)
+ i.HAL_TIMER1n_ConfigInterrupt 0x00001ece Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_ConfigInterrupt)
+ i.HAL_TIMER1n_Init 0x00001f08 Section 0 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Init)
+ i.HAL_UART_ConfigInterrupt 0x00002070 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ConfigInterrupt)
+ i.HAL_UART_ConfigStructInit 0x000020bc Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ConfigStructInit)
+ i.HAL_UART_Init 0x000020dc Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Init)
+ i.HAL_UART_Receive 0x000021e0 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Receive)
+ i.HAL_UART_ReceiveByte 0x00002254 Section 0 a31g12x_hal_uartn.o(i.HAL_UART_ReceiveByte)
+ i.HAL_UART_Transmit 0x0000225c Section 0 a31g12x_hal_uartn.o(i.HAL_UART_Transmit)
+ i.HAL_UART_TransmitByte 0x000022dc Section 0 a31g12x_hal_uartn.o(i.HAL_UART_TransmitByte)
+ i.HAL_USART_CheckBusy 0x000022ec Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_CheckBusy)
+ i.HAL_USART_ClearStatus 0x00002300 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ClearStatus)
+ i.HAL_USART_ConfigInterrupt 0x0000233a Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ConfigInterrupt)
+ i.HAL_USART_DataControlConfig 0x00002386 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig)
+ i.HAL_USART_Enable 0x000023f0 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Enable)
+ i.HAL_USART_GetStatus 0x00002416 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_GetStatus)
+ i.HAL_USART_Init 0x00002420 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Init)
+ i.HAL_USART_Receive 0x00002514 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Receive)
+ i.HAL_USART_ReceiveByte 0x00002586 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_ReceiveByte)
+ i.HAL_USART_SPI_Mode_Config 0x0000258e Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_SPI_Mode_Config)
+ i.HAL_USART_Transmit 0x000025b6 Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_Transmit)
+ i.HAL_USART_TransmitByte 0x0000263a Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_TransmitByte)
+ i.HAL_USART_UART_Mode_Config 0x0000264a Section 0 a31g12x_hal_usart1n.o(i.HAL_USART_UART_Mode_Config)
+ i.HardFault_Handler 0x0000266c Section 0 a31g12x_interrupt.o(i.HardFault_Handler)
+ i.I2C2_Read 0x00002670 Section 0 gpio_i2c.o(i.I2C2_Read)
+ i.I2C2_Write 0x000026ac Section 0 gpio_i2c.o(i.I2C2_Write)
+ i.KCD_HP100_GetState 0x000026dc Section 0 kcd_hp100.o(i.KCD_HP100_GetState)
+ i.KCD_HP100_Get_Co2 0x000026e8 Section 0 kcd_hp100.o(i.KCD_HP100_Get_Co2)
+ i.KCD_HP100_Initialization 0x00002710 Section 0 kcd_hp100.o(i.KCD_HP100_Initialization)
+ i.KCD_HP100_Tx_Get_MeasurmentData 0x00002738 Section 0 kcd_hp100.o(i.KCD_HP100_Tx_Get_MeasurmentData)
+ i.KCD_HP_Calc_Checksum 0x000027b4 Section 0 kcd_hp100.o(i.KCD_HP_Calc_Checksum)
+ KCD_HP_Calc_Checksum 0x000027b5 Thumb Code 28 kcd_hp100.o(i.KCD_HP_Calc_Checksum)
+ i.KCD_HP_Rx_PacketRecv_Process 0x000027d0 Section 0 kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process)
+ KCD_HP_Rx_PacketRecv_Process 0x000027d1 Thumb Code 290 kcd_hp100.o(i.KCD_HP_Rx_PacketRecv_Process)
+ i.MX_FATFS_Init 0x0000290c Section 0 fatfs.o(i.MX_FATFS_Init)
+ i.NMI_Handler 0x00002928 Section 0 a31g12x_interrupt.o(i.NMI_Handler)
+ i.NVIC_SetPriority 0x0000292c Section 0 a31g12x_systemclock.o(i.NVIC_SetPriority)
+ NVIC_SetPriority 0x0000292d Thumb Code 110 a31g12x_systemclock.o(i.NVIC_SetPriority)
+ i.NVIC_SetPriority 0x000029a4 Section 0 uart1.o(i.NVIC_SetPriority)
+ NVIC_SetPriority 0x000029a5 Thumb Code 110 uart1.o(i.NVIC_SetPriority)
+ i.NVIC_SetPriority 0x00002a1c Section 0 timer12.o(i.NVIC_SetPriority)
+ NVIC_SetPriority 0x00002a1d Thumb Code 110 timer12.o(i.NVIC_SetPriority)
+ i.NVIC_SetPriority 0x00002a94 Section 0 usart11_rs485.o(i.NVIC_SetPriority)
+ NVIC_SetPriority 0x00002a95 Thumb Code 110 usart11_rs485.o(i.NVIC_SetPriority)
+ i.PendSV_Handler 0x00002b0c Section 0 a31g12x_interrupt.o(i.PendSV_Handler)
+ i.RTC_Get_IC_Time_Process 0x00002b10 Section 0 rtc_process.o(i.RTC_Get_IC_Time_Process)
+ RTC_Get_IC_Time_Process 0x00002b11 Thumb Code 84 rtc_process.o(i.RTC_Get_IC_Time_Process)
+ i.RTC_Get_Time 0x00002b68 Section 0 rtc_process.o(i.RTC_Get_Time)
+ i.RTC_Process_Initialization 0x00002b7c Section 0 rtc_process.o(i.RTC_Process_Initialization)
+ i.RingBuffer_Dequeue 0x00002b98 Section 0 ring_buffer.o(i.RingBuffer_Dequeue)
+ i.RingBuffer_Enqueue 0x00002bd6 Section 0 ring_buffer.o(i.RingBuffer_Enqueue)
+ i.RingBuffer_GetData 0x00002c16 Section 0 ring_buffer.o(i.RingBuffer_GetData)
+ i.RingBuffer_Get_DataSize 0x00002c24 Section 0 ring_buffer.o(i.RingBuffer_Get_DataSize)
+ i.RingBuffer_Initialization 0x00002c56 Section 0 ring_buffer.o(i.RingBuffer_Initialization)
+ i.RingBuffer_PopData 0x00002c7c Section 0 ring_buffer.o(i.RingBuffer_PopData)
+ i.RingBuffer_isEmpty 0x00002ca2 Section 0 ring_buffer.o(i.RingBuffer_isEmpty)
+ i.RingBuffer_isFull 0x00002cb4 Section 0 ring_buffer.o(i.RingBuffer_isFull)
+ i.SPI10_Initialization 0x00002cd8 Section 0 spi10.o(i.SPI10_Initialization)
+ i.SPI10_SendReceiveByte 0x00002dcc Section 0 spi10.o(i.SPI10_SendReceiveByte)
+ i.SPI10_Transmit 0x00002dfc Section 0 spi10.o(i.SPI10_Transmit)
+ i.SPI13_Initialization 0x00002e38 Section 0 spi13.o(i.SPI13_Initialization)
+ i.SPI13_Transmit 0x00002ef4 Section 0 spi13.o(i.SPI13_Transmit)
+ i.SPI_Timer_On 0x00002f30 Section 0 user_diskio_spi.o(i.SPI_Timer_On)
+ i.SPI_Timer_Status 0x00002f4c Section 0 user_diskio_spi.o(i.SPI_Timer_Status)
+ i.SVC_Handler 0x00002f70 Section 0 a31g12x_interrupt.o(i.SVC_Handler)
+ i.SW_Timer_Callback_Process 0x00002f74 Section 0 sw_timer.o(i.SW_Timer_Callback_Process)
+ i.SW_Timer_Callback_Register 0x00002ff4 Section 0 sw_timer.o(i.SW_Timer_Callback_Register)
+ i.Save_SensorData_SDCard 0x00003048 Section 0 save_file.o(i.Save_SensorData_SDCard)
+ i.Segemet_Output_Process 0x00003270 Section 0 segment_74hc595d.o(i.Segemet_Output_Process)
+ Segemet_Output_Process 0x00003271 Thumb Code 192 segment_74hc595d.o(i.Segemet_Output_Process)
+ i.Segment_All_Set_Data 0x00003340 Section 0 segment.o(i.Segment_All_Set_Data)
+ i.Segment_Initialization 0x00003360 Section 0 segment_74hc595d.o(i.Segment_Initialization)
+ i.Segment_Output_Data 0x000033a8 Section 0 segment_74hc595d.o(i.Segment_Output_Data)
+ Segment_Output_Data 0x000033a9 Thumb Code 16 segment_74hc595d.o(i.Segment_Output_Data)
+ i.Segment_Show_SensorData 0x000033b8 Section 0 segment.o(i.Segment_Show_SensorData)
+ i.Segment_Show_SettingData 0x00003564 Section 0 segment.o(i.Segment_Show_SettingData)
+ i.Segment_Show_Time 0x00003684 Section 0 segment.o(i.Segment_Show_Time)
+ i.Segment_Show_Version 0x00003704 Section 0 segment.o(i.Segment_Show_Version)
+ i.State_Led_Off 0x00003784 Section 0 gpio_state_led.o(i.State_Led_Off)
+ State_Led_Off 0x00003785 Thumb Code 34 gpio_state_led.o(i.State_Led_Off)
+ i.State_Led_On 0x000037ac Section 0 gpio_state_led.o(i.State_Led_On)
+ State_Led_On 0x000037ad Thumb Code 34 gpio_state_led.o(i.State_Led_On)
+ i.State_Led_Output_Process 0x000037d4 Section 0 gpio_state_led.o(i.State_Led_Output_Process)
+ State_Led_Output_Process 0x000037d5 Thumb Code 128 gpio_state_led.o(i.State_Led_Output_Process)
+ i.SysTick_Handler 0x00003858 Section 0 systick_timer.o(i.SysTick_Handler)
+ i.SystemInit 0x00003880 Section 0 system_a31g12x.o(i.SystemInit)
+ i.System_Clock_Initialization 0x000038a4 Section 0 a31g12x_systemclock.o(i.System_Clock_Initialization)
+ i.Systick_Initialization 0x000038f4 Section 0 a31g12x_systemclock.o(i.Systick_Initialization)
+ i.TIMER12_Handler 0x0000394c Section 0 timer12.o(i.TIMER12_Handler)
+ i.Timer12_Initialization 0x00003980 Section 0 timer12.o(i.Timer12_Initialization)
+ i.Timer12_Set_Match_Interrupt_Callback 0x000039dc Section 0 timer12.o(i.Timer12_Set_Match_Interrupt_Callback)
+ i.UART1_Handler 0x000039e8 Section 0 uart1.o(i.UART1_Handler)
+ i.USART11_Handler 0x00003a10 Section 0 usart11_rs485.o(i.USART11_Handler)
+ i.USER_SPI_initialize 0x00003a30 Section 0 user_diskio_spi.o(i.USER_SPI_initialize)
+ i.USER_SPI_ioctl 0x00003b90 Section 0 user_diskio_spi.o(i.USER_SPI_ioctl)
+ i.USER_SPI_read 0x00003dd0 Section 0 user_diskio_spi.o(i.USER_SPI_read)
+ i.USER_SPI_status 0x00003e70 Section 0 user_diskio_spi.o(i.USER_SPI_status)
+ i.USER_SPI_write 0x00003e84 Section 0 user_diskio_spi.o(i.USER_SPI_write)
+ i.USER_initialize 0x00003f4c Section 0 user_diskio.o(i.USER_initialize)
+ i.USER_ioctl 0x00003f58 Section 0 user_diskio.o(i.USER_ioctl)
+ i.USER_read 0x00003f6c Section 0 user_diskio.o(i.USER_read)
+ i.USER_status 0x00003f84 Section 0 user_diskio.o(i.USER_status)
+ i.USER_write 0x00003f90 Section 0 user_diskio.o(i.USER_write)
+ i.Uart1_Get_RecvData 0x00003fa8 Section 0 uart1.o(i.Uart1_Get_RecvData)
+ i.Uart1_Get_RecvDataCount 0x00003fbc Section 0 uart1.o(i.Uart1_Get_RecvDataCount)
+ i.Uart1_Initialization 0x00003fcc Section 0 uart1.o(i.Uart1_Initialization)
+ i.Uart1_Receive_Handler 0x0000408c Section 0 uart1.o(i.Uart1_Receive_Handler)
+ Uart1_Receive_Handler 0x0000408d Thumb Code 42 uart1.o(i.Uart1_Receive_Handler)
+ i.Uart1_Transmit 0x000040c0 Section 0 uart1.o(i.Uart1_Transmit)
+ i.Uart1_Transmit_Process 0x000040d4 Section 0 uart1.o(i.Uart1_Transmit_Process)
+ Uart1_Transmit_Process 0x000040d5 Thumb Code 46 uart1.o(i.Uart1_Transmit_Process)
+ i.Uart_Packet_Initialization 0x0000410c Section 0 uart_packet.o(i.Uart_Packet_Initialization)
+ i.Uart_Packet_Make_Process 0x00004128 Section 0 uart_packet.o(i.Uart_Packet_Make_Process)
+ Uart_Packet_Make_Process 0x00004129 Thumb Code 308 uart_packet.o(i.Uart_Packet_Make_Process)
+ i.Uart_Packet_Process 0x0000426c Section 0 uart_packet.o(i.Uart_Packet_Process)
+ Uart_Packet_Process 0x0000426d Thumb Code 150 uart_packet.o(i.Uart_Packet_Process)
+ i.Usart11_Get_RecvData 0x00004304 Section 0 usart11_rs485.o(i.Usart11_Get_RecvData)
+ i.Usart11_Get_RecvDataCount 0x00004318 Section 0 usart11_rs485.o(i.Usart11_Get_RecvDataCount)
+ i.Usart11_Initialization 0x00004328 Section 0 usart11_rs485.o(i.Usart11_Initialization)
+ i.Usart11_Receive_Handler 0x0000440c Section 0 usart11_rs485.o(i.Usart11_Receive_Handler)
+ Usart11_Receive_Handler 0x0000440d Thumb Code 42 usart11_rs485.o(i.Usart11_Receive_Handler)
+ i.Usart11_TransmitData 0x00004440 Section 0 usart11_rs485.o(i.Usart11_TransmitData)
+ i.Usart11_Transmit_Process 0x00004460 Section 0 usart11_rs485.o(i.Usart11_Transmit_Process)
+ Usart11_Transmit_Process 0x00004461 Thumb Code 112 usart11_rs485.o(i.Usart11_Transmit_Process)
+ i.__0printf 0x000044dc Section 0 printfa.o(i.__0printf)
+ i.__0sprintf 0x000044fc Section 0 printfa.o(i.__0sprintf)
+ i.__ARM_clz 0x00004524 Section 0 depilogue.o(i.__ARM_clz)
+ i.__ARM_common_switch8 0x00004552 Section 0 segment_74hc595d.o(i.__ARM_common_switch8)
+ i.__scatterload_copy 0x0000456e Section 14 handlers.o(i.__scatterload_copy)
+ i.__scatterload_null 0x0000457c Section 2 handlers.o(i.__scatterload_null)
+ i.__scatterload_zeroinit 0x0000457e Section 14 handlers.o(i.__scatterload_zeroinit)
+ i._fp_digits 0x0000458c Section 0 printfa.o(i._fp_digits)
+ _fp_digits 0x0000458d Thumb Code 344 printfa.o(i._fp_digits)
+ i._printf_core 0x00004700 Section 0 printfa.o(i._printf_core)
+ _printf_core 0x00004701 Thumb Code 1760 printfa.o(i._printf_core)
+ i._printf_post_padding 0x00004df0 Section 0 printfa.o(i._printf_post_padding)
+ _printf_post_padding 0x00004df1 Thumb Code 32 printfa.o(i._printf_post_padding)
+ i._printf_pre_padding 0x00004e10 Section 0 printfa.o(i._printf_pre_padding)
+ _printf_pre_padding 0x00004e11 Thumb Code 44 printfa.o(i._printf_pre_padding)
+ i._sputc 0x00004e3c Section 0 printfa.o(i._sputc)
+ _sputc 0x00004e3d Thumb Code 10 printfa.o(i._sputc)
+ i.a_ds3231_bcd2hex 0x00004e46 Section 0 driver_ds3231.o(i.a_ds3231_bcd2hex)
+ a_ds3231_bcd2hex 0x00004e47 Thumb Code 20 driver_ds3231.o(i.a_ds3231_bcd2hex)
+ i.a_ds3231_hex2bcd 0x00004e5a Section 0 driver_ds3231.o(i.a_ds3231_hex2bcd)
+ a_ds3231_hex2bcd 0x00004e5b Thumb Code 34 driver_ds3231.o(i.a_ds3231_hex2bcd)
+ i.a_ds3231_iic_multiple_read 0x00004e7c Section 0 driver_ds3231.o(i.a_ds3231_iic_multiple_read)
+ a_ds3231_iic_multiple_read 0x00004e7d Thumb Code 36 driver_ds3231.o(i.a_ds3231_iic_multiple_read)
+ i.a_ds3231_iic_write 0x00004ea0 Section 0 driver_ds3231.o(i.a_ds3231_iic_write)
+ a_ds3231_iic_write 0x00004ea1 Thumb Code 30 driver_ds3231.o(i.a_ds3231_iic_write)
+ i.check_fs 0x00004ec0 Section 0 ff.o(i.check_fs)
+ check_fs 0x00004ec1 Thumb Code 150 ff.o(i.check_fs)
+ i.chk_chr 0x00004f64 Section 0 ff.o(i.chk_chr)
+ chk_chr 0x00004f65 Thumb Code 22 ff.o(i.chk_chr)
+ i.chk_lock 0x00004f7c Section 0 ff.o(i.chk_lock)
+ chk_lock 0x00004f7d Thumb Code 142 ff.o(i.chk_lock)
+ i.clear_lock 0x00005014 Section 0 ff.o(i.clear_lock)
+ clear_lock 0x00005015 Thumb Code 38 ff.o(i.clear_lock)
+ i.clmt_clust 0x00005040 Section 0 ff.o(i.clmt_clust)
+ clmt_clust 0x00005041 Thumb Code 70 ff.o(i.clmt_clust)
+ i.clust2sect 0x00005088 Section 0 ff.o(i.clust2sect)
+ i.create_chain 0x000050b0 Section 0 ff.o(i.create_chain)
+ create_chain 0x000050b1 Thumb Code 250 ff.o(i.create_chain)
+ i.create_name 0x000051b4 Section 0 ff.o(i.create_name)
+ create_name 0x000051b5 Thumb Code 276 ff.o(i.create_name)
+ i.dec_lock 0x000052dc Section 0 ff.o(i.dec_lock)
+ dec_lock 0x000052dd Thumb Code 72 ff.o(i.dec_lock)
+ i.despiselect 0x00005328 Section 0 user_diskio_spi.o(i.despiselect)
+ despiselect 0x00005329 Thumb Code 20 user_diskio_spi.o(i.despiselect)
+ i.dir_alloc 0x0000533c Section 0 ff.o(i.dir_alloc)
+ dir_alloc 0x0000533d Thumb Code 110 ff.o(i.dir_alloc)
+ i.dir_find 0x000053aa Section 0 ff.o(i.dir_find)
+ dir_find 0x000053ab Thumb Code 114 ff.o(i.dir_find)
+ i.dir_next 0x0000541c Section 0 ff.o(i.dir_next)
+ dir_next 0x0000541d Thumb Code 438 ff.o(i.dir_next)
+ i.dir_register 0x000055d8 Section 0 ff.o(i.dir_register)
+ dir_register 0x000055d9 Thumb Code 88 ff.o(i.dir_register)
+ i.dir_sdi 0x00005630 Section 0 ff.o(i.dir_sdi)
+ dir_sdi 0x00005631 Thumb Code 258 ff.o(i.dir_sdi)
+ i.disk_initialize 0x00005738 Section 0 diskio.o(i.disk_initialize)
+ i.disk_ioctl 0x00005768 Section 0 diskio.o(i.disk_ioctl)
+ i.disk_read 0x0000578c Section 0 diskio.o(i.disk_read)
+ i.disk_status 0x000057b8 Section 0 diskio.o(i.disk_status)
+ i.disk_write 0x000057d4 Section 0 diskio.o(i.disk_write)
+ i.ds3231_aging_offset_convert_to_register 0x00005800 Section 0 driver_ds3231.o(i.ds3231_aging_offset_convert_to_register)
+ i.ds3231_basic_get_time 0x00005834 Section 0 driver_ds3231_basic.o(i.ds3231_basic_get_time)
+ i.ds3231_basic_init 0x00005850 Section 0 driver_ds3231_basic.o(i.ds3231_basic_init)
+ i.ds3231_basic_set_time 0x00005ae4 Section 0 driver_ds3231_basic.o(i.ds3231_basic_set_time)
+ i.ds3231_deinit 0x00005b00 Section 0 driver_ds3231.o(i.ds3231_deinit)
+ i.ds3231_get_time 0x00005b4c Section 0 driver_ds3231.o(i.ds3231_get_time)
+ i.ds3231_init 0x00005c58 Section 0 driver_ds3231.o(i.ds3231_init)
+ i.ds3231_interface_debug_print 0x00005e44 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_debug_print)
+ i.ds3231_interface_delay_ms 0x00005e46 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_delay_ms)
+ i.ds3231_interface_iic_deinit 0x00005e52 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_deinit)
+ i.ds3231_interface_iic_init 0x00005e56 Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_init)
+ i.ds3231_interface_iic_read 0x00005e5a Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_read)
+ i.ds3231_interface_iic_write 0x00005e7c Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_iic_write)
+ i.ds3231_interface_receive_callback 0x00005eac Section 0 driver_ds3231_interface_template.o(i.ds3231_interface_receive_callback)
+ i.ds3231_set_32khz_output 0x00005f00 Section 0 driver_ds3231.o(i.ds3231_set_32khz_output)
+ i.ds3231_set_aging_offset 0x00005fac Section 0 driver_ds3231.o(i.ds3231_set_aging_offset)
+ i.ds3231_set_alarm_interrupt 0x00006004 Section 0 driver_ds3231.o(i.ds3231_set_alarm_interrupt)
+ i.ds3231_set_oscillator 0x000060b4 Section 0 driver_ds3231.o(i.ds3231_set_oscillator)
+ i.ds3231_set_pin 0x00006168 Section 0 driver_ds3231.o(i.ds3231_set_pin)
+ i.ds3231_set_square_wave 0x00006214 Section 0 driver_ds3231.o(i.ds3231_set_square_wave)
+ i.ds3231_set_time 0x000062c0 Section 0 driver_ds3231.o(i.ds3231_set_time)
+ i.enq_lock 0x000067d4 Section 0 ff.o(i.enq_lock)
+ enq_lock 0x000067d5 Thumb Code 34 ff.o(i.enq_lock)
+ i.f_close 0x000067fc Section 0 ff.o(i.f_close)
+ i.f_closedir 0x00006834 Section 0 ff.o(i.f_closedir)
+ i.f_lseek 0x0000686c Section 0 ff.o(i.f_lseek)
+ i.f_mkdir 0x00006cbc Section 0 ff.o(i.f_mkdir)
+ i.f_mount 0x00006e58 Section 0 ff.o(i.f_mount)
+ i.f_open 0x00006ec8 Section 0 ff.o(i.f_open)
+ i.f_opendir 0x000070e4 Section 0 ff.o(i.f_opendir)
+ i.f_sync 0x000071b8 Section 0 ff.o(i.f_sync)
+ i.f_write 0x000072b8 Section 0 ff.o(i.f_write)
+ i.find_volume 0x000075c0 Section 0 ff.o(i.find_volume)
+ find_volume 0x000075c1 Thumb Code 1134 ff.o(i.find_volume)
+ i.follow_path 0x00007a38 Section 0 ff.o(i.follow_path)
+ follow_path 0x00007a39 Thumb Code 174 ff.o(i.follow_path)
+ i.fputc 0x00007ae6 Section 0 dbg_printf.o(i.fputc)
+ i.get_fat 0x00007af6 Section 0 ff.o(i.get_fat)
+ i.get_fattime 0x00007bfa Section 0 fatfs.o(i.get_fattime)
+ i.get_ldnumber 0x00007bfe Section 0 ff.o(i.get_ldnumber)
+ get_ldnumber 0x00007bff Thumb Code 76 ff.o(i.get_ldnumber)
+ i.inc_lock 0x00007c4c Section 0 ff.o(i.inc_lock)
+ inc_lock 0x00007c4d Thumb Code 220 ff.o(i.inc_lock)
+ i.ld_clust 0x00007d30 Section 0 ff.o(i.ld_clust)
+ ld_clust 0x00007d31 Thumb Code 38 ff.o(i.ld_clust)
+ i.main 0x00007d58 Section 0 main.o(i.main)
+ i.mem_cmp 0x00007dd0 Section 0 ff.o(i.mem_cmp)
+ mem_cmp 0x00007dd1 Thumb Code 42 ff.o(i.mem_cmp)
+ i.mem_cpy 0x00007dfa Section 0 ff.o(i.mem_cpy)
+ mem_cpy 0x00007dfb Thumb Code 26 ff.o(i.mem_cpy)
+ i.mem_set 0x00007e14 Section 0 ff.o(i.mem_set)
+ mem_set 0x00007e15 Thumb Code 20 ff.o(i.mem_set)
+ i.millis 0x00007e28 Section 0 systick_timer.o(i.millis)
+ i.move_window 0x00007e34 Section 0 ff.o(i.move_window)
+ move_window 0x00007e35 Thumb Code 62 ff.o(i.move_window)
+ i.put_fat 0x00007e78 Section 0 ff.o(i.put_fat)
+ i.rcvr_datablock 0x00007fda Section 0 user_diskio_spi.o(i.rcvr_datablock)
+ rcvr_datablock 0x00007fdb Thumb Code 66 user_diskio_spi.o(i.rcvr_datablock)
+ i.rcvr_spi_multi 0x0000801c Section 0 user_diskio_spi.o(i.rcvr_spi_multi)
+ rcvr_spi_multi 0x0000801d Thumb Code 26 user_diskio_spi.o(i.rcvr_spi_multi)
+ i.remove_chain 0x00008038 Section 0 ff.o(i.remove_chain)
+ remove_chain 0x00008039 Thumb Code 136 ff.o(i.remove_chain)
+ i.send_cmd 0x000080c4 Section 0 user_diskio_spi.o(i.send_cmd)
+ send_cmd 0x000080c5 Thumb Code 156 user_diskio_spi.o(i.send_cmd)
+ i.spiselect 0x00008160 Section 0 user_diskio_spi.o(i.spiselect)
+ spiselect 0x00008161 Thumb Code 42 user_diskio_spi.o(i.spiselect)
+ i.st_clust 0x0000818a Section 0 ff.o(i.st_clust)
+ st_clust 0x0000818b Thumb Code 20 ff.o(i.st_clust)
+ i.sync_fs 0x000081a0 Section 0 ff.o(i.sync_fs)
+ sync_fs 0x000081a1 Thumb Code 276 ff.o(i.sync_fs)
+ i.sync_window 0x000082b8 Section 0 ff.o(i.sync_window)
+ sync_window 0x000082b9 Thumb Code 110 ff.o(i.sync_window)
+ i.uart_set_divisors 0x0000832c Section 0 a31g12x_hal_uartn.o(i.uart_set_divisors)
+ uart_set_divisors 0x0000832d Thumb Code 56 a31g12x_hal_uartn.o(i.uart_set_divisors)
+ i.usart_set_divisors 0x00008368 Section 0 a31g12x_hal_usart1n.o(i.usart_set_divisors)
+ usart_set_divisors 0x00008369 Thumb Code 58 a31g12x_hal_usart1n.o(i.usart_set_divisors)
+ i.validate 0x000083a8 Section 0 ff.o(i.validate)
+ validate 0x000083a9 Thumb Code 96 ff.o(i.validate)
+ i.wait_ready 0x00008408 Section 0 user_diskio_spi.o(i.wait_ready)
+ wait_ready 0x00008409 Thumb Code 48 user_diskio_spi.o(i.wait_ready)
+ i.xchg_spi 0x00008438 Section 0 user_diskio_spi.o(i.xchg_spi)
+ xchg_spi 0x00008439 Thumb Code 16 user_diskio_spi.o(i.xchg_spi)
+ i.xmit_datablock 0x00008448 Section 0 user_diskio_spi.o(i.xmit_datablock)
+ xmit_datablock 0x00008449 Thumb Code 76 user_diskio_spi.o(i.xmit_datablock)
+ i.xmit_spi_multi 0x00008494 Section 0 user_diskio_spi.o(i.xmit_spi_multi)
+ xmit_spi_multi 0x00008495 Thumb Code 16 user_diskio_spi.o(i.xmit_spi_multi)
+ .constdata 0x000084a4 Section 38 segment.o(.constdata)
+ .constdata 0x000084ca Section 172 ff.o(.constdata)
+ ExCvt 0x000084ca Data 128 ff.o(.constdata)
+ vst 0x0000854a Data 22 ff.o(.constdata)
+ cst 0x00008560 Data 22 ff.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)
@@ -1971,44 +2101,77 @@ Image Symbol Table
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)
+ .data 0x20000138 Section 18 save_file.o(.data)
+ SaveStep 0x20000138 Data 1 save_file.o(.data)
+ SaveFileTickCount 0x2000013c Data 4 save_file.o(.data)
+ SaveMin 0x20000140 Data 1 save_file.o(.data)
+ fres 0x20000141 Data 1 save_file.o(.data)
+ isGuidePrint 0x20000148 Data 1 save_file.o(.data)
+ isPowerOn 0x20000149 Data 1 save_file.o(.data)
+ .data 0x2000014a Section 8 rtc_process.o(.data)
+ rtc_Time 0x2000014a Data 8 rtc_process.o(.data)
+ .data 0x20000152 Section 4 action_process.o(.data)
+ .data 0x20000158 Section 12 buzzer.o(.data)
+ isBuzzerOn 0x20000158 Data 1 buzzer.o(.data)
+ BuzzerStartTick 0x2000015c Data 4 buzzer.o(.data)
+ BuzzerOnTimeCount 0x20000160 Data 4 buzzer.o(.data)
+ .data 0x20000164 Section 3 uart_packet.o(.data)
+ Pack_Index 0x20000164 Data 1 uart_packet.o(.data)
+ Pack_CheckSum 0x20000165 Data 1 uart_packet.o(.data)
+ Pack_DataLen 0x20000166 Data 1 uart_packet.o(.data)
+ .data 0x20000168 Section 9 kcd_hp100.o(.data)
+ KCD_HP100_DeviceID 0x20000168 Data 1 kcd_hp100.o(.data)
+ KCD_HP100_TxCommand 0x20000169 Data 1 kcd_hp100.o(.data)
+ KCD_HP100_RxIndex 0x2000016a Data 1 kcd_hp100.o(.data)
+ KCD_HP100_CheckSum 0x2000016b Data 1 kcd_hp100.o(.data)
+ KCD_HP100_TimeoutCount 0x2000016c Data 4 kcd_hp100.o(.data)
+ KCD_HP100_State 0x20000170 Data 1 kcd_hp100.o(.data)
+ .data 0x20000174 Section 16 a31g12x_hal_fmc.o(.data)
+ .data 0x20000184 Section 12 a31g12x_hal_uartn.o(.data)
+ UARTn_BaseClock 0x20000184 Data 4 a31g12x_hal_uartn.o(.data)
+ .data 0x20000190 Section 4 a31g12x_hal_usart1n.o(.data)
+ .data 0x20000194 Section 28 system_a31g12x.o(.data)
+ .data 0x200001b0 Section 5 fatfs.o(.data)
+ .data 0x200001b8 Section 24 user_diskio.o(.data)
+ Stat 0x200001b8 Data 1 user_diskio.o(.data)
+ .data 0x200001d0 Section 12 user_diskio_spi.o(.data)
+ Stat 0x200001d0 Data 1 user_diskio_spi.o(.data)
+ CardType 0x200001d1 Data 1 user_diskio_spi.o(.data)
+ .data 0x200001dc Section 6 ff.o(.data)
+ FatFs 0x200001dc Data 4 ff.o(.data)
+ Fsid 0x200001e0 Data 2 ff.o(.data)
+ .data 0x200001e4 Section 4 stdout.o(.data)
+ .bss 0x200001e8 Section 160 sw_timer.o(.bss)
+ SW_Timer_Info 0x200001e8 Data 160 sw_timer.o(.bss)
+ .bss 0x20000288 Section 340 uart1.o(.bss)
+ Tx_Buffer 0x20000288 Data 200 uart1.o(.bss)
+ Rx_Buffer 0x20000350 Data 100 uart1.o(.bss)
+ RingBuffer_Tx 0x200003b4 Data 20 uart1.o(.bss)
+ RingBuffer_Rx 0x200003c8 Data 20 uart1.o(.bss)
+ .bss 0x200003dc Section 2172 save_file.o(.bss)
+ FatFs 0x200003dc Data 560 save_file.o(.bss)
+ fil 0x2000060c Data 556 save_file.o(.bss)
+ dir 0x20000838 Data 544 save_file.o(.bss)
+ .bss 0x20000c58 Section 32 driver_ds3231_basic.o(.bss)
+ gs_handle 0x20000c58 Data 32 driver_ds3231_basic.o(.bss)
+ .bss 0x20000c78 Section 232 action_process.o(.bss)
+ Control_Info 0x20000d40 Data 32 action_process.o(.bss)
+ .bss 0x20000d60 Section 128 eeprom.o(.bss)
+ eeprom_info 0x20000d60 Data 128 eeprom.o(.bss)
+ .bss 0x20000de0 Section 10 segment.o(.bss)
+ .bss 0x20000dea Section 100 uart_packet.o(.bss)
+ Pack_Buff 0x20000dea Data 100 uart_packet.o(.bss)
+ .bss 0x20000e50 Section 240 usart11_rs485.o(.bss)
+ Tx_Buffer 0x20000e50 Data 100 usart11_rs485.o(.bss)
+ Rx_Buffer 0x20000eb4 Data 100 usart11_rs485.o(.bss)
+ RingBuffer_Tx 0x20000f18 Data 20 usart11_rs485.o(.bss)
+ RingBuffer_Rx 0x20000f2c Data 20 usart11_rs485.o(.bss)
+ .bss 0x20000f40 Section 26 kcd_hp100.o(.bss)
+ KCD_HP100_Result 0x20000f40 Data 26 kcd_hp100.o(.bss)
+ .bss 0x20000f5c Section 24 ff.o(.bss)
+ Files 0x20000f5c Data 24 ff.o(.bss)
+ .bss 0x20000f74 Section 12 ff_gen_drv.o(.bss)
+ STACK 0x20000f80 Section 1280 startup_a31g12x.o(STACK)
Global Symbols
@@ -2115,193 +2278,255 @@ Image Symbol Table
__aeabi_memclr4 0x0000016b Thumb Code 0 memseta.o(.text)
__aeabi_memclr8 0x0000016b Thumb Code 0 memseta.o(.text)
_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)
- __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)
+ strlen 0x00000181 Thumb Code 14 strlen.o(.text)
+ __aeabi_fdiv 0x0000018f Thumb Code 124 fdiv.o(.text)
+ __aeabi_f2iz 0x0000020b Thumb Code 50 ffixi.o(.text)
+ __aeabi_uldivmod 0x0000023d Thumb Code 96 uldiv.o(.text)
+ __I$use$fp 0x0000029d Thumb Code 0 iusefp.o(.text)
+ _float_round 0x0000029d Thumb Code 16 fepilogue.o(.text)
+ _float_epilogue 0x000002ad Thumb Code 114 fepilogue.o(.text)
+ __aeabi_dadd 0x00000321 Thumb Code 330 dadd.o(.text)
+ __aeabi_dsub 0x0000046b Thumb Code 12 dadd.o(.text)
+ __aeabi_drsub 0x00000477 Thumb Code 12 dadd.o(.text)
+ __aeabi_dmul 0x00000489 Thumb Code 202 dmul.o(.text)
+ __aeabi_ddiv 0x00000559 Thumb Code 234 ddiv.o(.text)
+ __aeabi_d2ulz 0x00000649 Thumb Code 54 dfixul.o(.text)
+ __aeabi_cdrcmple 0x00000689 Thumb Code 38 cdrcmple.o(.text)
+ __scatterload 0x000006b1 Thumb Code 28 init.o(.text)
+ __scatterload_rt2 0x000006b1 Thumb Code 0 init.o(.text)
+ __aeabi_llsl 0x000006d5 Thumb Code 32 llshl.o(.text)
+ _ll_shift_l 0x000006d5 Thumb Code 0 llshl.o(.text)
+ __aeabi_llsr 0x000006f5 Thumb Code 34 llushr.o(.text)
+ _ll_ushift_r 0x000006f5 Thumb Code 0 llushr.o(.text)
+ __aeabi_lasr 0x00000717 Thumb Code 38 llsshr.o(.text)
+ _ll_sshift_r 0x00000717 Thumb Code 0 llsshr.o(.text)
+ _double_round 0x0000073d Thumb Code 26 depilogue.o(.text)
+ _double_epilogue 0x00000757 Thumb Code 164 depilogue.o(.text)
+ __decompress 0x000007fb Thumb Code 0 __dczerorl2.o(.text)
+ __decompress1 0x000007fb Thumb Code 86 __dczerorl2.o(.text)
+ Action_Initialization 0x00000a69 Thumb Code 58 action_process.o(i.Action_Initialization)
+ Buzzer_Initialization 0x00001201 Thumb Code 34 buzzer.o(i.Buzzer_Initialization)
+ Buzzer_On 0x0000122d Thumb Code 24 buzzer.o(i.Buzzer_On)
+ Delay_I2C_Delay 0x000012a1 Thumb Code 14 gpio_i2c.o(i.Delay_I2C_Delay)
+ Delay_ms 0x000012b1 Thumb Code 16 systick_timer.o(i.Delay_ms)
+ EEPROM_Read_SettingValue 0x000012c5 Thumb Code 148 eeprom.o(i.EEPROM_Read_SettingValue)
+ EEPROM_Write_SettingValue 0x00001369 Thumb Code 174 eeprom.o(i.EEPROM_Write_SettingValue)
+ FATFS_LinkDriver 0x00001429 Thumb Code 18 ff_gen_drv.o(i.FATFS_LinkDriver)
+ FATFS_LinkDriverEx 0x0000143d Thumb Code 78 ff_gen_drv.o(i.FATFS_LinkDriverEx)
+ FATFS_UnLinkDriver 0x00001491 Thumb Code 14 ff_gen_drv.o(i.FATFS_UnLinkDriver)
+ FATFS_UnLinkDriverEx 0x000014a1 Thumb Code 64 ff_gen_drv.o(i.FATFS_UnLinkDriverEx)
+ FlashMEM_Clock_Initialization 0x000014e5 Thumb Code 16 eeprom.o(i.FlashMEM_Clock_Initialization)
+ FlashMem_Do_PageEr 0x000014f5 Thumb Code 16 eeprom.o(i.FlashMem_Do_PageEr)
+ FlashMem_Do_PageWt 0x00001509 Thumb Code 20 eeprom.o(i.FlashMem_Do_PageWt)
+ GPIO_I2C2_Initialization 0x00001521 Thumb Code 60 gpio_i2c.o(i.GPIO_I2C2_Initialization)
+ GPIO_I2C2_Read 0x00001561 Thumb Code 142 gpio_i2c.o(i.GPIO_I2C2_Read)
+ GPIO_I2C2_Start 0x000015f5 Thumb Code 70 gpio_i2c.o(i.GPIO_I2C2_Start)
+ GPIO_I2C2_Stop 0x00001641 Thumb Code 58 gpio_i2c.o(i.GPIO_I2C2_Stop)
+ GPIO_I2C2_Write 0x00001681 Thumb Code 142 gpio_i2c.o(i.GPIO_I2C2_Write)
+ Gpio_Led_OutputSet 0x00001715 Thumb Code 66 gpio_state_led.o(i.Gpio_Led_OutputSet)
+ Gpio_Sensor_PWR_Initialization 0x0000175d Thumb Code 32 gpio_sensor.o(i.Gpio_Sensor_PWR_Initialization)
+ Gpio_StateLed_Initialization 0x00001781 Thumb Code 92 gpio_state_led.o(i.Gpio_StateLed_Initialization)
+ Gpio_Switch_Port_Initialization 0x00001931 Thumb Code 106 gpio_switch.o(i.Gpio_Switch_Port_Initialization)
+ Gpio_Swtich_Set_Callback 0x000019c9 Thumb Code 34 gpio_switch.o(i.Gpio_Swtich_Set_Callback)
+ Gpio_Swtich_Set_PushCount 0x000019f1 Thumb Code 26 gpio_switch.o(i.Gpio_Swtich_Set_PushCount)
+ HAL_CRC_Init 0x00001a11 Thumb Code 14 a31g12x_hal_crc.o(i.HAL_CRC_Init)
+ HAL_FMC_FlashEntry 0x00001a21 Thumb Code 62 a31g12x_hal_fmc.o(i.HAL_FMC_FlashEntry)
+ HAL_FMC_FlashExit 0x00001a81 Thumb Code 36 a31g12x_hal_fmc.o(i.HAL_FMC_FlashExit)
+ HAL_FMC_FlashFunction 0x00001ab9 Thumb Code 338 a31g12x_hal_fmc.o(i.HAL_FMC_FlashFunction)
+ HAL_FMC_PageErase 0x00001c61 Thumb Code 50 a31g12x_hal_fmc.o(i.HAL_FMC_PageErase)
+ HAL_FMC_PageWrite 0x00001ca1 Thumb Code 52 a31g12x_hal_fmc.o(i.HAL_FMC_PageWrite)
+ HAL_GPIO_ClearPin 0x00001ce1 Thumb Code 4 a31g12x_hal_pcu.o(i.HAL_GPIO_ClearPin)
+ HAL_GPIO_ConfigFunction 0x00001ce5 Thumb Code 68 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigFunction)
+ HAL_GPIO_ConfigOutput 0x00001d29 Thumb Code 70 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigOutput)
+ HAL_GPIO_ConfigPullup 0x00001d6f Thumb Code 30 a31g12x_hal_pcu.o(i.HAL_GPIO_ConfigPullup)
+ HAL_GPIO_ReadPin 0x00001d8d Thumb Code 8 a31g12x_hal_pcu.o(i.HAL_GPIO_ReadPin)
+ HAL_GPIO_SetDebouncePin 0x00001d95 Thumb Code 22 a31g12x_hal_pcu.o(i.HAL_GPIO_SetDebouncePin)
+ HAL_GPIO_SetPin 0x00001dab Thumb Code 4 a31g12x_hal_pcu.o(i.HAL_GPIO_SetPin)
+ HAL_INT_EInt_MaskDisable 0x00001db1 Thumb Code 12 a31g12x_hal_intc.o(i.HAL_INT_EInt_MaskDisable)
+ HAL_SCU_ClockMonitoring 0x00001dc1 Thumb Code 50 a31g12x_hal_scu.o(i.HAL_SCU_ClockMonitoring)
+ HAL_SCU_ClockSource_Enable 0x00001dfd Thumb Code 22 a31g12x_hal_scu.o(i.HAL_SCU_ClockSource_Enable)
+ HAL_SCU_Peripheral_ClockConfig 0x00001e21 Thumb Code 8 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_ClockConfig)
+ HAL_SCU_Peripheral_EnableClock1 0x00001e2d Thumb Code 28 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock1)
+ HAL_SCU_Peripheral_EnableClock2 0x00001e4d Thumb Code 28 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_EnableClock2)
+ HAL_SCU_Peripheral_SetReset2 0x00001e6d Thumb Code 24 a31g12x_hal_scu.o(i.HAL_SCU_Peripheral_SetReset2)
+ HAL_SCU_SystemClockChange 0x00001e89 Thumb Code 10 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockChange)
+ HAL_SCU_SystemClockDivider 0x00001e9d Thumb Code 8 a31g12x_hal_scu.o(i.HAL_SCU_SystemClockDivider)
+ HAL_TIMER1n_Cmd 0x00001ea9 Thumb Code 38 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Cmd)
+ HAL_TIMER1n_ConfigInterrupt 0x00001ecf Thumb Code 56 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_ConfigInterrupt)
+ HAL_TIMER1n_Init 0x00001f09 Thumb Code 332 a31g12x_hal_timer1n.o(i.HAL_TIMER1n_Init)
+ HAL_UART_ConfigInterrupt 0x00002071 Thumb Code 76 a31g12x_hal_uartn.o(i.HAL_UART_ConfigInterrupt)
+ HAL_UART_ConfigStructInit 0x000020bd Thumb Code 30 a31g12x_hal_uartn.o(i.HAL_UART_ConfigStructInit)
+ HAL_UART_Init 0x000020dd Thumb Code 244 a31g12x_hal_uartn.o(i.HAL_UART_Init)
+ HAL_UART_Receive 0x000021e1 Thumb Code 110 a31g12x_hal_uartn.o(i.HAL_UART_Receive)
+ HAL_UART_ReceiveByte 0x00002255 Thumb Code 8 a31g12x_hal_uartn.o(i.HAL_UART_ReceiveByte)
+ HAL_UART_Transmit 0x0000225d Thumb Code 122 a31g12x_hal_uartn.o(i.HAL_UART_Transmit)
+ HAL_UART_TransmitByte 0x000022dd Thumb Code 16 a31g12x_hal_uartn.o(i.HAL_UART_TransmitByte)
+ HAL_USART_CheckBusy 0x000022ed Thumb Code 20 a31g12x_hal_usart1n.o(i.HAL_USART_CheckBusy)
+ HAL_USART_ClearStatus 0x00002301 Thumb Code 58 a31g12x_hal_usart1n.o(i.HAL_USART_ClearStatus)
+ HAL_USART_ConfigInterrupt 0x0000233b Thumb Code 76 a31g12x_hal_usart1n.o(i.HAL_USART_ConfigInterrupt)
+ HAL_USART_DataControlConfig 0x00002387 Thumb Code 106 a31g12x_hal_usart1n.o(i.HAL_USART_DataControlConfig)
+ HAL_USART_Enable 0x000023f1 Thumb Code 38 a31g12x_hal_usart1n.o(i.HAL_USART_Enable)
+ HAL_USART_GetStatus 0x00002417 Thumb Code 8 a31g12x_hal_usart1n.o(i.HAL_USART_GetStatus)
+ HAL_USART_Init 0x00002421 Thumb Code 218 a31g12x_hal_usart1n.o(i.HAL_USART_Init)
+ HAL_USART_Receive 0x00002515 Thumb Code 114 a31g12x_hal_usart1n.o(i.HAL_USART_Receive)
+ HAL_USART_ReceiveByte 0x00002587 Thumb Code 8 a31g12x_hal_usart1n.o(i.HAL_USART_ReceiveByte)
+ HAL_USART_SPI_Mode_Config 0x0000258f Thumb Code 40 a31g12x_hal_usart1n.o(i.HAL_USART_SPI_Mode_Config)
+ HAL_USART_Transmit 0x000025b7 Thumb Code 132 a31g12x_hal_usart1n.o(i.HAL_USART_Transmit)
+ HAL_USART_TransmitByte 0x0000263b Thumb Code 16 a31g12x_hal_usart1n.o(i.HAL_USART_TransmitByte)
+ HAL_USART_UART_Mode_Config 0x0000264b Thumb Code 34 a31g12x_hal_usart1n.o(i.HAL_USART_UART_Mode_Config)
+ HardFault_Handler 0x0000266d Thumb Code 4 a31g12x_interrupt.o(i.HardFault_Handler)
+ I2C2_Read 0x00002671 Thumb Code 60 gpio_i2c.o(i.I2C2_Read)
+ I2C2_Write 0x000026ad Thumb Code 46 gpio_i2c.o(i.I2C2_Write)
+ KCD_HP100_GetState 0x000026dd Thumb Code 6 kcd_hp100.o(i.KCD_HP100_GetState)
+ KCD_HP100_Get_Co2 0x000026e9 Thumb Code 30 kcd_hp100.o(i.KCD_HP100_Get_Co2)
+ KCD_HP100_Initialization 0x00002711 Thumb Code 26 kcd_hp100.o(i.KCD_HP100_Initialization)
+ KCD_HP100_Tx_Get_MeasurmentData 0x00002739 Thumb Code 104 kcd_hp100.o(i.KCD_HP100_Tx_Get_MeasurmentData)
+ MX_FATFS_Init 0x0000290d Thumb Code 16 fatfs.o(i.MX_FATFS_Init)
+ NMI_Handler 0x00002929 Thumb Code 2 a31g12x_interrupt.o(i.NMI_Handler)
+ PendSV_Handler 0x00002b0d Thumb Code 2 a31g12x_interrupt.o(i.PendSV_Handler)
+ RTC_Get_Time 0x00002b69 Thumb Code 16 rtc_process.o(i.RTC_Get_Time)
+ RTC_Process_Initialization 0x00002b7d Thumb Code 24 rtc_process.o(i.RTC_Process_Initialization)
+ RingBuffer_Dequeue 0x00002b99 Thumb Code 62 ring_buffer.o(i.RingBuffer_Dequeue)
+ RingBuffer_Enqueue 0x00002bd7 Thumb Code 64 ring_buffer.o(i.RingBuffer_Enqueue)
+ RingBuffer_GetData 0x00002c17 Thumb Code 14 ring_buffer.o(i.RingBuffer_GetData)
+ RingBuffer_Get_DataSize 0x00002c25 Thumb Code 50 ring_buffer.o(i.RingBuffer_Get_DataSize)
+ RingBuffer_Initialization 0x00002c57 Thumb Code 38 ring_buffer.o(i.RingBuffer_Initialization)
+ RingBuffer_PopData 0x00002c7d Thumb Code 38 ring_buffer.o(i.RingBuffer_PopData)
+ RingBuffer_isEmpty 0x00002ca3 Thumb Code 18 ring_buffer.o(i.RingBuffer_isEmpty)
+ RingBuffer_isFull 0x00002cb5 Thumb Code 36 ring_buffer.o(i.RingBuffer_isFull)
+ SPI10_Initialization 0x00002cd9 Thumb Code 234 spi10.o(i.SPI10_Initialization)
+ SPI10_SendReceiveByte 0x00002dcd Thumb Code 42 spi10.o(i.SPI10_SendReceiveByte)
+ SPI10_Transmit 0x00002dfd Thumb Code 56 spi10.o(i.SPI10_Transmit)
+ SPI13_Initialization 0x00002e39 Thumb Code 180 spi13.o(i.SPI13_Initialization)
+ SPI13_Transmit 0x00002ef5 Thumb Code 56 spi13.o(i.SPI13_Transmit)
+ SPI_Timer_On 0x00002f31 Thumb Code 18 user_diskio_spi.o(i.SPI_Timer_On)
+ SPI_Timer_Status 0x00002f4d Thumb Code 28 user_diskio_spi.o(i.SPI_Timer_Status)
+ SVC_Handler 0x00002f71 Thumb Code 2 a31g12x_interrupt.o(i.SVC_Handler)
+ SW_Timer_Callback_Process 0x00002f75 Thumb Code 124 sw_timer.o(i.SW_Timer_Callback_Process)
+ SW_Timer_Callback_Register 0x00002ff5 Thumb Code 78 sw_timer.o(i.SW_Timer_Callback_Register)
+ Save_SensorData_SDCard 0x00003049 Thumb Code 412 save_file.o(i.Save_SensorData_SDCard)
+ Segment_All_Set_Data 0x00003341 Thumb Code 28 segment.o(i.Segment_All_Set_Data)
+ Segment_Initialization 0x00003361 Thumb Code 54 segment_74hc595d.o(i.Segment_Initialization)
+ Segment_Show_SensorData 0x000033b9 Thumb Code 412 segment.o(i.Segment_Show_SensorData)
+ Segment_Show_SettingData 0x00003565 Thumb Code 278 segment.o(i.Segment_Show_SettingData)
+ Segment_Show_Time 0x00003685 Thumb Code 120 segment.o(i.Segment_Show_Time)
+ Segment_Show_Version 0x00003705 Thumb Code 118 segment.o(i.Segment_Show_Version)
+ SysTick_Handler 0x00003859 Thumb Code 30 systick_timer.o(i.SysTick_Handler)
+ SystemInit 0x00003881 Thumb Code 22 system_a31g12x.o(i.SystemInit)
+ System_Clock_Initialization 0x000038a5 Thumb Code 66 a31g12x_systemclock.o(i.System_Clock_Initialization)
+ Systick_Initialization 0x000038f5 Thumb Code 76 a31g12x_systemclock.o(i.Systick_Initialization)
+ TIMER12_Handler 0x0000394d Thumb Code 44 timer12.o(i.TIMER12_Handler)
+ Timer12_Initialization 0x00003981 Thumb Code 84 timer12.o(i.Timer12_Initialization)
+ Timer12_Set_Match_Interrupt_Callback 0x000039dd Thumb Code 6 timer12.o(i.Timer12_Set_Match_Interrupt_Callback)
+ UART1_Handler 0x000039e9 Thumb Code 34 uart1.o(i.UART1_Handler)
+ USART11_Handler 0x00003a11 Thumb Code 26 usart11_rs485.o(i.USART11_Handler)
+ USER_SPI_initialize 0x00003a31 Thumb Code 336 user_diskio_spi.o(i.USER_SPI_initialize)
+ USER_SPI_ioctl 0x00003b91 Thumb Code 562 user_diskio_spi.o(i.USER_SPI_ioctl)
+ USER_SPI_read 0x00003dd1 Thumb Code 152 user_diskio_spi.o(i.USER_SPI_read)
+ USER_SPI_status 0x00003e71 Thumb Code 16 user_diskio_spi.o(i.USER_SPI_status)
+ USER_SPI_write 0x00003e85 Thumb Code 192 user_diskio_spi.o(i.USER_SPI_write)
+ USER_initialize 0x00003f4d Thumb Code 12 user_diskio.o(i.USER_initialize)
+ USER_ioctl 0x00003f59 Thumb Code 20 user_diskio.o(i.USER_ioctl)
+ USER_read 0x00003f6d Thumb Code 24 user_diskio.o(i.USER_read)
+ USER_status 0x00003f85 Thumb Code 12 user_diskio.o(i.USER_status)
+ USER_write 0x00003f91 Thumb Code 24 user_diskio.o(i.USER_write)
+ Uart1_Get_RecvData 0x00003fa9 Thumb Code 16 uart1.o(i.Uart1_Get_RecvData)
+ Uart1_Get_RecvDataCount 0x00003fbd Thumb Code 10 uart1.o(i.Uart1_Get_RecvDataCount)
+ Uart1_Initialization 0x00003fcd Thumb Code 158 uart1.o(i.Uart1_Initialization)
+ Uart1_Transmit 0x000040c1 Thumb Code 14 uart1.o(i.Uart1_Transmit)
+ Uart_Packet_Initialization 0x0000410d Thumb Code 20 uart_packet.o(i.Uart_Packet_Initialization)
+ Usart11_Get_RecvData 0x00004305 Thumb Code 16 usart11_rs485.o(i.Usart11_Get_RecvData)
+ Usart11_Get_RecvDataCount 0x00004319 Thumb Code 10 usart11_rs485.o(i.Usart11_Get_RecvDataCount)
+ Usart11_Initialization 0x00004329 Thumb Code 194 usart11_rs485.o(i.Usart11_Initialization)
+ Usart11_TransmitData 0x00004441 Thumb Code 26 usart11_rs485.o(i.Usart11_TransmitData)
+ __0printf 0x000044dd Thumb Code 24 printfa.o(i.__0printf)
+ __1printf 0x000044dd Thumb Code 0 printfa.o(i.__0printf)
+ __2printf 0x000044dd Thumb Code 0 printfa.o(i.__0printf)
+ __c89printf 0x000044dd Thumb Code 0 printfa.o(i.__0printf)
+ printf 0x000044dd Thumb Code 0 printfa.o(i.__0printf)
+ __0sprintf 0x000044fd Thumb Code 36 printfa.o(i.__0sprintf)
+ __1sprintf 0x000044fd Thumb Code 0 printfa.o(i.__0sprintf)
+ __2sprintf 0x000044fd Thumb Code 0 printfa.o(i.__0sprintf)
+ __c89sprintf 0x000044fd Thumb Code 0 printfa.o(i.__0sprintf)
+ sprintf 0x000044fd Thumb Code 0 printfa.o(i.__0sprintf)
+ __ARM_clz 0x00004525 Thumb Code 46 depilogue.o(i.__ARM_clz)
+ __ARM_common_switch8 0x00004553 Thumb Code 28 segment_74hc595d.o(i.__ARM_common_switch8)
+ __scatterload_copy 0x0000456f Thumb Code 14 handlers.o(i.__scatterload_copy)
+ __scatterload_null 0x0000457d Thumb Code 2 handlers.o(i.__scatterload_null)
+ __scatterload_zeroinit 0x0000457f Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
+ clust2sect 0x00005089 Thumb Code 36 ff.o(i.clust2sect)
+ disk_initialize 0x00005739 Thumb Code 42 diskio.o(i.disk_initialize)
+ disk_ioctl 0x00005769 Thumb Code 32 diskio.o(i.disk_ioctl)
+ disk_read 0x0000578d Thumb Code 38 diskio.o(i.disk_read)
+ disk_status 0x000057b9 Thumb Code 24 diskio.o(i.disk_status)
+ disk_write 0x000057d5 Thumb Code 38 diskio.o(i.disk_write)
+ ds3231_aging_offset_convert_to_register 0x00005801 Thumb Code 48 driver_ds3231.o(i.ds3231_aging_offset_convert_to_register)
+ ds3231_basic_get_time 0x00005835 Thumb Code 24 driver_ds3231_basic.o(i.ds3231_basic_get_time)
+ ds3231_basic_init 0x00005851 Thumb Code 316 driver_ds3231_basic.o(i.ds3231_basic_init)
+ ds3231_basic_set_time 0x00005ae5 Thumb Code 24 driver_ds3231_basic.o(i.ds3231_basic_set_time)
+ ds3231_deinit 0x00005b01 Thumb Code 48 driver_ds3231.o(i.ds3231_deinit)
+ ds3231_get_time 0x00005b4d Thumb Code 208 driver_ds3231.o(i.ds3231_get_time)
+ ds3231_init 0x00005c59 Thumb Code 218 driver_ds3231.o(i.ds3231_init)
+ ds3231_interface_debug_print 0x00005e45 Thumb Code 2 driver_ds3231_interface_template.o(i.ds3231_interface_debug_print)
+ ds3231_interface_delay_ms 0x00005e47 Thumb Code 12 driver_ds3231_interface_template.o(i.ds3231_interface_delay_ms)
+ ds3231_interface_iic_deinit 0x00005e53 Thumb Code 4 driver_ds3231_interface_template.o(i.ds3231_interface_iic_deinit)
+ ds3231_interface_iic_init 0x00005e57 Thumb Code 4 driver_ds3231_interface_template.o(i.ds3231_interface_iic_init)
+ ds3231_interface_iic_read 0x00005e5b Thumb Code 34 driver_ds3231_interface_template.o(i.ds3231_interface_iic_read)
+ ds3231_interface_iic_write 0x00005e7d Thumb Code 46 driver_ds3231_interface_template.o(i.ds3231_interface_iic_write)
+ ds3231_interface_receive_callback 0x00005ead Thumb Code 34 driver_ds3231_interface_template.o(i.ds3231_interface_receive_callback)
+ ds3231_set_32khz_output 0x00005f01 Thumb Code 106 driver_ds3231.o(i.ds3231_set_32khz_output)
+ ds3231_set_aging_offset 0x00005fad Thumb Code 54 driver_ds3231.o(i.ds3231_set_aging_offset)
+ ds3231_set_alarm_interrupt 0x00006005 Thumb Code 112 driver_ds3231.o(i.ds3231_set_alarm_interrupt)
+ ds3231_set_oscillator 0x000060b5 Thumb Code 114 driver_ds3231.o(i.ds3231_set_oscillator)
+ ds3231_set_pin 0x00006169 Thumb Code 106 driver_ds3231.o(i.ds3231_set_pin)
+ ds3231_set_square_wave 0x00006215 Thumb Code 106 driver_ds3231.o(i.ds3231_set_square_wave)
+ ds3231_set_time 0x000062c1 Thumb Code 662 driver_ds3231.o(i.ds3231_set_time)
+ f_close 0x000067fd Thumb Code 56 ff.o(i.f_close)
+ f_closedir 0x00006835 Thumb Code 54 ff.o(i.f_closedir)
+ f_lseek 0x0000686d Thumb Code 1100 ff.o(i.f_lseek)
+ f_mkdir 0x00006cbd Thumb Code 410 ff.o(i.f_mkdir)
+ f_mount 0x00006e59 Thumb Code 108 ff.o(i.f_mount)
+ f_open 0x00006ec9 Thumb Code 536 ff.o(i.f_open)
+ f_opendir 0x000070e5 Thumb Code 210 ff.o(i.f_opendir)
+ f_sync 0x000071b9 Thumb Code 250 ff.o(i.f_sync)
+ f_write 0x000072b9 Thumb Code 770 ff.o(i.f_write)
+ fputc 0x00007ae7 Thumb Code 16 dbg_printf.o(i.fputc)
+ get_fat 0x00007af7 Thumb Code 260 ff.o(i.get_fat)
+ get_fattime 0x00007bfb Thumb Code 4 fatfs.o(i.get_fattime)
+ main 0x00007d59 Thumb Code 116 main.o(i.main)
+ millis 0x00007e29 Thumb Code 6 systick_timer.o(i.millis)
+ put_fat 0x00007e79 Thumb Code 354 ff.o(i.put_fat)
+ SegmentData 0x000084a4 Data 38 segment.o(.constdata)
+ Region$$Table$$Base 0x00008578 Number 0 anon$$obj.o(Region$$Table)
+ Region$$Table$$Limit 0x00008598 Number 0 anon$$obj.o(Region$$Table)
nDelayCount 0x20000004 Data 4 systick_timer.o(.data)
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)
+ WriteDataSize 0x20000144 Data 4 save_file.o(.data)
+ SaveCheckSec 0x20000152 Data 1 action_process.o(.data)
+ SaveSensorIndex 0x20000154 Data 2 action_process.o(.data)
+ flash_id1_reg 0x20000174 Data 4 a31g12x_hal_fmc.o(.data)
+ flash_id2_reg 0x20000178 Data 4 a31g12x_hal_fmc.o(.data)
+ flash_addr_code0 0x2000017c Data 4 a31g12x_hal_fmc.o(.data)
+ flash_addr_code1 0x20000180 Data 4 a31g12x_hal_fmc.o(.data)
+ InFlag 0x20000188 Data 4 a31g12x_hal_uartn.o(.data)
+ InCount 0x2000018c Data 4 a31g12x_hal_uartn.o(.data)
+ USART1n_BaseClock 0x20000190 Data 4 a31g12x_hal_usart1n.o(.data)
+ mclk 0x20000194 Data 4 system_a31g12x.o(.data)
+ SystemCoreClock 0x20000198 Data 4 system_a31g12x.o(.data)
+ SystemPeriClock 0x2000019c Data 4 system_a31g12x.o(.data)
+ ClkSrcTbl 0x200001a0 Data 16 system_a31g12x.o(.data)
+ retUSER 0x200001b0 Data 1 fatfs.o(.data)
+ USERPath 0x200001b1 Data 4 fatfs.o(.data)
+ USER_Driver 0x200001bc Data 20 user_diskio.o(.data)
+ spiTimerTickStart 0x200001d4 Data 4 user_diskio_spi.o(.data)
+ spiTimerTickDelay 0x200001d8 Data 4 user_diskio_spi.o(.data)
+ __stdout 0x200001e4 Data 4 stdout.o(.data)
+ FileBuffer 0x20000a58 Data 512 save_file.o(.bss)
+ SaveSensorCo2 0x20000c78 Data 200 action_process.o(.bss)
+ Segment_OutputBuff 0x20000de0 Data 10 segment.o(.bss)
+ disk 0x20000f74 Data 12 ff_gen_drv.o(.bss)
+ __initial_sp 0x20001480 Data 0 startup_a31g12x.o(STACK)
@@ -2311,265 +2536,388 @@ Memory Map of the image
Image Entry point : 0x000000b1
- Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00004e68, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x00004d1c])
+ Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00008780, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x000085f4])
- Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00004cd8, Max: 0x00010000, ABSOLUTE)
+ Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00008598, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 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])
+ 0x00000000 0x00000000 0x000000b0 Data RO 3117 RESET startup_a31g12x.o
+ 0x000000b0 0x000000b0 0x00000000 Code RO 3831 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
+ 0x000000b0 0x000000b0 0x00000004 Code RO 4124 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
+ 0x000000b4 0x000000b4 0x00000004 Code RO 4127 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
+ 0x000000b8 0x000000b8 0x00000000 Code RO 4129 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
+ 0x000000b8 0x000000b8 0x00000000 Code RO 4131 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
+ 0x000000b8 0x000000b8 0x00000008 Code RO 4132 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
+ 0x000000c0 0x000000c0 0x00000004 Code RO 4139 .ARM.Collect$$$$0000000E mc_p.l(entry12b.o)
+ 0x000000c4 0x000000c4 0x00000000 Code RO 4134 .ARM.Collect$$$$0000000F mc_p.l(entry10a.o)
+ 0x000000c4 0x000000c4 0x00000000 Code RO 4136 .ARM.Collect$$$$00000011 mc_p.l(entry11a.o)
+ 0x000000c4 0x000000c4 0x00000004 Code RO 4125 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
+ 0x000000c8 0x000000c8 0x0000001c Code RO 3118 .text startup_a31g12x.o
+ 0x000000e4 0x000000e4 0x0000002c Code RO 3834 .text mc_p.l(uidiv.o)
+ 0x00000110 0x00000110 0x00000028 Code RO 3836 .text mc_p.l(idiv.o)
+ 0x00000138 0x00000138 0x00000024 Code RO 3845 .text mc_p.l(memcpya.o)
+ 0x0000015c 0x0000015c 0x00000024 Code RO 3847 .text mc_p.l(memseta.o)
+ 0x00000180 0x00000180 0x0000000e Code RO 3851 .text mc_p.l(strlen.o)
+ 0x0000018e 0x0000018e 0x0000007c Code RO 4118 .text mf_p.l(fdiv.o)
+ 0x0000020a 0x0000020a 0x00000032 Code RO 4122 .text mf_p.l(ffixi.o)
+ 0x0000023c 0x0000023c 0x00000060 Code RO 4141 .text mc_p.l(uldiv.o)
+ 0x0000029c 0x0000029c 0x00000000 Code RO 4149 .text mc_p.l(iusefp.o)
+ 0x0000029c 0x0000029c 0x00000082 Code RO 4150 .text mf_p.l(fepilogue.o)
+ 0x0000031e 0x0000031e 0x00000002 PAD
+ 0x00000320 0x00000320 0x00000168 Code RO 4152 .text mf_p.l(dadd.o)
+ 0x00000488 0x00000488 0x000000d0 Code RO 4154 .text mf_p.l(dmul.o)
+ 0x00000558 0x00000558 0x000000f0 Code RO 4156 .text mf_p.l(ddiv.o)
+ 0x00000648 0x00000648 0x00000040 Code RO 4158 .text mf_p.l(dfixul.o)
+ 0x00000688 0x00000688 0x00000028 Code RO 4160 .text mf_p.l(cdrcmple.o)
+ 0x000006b0 0x000006b0 0x00000024 Code RO 4162 .text mc_p.l(init.o)
+ 0x000006d4 0x000006d4 0x00000020 Code RO 4164 .text mc_p.l(llshl.o)
+ 0x000006f4 0x000006f4 0x00000022 Code RO 4166 .text mc_p.l(llushr.o)
+ 0x00000716 0x00000716 0x00000026 Code RO 4168 .text mc_p.l(llsshr.o)
+ 0x0000073c 0x0000073c 0x000000be Code RO 4170 .text mf_p.l(depilogue.o)
+ 0x000007fa 0x000007fa 0x00000056 Code RO 4182 .text mc_p.l(__dczerorl2.o)
+ 0x00000850 0x00000850 0x00000104 Code RO 1294 i.Action_Down_Key_Push action_process.o
+ 0x00000954 0x00000954 0x00000014 Code RO 1295 i.Action_Get_SensorData action_process.o
+ 0x00000968 0x00000968 0x00000100 Code RO 1296 i.Action_Get_SensorReadProcess action_process.o
+ 0x00000a68 0x00000a68 0x00000054 Code RO 1297 i.Action_Initialization action_process.o
+ 0x00000abc 0x00000abc 0x00000100 Code RO 1298 i.Action_Mode_Key_Push action_process.o
+ 0x00000bbc 0x00000bbc 0x000000f0 Code RO 1299 i.Action_PowerOn_Init_Process action_process.o
+ 0x00000cac 0x00000cac 0x00000190 Code RO 1300 i.Action_PowerOn_Process action_process.o
+ 0x00000e3c 0x00000e3c 0x00000014 Code RO 1301 i.Action_Power_Off_Key_Push_Callback action_process.o
+ 0x00000e50 0x00000e50 0x00000020 Code RO 1302 i.Action_Power_Off_Key_Set action_process.o
+ 0x00000e70 0x00000e70 0x00000018 Code RO 1303 i.Action_Power_On_Key_Push_Callback action_process.o
+ 0x00000e88 0x00000e88 0x00000020 Code RO 1304 i.Action_Power_On_Key_Set action_process.o
+ 0x00000ea8 0x00000ea8 0x00000024 Code RO 1305 i.Action_Process action_process.o
+ 0x00000ecc 0x00000ecc 0x00000054 Code RO 1306 i.Action_ReturnMainViewCheck action_process.o
+ 0x00000f20 0x00000f20 0x00000134 Code RO 1307 i.Action_SaveSensorData action_process.o
+ 0x00001054 0x00001054 0x000000b4 Code RO 1308 i.Action_Set_Key_Push action_process.o
+ 0x00001108 0x00001108 0x000000f8 Code RO 1309 i.Action_Up_Key_Push action_process.o
+ 0x00001200 0x00001200 0x0000002c Code RO 1439 i.Buzzer_Initialization buzzer.o
+ 0x0000122c 0x0000122c 0x00000024 Code RO 1440 i.Buzzer_On buzzer.o
+ 0x00001250 0x00001250 0x00000050 Code RO 1441 i.Buzzer_Output_Process buzzer.o
+ 0x000012a0 0x000012a0 0x0000000e Code RO 691 i.Delay_I2C_Delay gpio_i2c.o
+ 0x000012ae 0x000012ae 0x00000002 PAD
+ 0x000012b0 0x000012b0 0x00000014 Code RO 350 i.Delay_ms systick_timer.o
+ 0x000012c4 0x000012c4 0x000000a4 Code RO 1393 i.EEPROM_Read_SettingValue eeprom.o
+ 0x00001368 0x00001368 0x000000c0 Code RO 1394 i.EEPROM_Write_SettingValue eeprom.o
+ 0x00001428 0x00001428 0x00000012 Code RO 3787 i.FATFS_LinkDriver ff_gen_drv.o
+ 0x0000143a 0x0000143a 0x00000002 PAD
+ 0x0000143c 0x0000143c 0x00000054 Code RO 3788 i.FATFS_LinkDriverEx ff_gen_drv.o
+ 0x00001490 0x00001490 0x0000000e Code RO 3789 i.FATFS_UnLinkDriver ff_gen_drv.o
+ 0x0000149e 0x0000149e 0x00000002 PAD
+ 0x000014a0 0x000014a0 0x00000044 Code RO 3790 i.FATFS_UnLinkDriverEx ff_gen_drv.o
+ 0x000014e4 0x000014e4 0x00000010 Code RO 1395 i.FlashMEM_Clock_Initialization eeprom.o
+ 0x000014f4 0x000014f4 0x00000014 Code RO 1396 i.FlashMem_Do_PageEr eeprom.o
+ 0x00001508 0x00001508 0x00000018 Code RO 1397 i.FlashMem_Do_PageWt eeprom.o
+ 0x00001520 0x00001520 0x00000040 Code RO 702 i.GPIO_I2C2_Initialization gpio_i2c.o
+ 0x00001560 0x00001560 0x00000094 Code RO 703 i.GPIO_I2C2_Read gpio_i2c.o
+ 0x000015f4 0x000015f4 0x0000004c Code RO 704 i.GPIO_I2C2_Start gpio_i2c.o
+ 0x00001640 0x00001640 0x00000040 Code RO 705 i.GPIO_I2C2_Stop gpio_i2c.o
+ 0x00001680 0x00001680 0x00000094 Code RO 706 i.GPIO_I2C2_Write gpio_i2c.o
+ 0x00001714 0x00001714 0x00000048 Code RO 456 i.Gpio_Led_OutputSet gpio_state_led.o
+ 0x0000175c 0x0000175c 0x00000024 Code RO 1472 i.Gpio_Sensor_PWR_Initialization gpio_sensor.o
+ 0x00001780 0x00001780 0x0000006c Code RO 457 i.Gpio_StateLed_Initialization gpio_state_led.o
+ 0x000017ec 0x000017ec 0x00000144 Code RO 499 i.Gpio_Switch_Check_Process gpio_switch.o
+ 0x00001930 0x00001930 0x00000078 Code RO 500 i.Gpio_Switch_Port_Initialization gpio_switch.o
+ 0x000019a8 0x000019a8 0x00000020 Code RO 501 i.Gpio_Switch_TestCallback gpio_switch.o
+ 0x000019c8 0x000019c8 0x00000028 Code RO 502 i.Gpio_Swtich_Set_Callback gpio_switch.o
+ 0x000019f0 0x000019f0 0x00000020 Code RO 503 i.Gpio_Swtich_Set_PushCount gpio_switch.o
+ 0x00001a10 0x00001a10 0x0000000e Code RO 1812 i.HAL_CRC_Init a31g12x_hal_crc.o
+ 0x00001a1e 0x00001a1e 0x00000002 PAD
+ 0x00001a20 0x00001a20 0x00000060 Code RO 1967 i.HAL_FMC_FlashEntry a31g12x_hal_fmc.o
+ 0x00001a80 0x00001a80 0x00000038 Code RO 1968 i.HAL_FMC_FlashExit a31g12x_hal_fmc.o
+ 0x00001ab8 0x00001ab8 0x000001a8 Code RO 1969 i.HAL_FMC_FlashFunction a31g12x_hal_fmc.o
+ 0x00001c60 0x00001c60 0x00000040 Code RO 1970 i.HAL_FMC_PageErase a31g12x_hal_fmc.o
+ 0x00001ca0 0x00001ca0 0x00000040 Code RO 1971 i.HAL_FMC_PageWrite a31g12x_hal_fmc.o
+ 0x00001ce0 0x00001ce0 0x00000004 Code RO 2271 i.HAL_GPIO_ClearPin a31g12x_hal_pcu.o
+ 0x00001ce4 0x00001ce4 0x00000044 Code RO 2272 i.HAL_GPIO_ConfigFunction a31g12x_hal_pcu.o
+ 0x00001d28 0x00001d28 0x00000046 Code RO 2274 i.HAL_GPIO_ConfigOutput a31g12x_hal_pcu.o
+ 0x00001d6e 0x00001d6e 0x0000001e Code RO 2275 i.HAL_GPIO_ConfigPullup a31g12x_hal_pcu.o
+ 0x00001d8c 0x00001d8c 0x00000008 Code RO 2277 i.HAL_GPIO_ReadPin a31g12x_hal_pcu.o
+ 0x00001d94 0x00001d94 0x00000016 Code RO 2278 i.HAL_GPIO_SetDebouncePin a31g12x_hal_pcu.o
+ 0x00001daa 0x00001daa 0x00000004 Code RO 2279 i.HAL_GPIO_SetPin a31g12x_hal_pcu.o
+ 0x00001dae 0x00001dae 0x00000002 PAD
+ 0x00001db0 0x00001db0 0x00000010 Code RO 2167 i.HAL_INT_EInt_MaskDisable a31g12x_hal_intc.o
+ 0x00001dc0 0x00001dc0 0x0000003c Code RO 2378 i.HAL_SCU_ClockMonitoring a31g12x_hal_scu.o
+ 0x00001dfc 0x00001dfc 0x00000024 Code RO 2383 i.HAL_SCU_ClockSource_Enable a31g12x_hal_scu.o
+ 0x00001e20 0x00001e20 0x0000000c Code RO 2386 i.HAL_SCU_Peripheral_ClockConfig a31g12x_hal_scu.o
+ 0x00001e2c 0x00001e2c 0x00000020 Code RO 2388 i.HAL_SCU_Peripheral_EnableClock1 a31g12x_hal_scu.o
+ 0x00001e4c 0x00001e4c 0x00000020 Code RO 2389 i.HAL_SCU_Peripheral_EnableClock2 a31g12x_hal_scu.o
+ 0x00001e6c 0x00001e6c 0x0000001c Code RO 2392 i.HAL_SCU_Peripheral_SetReset2 a31g12x_hal_scu.o
+ 0x00001e88 0x00001e88 0x00000014 Code RO 2398 i.HAL_SCU_SystemClockChange a31g12x_hal_scu.o
+ 0x00001e9c 0x00001e9c 0x0000000c Code RO 2399 i.HAL_SCU_SystemClockDivider a31g12x_hal_scu.o
+ 0x00001ea8 0x00001ea8 0x00000026 Code RO 2555 i.HAL_TIMER1n_Cmd a31g12x_hal_timer1n.o
+ 0x00001ece 0x00001ece 0x00000038 Code RO 2556 i.HAL_TIMER1n_ConfigInterrupt a31g12x_hal_timer1n.o
+ 0x00001f06 0x00001f06 0x00000002 PAD
+ 0x00001f08 0x00001f08 0x00000168 Code RO 2558 i.HAL_TIMER1n_Init a31g12x_hal_timer1n.o
+ 0x00002070 0x00002070 0x0000004c Code RO 2778 i.HAL_UART_ConfigInterrupt a31g12x_hal_uartn.o
+ 0x000020bc 0x000020bc 0x0000001e Code RO 2779 i.HAL_UART_ConfigStructInit a31g12x_hal_uartn.o
+ 0x000020da 0x000020da 0x00000002 PAD
+ 0x000020dc 0x000020dc 0x00000104 Code RO 2785 i.HAL_UART_Init a31g12x_hal_uartn.o
+ 0x000021e0 0x000021e0 0x00000074 Code RO 2786 i.HAL_UART_Receive a31g12x_hal_uartn.o
+ 0x00002254 0x00002254 0x00000008 Code RO 2787 i.HAL_UART_ReceiveByte a31g12x_hal_uartn.o
+ 0x0000225c 0x0000225c 0x00000080 Code RO 2788 i.HAL_UART_Transmit a31g12x_hal_uartn.o
+ 0x000022dc 0x000022dc 0x00000010 Code RO 2789 i.HAL_UART_TransmitByte a31g12x_hal_uartn.o
+ 0x000022ec 0x000022ec 0x00000014 Code RO 2881 i.HAL_USART_CheckBusy a31g12x_hal_usart1n.o
+ 0x00002300 0x00002300 0x0000003a Code RO 2882 i.HAL_USART_ClearStatus a31g12x_hal_usart1n.o
+ 0x0000233a 0x0000233a 0x0000004c Code RO 2883 i.HAL_USART_ConfigInterrupt a31g12x_hal_usart1n.o
+ 0x00002386 0x00002386 0x0000006a Code RO 2884 i.HAL_USART_DataControlConfig a31g12x_hal_usart1n.o
+ 0x000023f0 0x000023f0 0x00000026 Code RO 2886 i.HAL_USART_Enable a31g12x_hal_usart1n.o
+ 0x00002416 0x00002416 0x00000008 Code RO 2887 i.HAL_USART_GetStatus a31g12x_hal_usart1n.o
+ 0x0000241e 0x0000241e 0x00000002 PAD
+ 0x00002420 0x00002420 0x000000f4 Code RO 2888 i.HAL_USART_Init a31g12x_hal_usart1n.o
+ 0x00002514 0x00002514 0x00000072 Code RO 2889 i.HAL_USART_Receive a31g12x_hal_usart1n.o
+ 0x00002586 0x00002586 0x00000008 Code RO 2890 i.HAL_USART_ReceiveByte a31g12x_hal_usart1n.o
+ 0x0000258e 0x0000258e 0x00000028 Code RO 2891 i.HAL_USART_SPI_Mode_Config a31g12x_hal_usart1n.o
+ 0x000025b6 0x000025b6 0x00000084 Code RO 2892 i.HAL_USART_Transmit a31g12x_hal_usart1n.o
+ 0x0000263a 0x0000263a 0x00000010 Code RO 2893 i.HAL_USART_TransmitByte a31g12x_hal_usart1n.o
+ 0x0000264a 0x0000264a 0x00000022 Code RO 2894 i.HAL_USART_UART_Mode_Config a31g12x_hal_usart1n.o
+ 0x0000266c 0x0000266c 0x00000004 Code RO 1 i.HardFault_Handler a31g12x_interrupt.o
+ 0x00002670 0x00002670 0x0000003c Code RO 711 i.I2C2_Read gpio_i2c.o
+ 0x000026ac 0x000026ac 0x0000002e Code RO 712 i.I2C2_Write gpio_i2c.o
+ 0x000026da 0x000026da 0x00000002 PAD
+ 0x000026dc 0x000026dc 0x0000000c Code RO 1687 i.KCD_HP100_GetState kcd_hp100.o
+ 0x000026e8 0x000026e8 0x00000028 Code RO 1688 i.KCD_HP100_Get_Co2 kcd_hp100.o
+ 0x00002710 0x00002710 0x00000028 Code RO 1689 i.KCD_HP100_Initialization kcd_hp100.o
+ 0x00002738 0x00002738 0x0000007c Code RO 1690 i.KCD_HP100_Tx_Get_MeasurmentData kcd_hp100.o
+ 0x000027b4 0x000027b4 0x0000001c Code RO 1691 i.KCD_HP_Calc_Checksum kcd_hp100.o
+ 0x000027d0 0x000027d0 0x0000013c Code RO 1692 i.KCD_HP_Rx_PacketRecv_Process kcd_hp100.o
+ 0x0000290c 0x0000290c 0x0000001c Code RO 3171 i.MX_FATFS_Init fatfs.o
+ 0x00002928 0x00002928 0x00000002 Code RO 2 i.NMI_Handler a31g12x_interrupt.o
+ 0x0000292a 0x0000292a 0x00000002 PAD
+ 0x0000292c 0x0000292c 0x00000078 Code RO 38 i.NVIC_SetPriority a31g12x_systemclock.o
+ 0x000029a4 0x000029a4 0x00000078 Code RO 543 i.NVIC_SetPriority uart1.o
+ 0x00002a1c 0x00002a1c 0x00000078 Code RO 652 i.NVIC_SetPriority timer12.o
+ 0x00002a94 0x00002a94 0x00000078 Code RO 1620 i.NVIC_SetPriority usart11_rs485.o
+ 0x00002b0c 0x00002b0c 0x00000002 Code RO 3 i.PendSV_Handler a31g12x_interrupt.o
+ 0x00002b0e 0x00002b0e 0x00000002 PAD
+ 0x00002b10 0x00002b10 0x00000058 Code RO 1261 i.RTC_Get_IC_Time_Process rtc_process.o
+ 0x00002b68 0x00002b68 0x00000014 Code RO 1262 i.RTC_Get_Time rtc_process.o
+ 0x00002b7c 0x00002b7c 0x0000001c Code RO 1263 i.RTC_Process_Initialization rtc_process.o
+ 0x00002b98 0x00002b98 0x0000003e Code RO 386 i.RingBuffer_Dequeue ring_buffer.o
+ 0x00002bd6 0x00002bd6 0x00000040 Code RO 387 i.RingBuffer_Enqueue ring_buffer.o
+ 0x00002c16 0x00002c16 0x0000000e Code RO 388 i.RingBuffer_GetData ring_buffer.o
+ 0x00002c24 0x00002c24 0x00000032 Code RO 389 i.RingBuffer_Get_DataSize ring_buffer.o
+ 0x00002c56 0x00002c56 0x00000026 Code RO 390 i.RingBuffer_Initialization ring_buffer.o
+ 0x00002c7c 0x00002c7c 0x00000026 Code RO 391 i.RingBuffer_PopData ring_buffer.o
+ 0x00002ca2 0x00002ca2 0x00000012 Code RO 392 i.RingBuffer_isEmpty ring_buffer.o
+ 0x00002cb4 0x00002cb4 0x00000024 Code RO 393 i.RingBuffer_isFull ring_buffer.o
+ 0x00002cd8 0x00002cd8 0x000000f4 Code RO 837 i.SPI10_Initialization spi10.o
+ 0x00002dcc 0x00002dcc 0x00000030 Code RO 838 i.SPI10_SendReceiveByte spi10.o
+ 0x00002dfc 0x00002dfc 0x0000003c Code RO 840 i.SPI10_Transmit spi10.o
+ 0x00002e38 0x00002e38 0x000000bc Code RO 1582 i.SPI13_Initialization spi13.o
+ 0x00002ef4 0x00002ef4 0x0000003c Code RO 1585 i.SPI13_Transmit spi13.o
+ 0x00002f30 0x00002f30 0x0000001c Code RO 3279 i.SPI_Timer_On user_diskio_spi.o
+ 0x00002f4c 0x00002f4c 0x00000024 Code RO 3280 i.SPI_Timer_Status user_diskio_spi.o
+ 0x00002f70 0x00002f70 0x00000002 Code RO 4 i.SVC_Handler a31g12x_interrupt.o
+ 0x00002f72 0x00002f72 0x00000002 PAD
+ 0x00002f74 0x00002f74 0x00000080 Code RO 316 i.SW_Timer_Callback_Process sw_timer.o
+ 0x00002ff4 0x00002ff4 0x00000054 Code RO 317 i.SW_Timer_Callback_Register sw_timer.o
+ 0x00003048 0x00003048 0x00000228 Code RO 875 i.Save_SensorData_SDCard save_file.o
+ 0x00003270 0x00003270 0x000000d0 Code RO 613 i.Segemet_Output_Process segment_74hc595d.o
+ 0x00003340 0x00003340 0x00000020 Code RO 1492 i.Segment_All_Set_Data segment.o
+ 0x00003360 0x00003360 0x00000048 Code RO 614 i.Segment_Initialization segment_74hc595d.o
+ 0x000033a8 0x000033a8 0x00000010 Code RO 615 i.Segment_Output_Data segment_74hc595d.o
+ 0x000033b8 0x000033b8 0x000001ac Code RO 1494 i.Segment_Show_SensorData segment.o
+ 0x00003564 0x00003564 0x00000120 Code RO 1495 i.Segment_Show_SettingData segment.o
+ 0x00003684 0x00003684 0x00000080 Code RO 1496 i.Segment_Show_Time segment.o
+ 0x00003704 0x00003704 0x00000080 Code RO 1497 i.Segment_Show_Version segment.o
+ 0x00003784 0x00003784 0x00000028 Code RO 458 i.State_Led_Off gpio_state_led.o
+ 0x000037ac 0x000037ac 0x00000028 Code RO 459 i.State_Led_On gpio_state_led.o
+ 0x000037d4 0x000037d4 0x00000084 Code RO 460 i.State_Led_Output_Process gpio_state_led.o
+ 0x00003858 0x00003858 0x00000028 Code RO 351 i.SysTick_Handler systick_timer.o
+ 0x00003880 0x00003880 0x00000024 Code RO 3125 i.SystemInit system_a31g12x.o
+ 0x000038a4 0x000038a4 0x00000050 Code RO 39 i.System_Clock_Initialization a31g12x_systemclock.o
+ 0x000038f4 0x000038f4 0x00000058 Code RO 40 i.Systick_Initialization a31g12x_systemclock.o
+ 0x0000394c 0x0000394c 0x00000034 Code RO 653 i.TIMER12_Handler timer12.o
+ 0x00003980 0x00003980 0x0000005c Code RO 654 i.Timer12_Initialization timer12.o
+ 0x000039dc 0x000039dc 0x0000000c Code RO 655 i.Timer12_Set_Match_Interrupt_Callback timer12.o
+ 0x000039e8 0x000039e8 0x00000028 Code RO 544 i.UART1_Handler uart1.o
+ 0x00003a10 0x00003a10 0x00000020 Code RO 1621 i.USART11_Handler usart11_rs485.o
+ 0x00003a30 0x00003a30 0x00000160 Code RO 3348 i.USER_SPI_initialize user_diskio_spi.o
+ 0x00003b90 0x00003b90 0x00000240 Code RO 3372 i.USER_SPI_ioctl user_diskio_spi.o
+ 0x00003dd0 0x00003dd0 0x000000a0 Code RO 3360 i.USER_SPI_read user_diskio_spi.o
+ 0x00003e70 0x00003e70 0x00000014 Code RO 3354 i.USER_SPI_status user_diskio_spi.o
+ 0x00003e84 0x00003e84 0x000000c8 Code RO 3366 i.USER_SPI_write user_diskio_spi.o
+ 0x00003f4c 0x00003f4c 0x0000000c Code RO 3213 i.USER_initialize user_diskio.o
+ 0x00003f58 0x00003f58 0x00000014 Code RO 3214 i.USER_ioctl user_diskio.o
+ 0x00003f6c 0x00003f6c 0x00000018 Code RO 3215 i.USER_read user_diskio.o
+ 0x00003f84 0x00003f84 0x0000000c Code RO 3216 i.USER_status user_diskio.o
+ 0x00003f90 0x00003f90 0x00000018 Code RO 3217 i.USER_write user_diskio.o
+ 0x00003fa8 0x00003fa8 0x00000014 Code RO 545 i.Uart1_Get_RecvData uart1.o
+ 0x00003fbc 0x00003fbc 0x00000010 Code RO 546 i.Uart1_Get_RecvDataCount uart1.o
+ 0x00003fcc 0x00003fcc 0x000000c0 Code RO 547 i.Uart1_Initialization uart1.o
+ 0x0000408c 0x0000408c 0x00000034 Code RO 548 i.Uart1_Receive_Handler uart1.o
+ 0x000040c0 0x000040c0 0x00000014 Code RO 549 i.Uart1_Transmit uart1.o
+ 0x000040d4 0x000040d4 0x00000038 Code RO 551 i.Uart1_Transmit_Process uart1.o
+ 0x0000410c 0x0000410c 0x0000001c Code RO 1549 i.Uart_Packet_Initialization uart_packet.o
+ 0x00004128 0x00004128 0x00000144 Code RO 1550 i.Uart_Packet_Make_Process uart_packet.o
+ 0x0000426c 0x0000426c 0x00000096 Code RO 1551 i.Uart_Packet_Process uart_packet.o
+ 0x00004302 0x00004302 0x00000002 PAD
+ 0x00004304 0x00004304 0x00000014 Code RO 1622 i.Usart11_Get_RecvData usart11_rs485.o
+ 0x00004318 0x00004318 0x00000010 Code RO 1623 i.Usart11_Get_RecvDataCount usart11_rs485.o
+ 0x00004328 0x00004328 0x000000e4 Code RO 1624 i.Usart11_Initialization usart11_rs485.o
+ 0x0000440c 0x0000440c 0x00000034 Code RO 1625 i.Usart11_Receive_Handler usart11_rs485.o
+ 0x00004440 0x00004440 0x00000020 Code RO 1627 i.Usart11_TransmitData usart11_rs485.o
+ 0x00004460 0x00004460 0x0000007c Code RO 1628 i.Usart11_Transmit_Process usart11_rs485.o
+ 0x000044dc 0x000044dc 0x00000020 Code RO 4088 i.__0printf mc_p.l(printfa.o)
+ 0x000044fc 0x000044fc 0x00000028 Code RO 4090 i.__0sprintf mc_p.l(printfa.o)
+ 0x00004524 0x00004524 0x0000002e Code RO 4172 i.__ARM_clz mf_p.l(depilogue.o)
+ 0x00004552 0x00004552 0x0000001c Code RO 642 i.__ARM_common_switch8 segment_74hc595d.o
+ 0x0000456e 0x0000456e 0x0000000e Code RO 4176 i.__scatterload_copy mc_p.l(handlers.o)
+ 0x0000457c 0x0000457c 0x00000002 Code RO 4177 i.__scatterload_null mc_p.l(handlers.o)
+ 0x0000457e 0x0000457e 0x0000000e Code RO 4178 i.__scatterload_zeroinit mc_p.l(handlers.o)
+ 0x0000458c 0x0000458c 0x00000174 Code RO 4095 i._fp_digits mc_p.l(printfa.o)
+ 0x00004700 0x00004700 0x000006f0 Code RO 4096 i._printf_core mc_p.l(printfa.o)
+ 0x00004df0 0x00004df0 0x00000020 Code RO 4097 i._printf_post_padding mc_p.l(printfa.o)
+ 0x00004e10 0x00004e10 0x0000002c Code RO 4098 i._printf_pre_padding mc_p.l(printfa.o)
+ 0x00004e3c 0x00004e3c 0x0000000a Code RO 4100 i._sputc mc_p.l(printfa.o)
+ 0x00004e46 0x00004e46 0x00000014 Code RO 926 i.a_ds3231_bcd2hex driver_ds3231.o
+ 0x00004e5a 0x00004e5a 0x00000022 Code RO 927 i.a_ds3231_hex2bcd driver_ds3231.o
+ 0x00004e7c 0x00004e7c 0x00000024 Code RO 928 i.a_ds3231_iic_multiple_read driver_ds3231.o
+ 0x00004ea0 0x00004ea0 0x0000001e Code RO 929 i.a_ds3231_iic_write driver_ds3231.o
+ 0x00004ebe 0x00004ebe 0x00000002 PAD
+ 0x00004ec0 0x00004ec0 0x000000a4 Code RO 3452 i.check_fs ff.o
+ 0x00004f64 0x00004f64 0x00000016 Code RO 3453 i.chk_chr ff.o
+ 0x00004f7a 0x00004f7a 0x00000002 PAD
+ 0x00004f7c 0x00004f7c 0x00000098 Code RO 3454 i.chk_lock ff.o
+ 0x00005014 0x00005014 0x0000002c Code RO 3455 i.clear_lock ff.o
+ 0x00005040 0x00005040 0x00000046 Code RO 3456 i.clmt_clust ff.o
+ 0x00005086 0x00005086 0x00000002 PAD
+ 0x00005088 0x00005088 0x00000028 Code RO 3457 i.clust2sect ff.o
+ 0x000050b0 0x000050b0 0x00000104 Code RO 3458 i.create_chain ff.o
+ 0x000051b4 0x000051b4 0x00000128 Code RO 3459 i.create_name ff.o
+ 0x000052dc 0x000052dc 0x0000004c Code RO 3460 i.dec_lock ff.o
+ 0x00005328 0x00005328 0x00000014 Code RO 3281 i.despiselect user_diskio_spi.o
+ 0x0000533c 0x0000533c 0x0000006e Code RO 3461 i.dir_alloc ff.o
+ 0x000053aa 0x000053aa 0x00000072 Code RO 3462 i.dir_find ff.o
+ 0x0000541c 0x0000541c 0x000001bc Code RO 3463 i.dir_next ff.o
+ 0x000055d8 0x000055d8 0x00000058 Code RO 3465 i.dir_register ff.o
+ 0x00005630 0x00005630 0x00000108 Code RO 3467 i.dir_sdi ff.o
+ 0x00005738 0x00005738 0x00000030 Code RO 3389 i.disk_initialize diskio.o
+ 0x00005768 0x00005768 0x00000024 Code RO 3390 i.disk_ioctl diskio.o
+ 0x0000578c 0x0000578c 0x0000002c Code RO 3391 i.disk_read diskio.o
+ 0x000057b8 0x000057b8 0x0000001c Code RO 3392 i.disk_status diskio.o
+ 0x000057d4 0x000057d4 0x0000002c Code RO 3393 i.disk_write diskio.o
+ 0x00005800 0x00005800 0x00000034 Code RO 931 i.ds3231_aging_offset_convert_to_register driver_ds3231.o
+ 0x00005834 0x00005834 0x0000001c Code RO 1133 i.ds3231_basic_get_time driver_ds3231_basic.o
+ 0x00005850 0x00005850 0x00000294 Code RO 1136 i.ds3231_basic_init driver_ds3231_basic.o
+ 0x00005ae4 0x00005ae4 0x0000001c Code RO 1137 i.ds3231_basic_set_time driver_ds3231_basic.o
+ 0x00005b00 0x00005b00 0x0000004c Code RO 933 i.ds3231_deinit driver_ds3231.o
+ 0x00005b4c 0x00005b4c 0x0000010c Code RO 945 i.ds3231_get_time driver_ds3231.o
+ 0x00005c58 0x00005c58 0x000001ec Code RO 947 i.ds3231_init driver_ds3231.o
+ 0x00005e44 0x00005e44 0x00000002 Code RO 1205 i.ds3231_interface_debug_print driver_ds3231_interface_template.o
+ 0x00005e46 0x00005e46 0x0000000c Code RO 1206 i.ds3231_interface_delay_ms driver_ds3231_interface_template.o
+ 0x00005e52 0x00005e52 0x00000004 Code RO 1207 i.ds3231_interface_iic_deinit driver_ds3231_interface_template.o
+ 0x00005e56 0x00005e56 0x00000004 Code RO 1208 i.ds3231_interface_iic_init driver_ds3231_interface_template.o
+ 0x00005e5a 0x00005e5a 0x00000022 Code RO 1209 i.ds3231_interface_iic_read driver_ds3231_interface_template.o
+ 0x00005e7c 0x00005e7c 0x0000002e Code RO 1210 i.ds3231_interface_iic_write driver_ds3231_interface_template.o
+ 0x00005eaa 0x00005eaa 0x00000002 PAD
+ 0x00005eac 0x00005eac 0x00000054 Code RO 1211 i.ds3231_interface_receive_callback driver_ds3231_interface_template.o
+ 0x00005f00 0x00005f00 0x000000ac Code RO 949 i.ds3231_set_32khz_output driver_ds3231.o
+ 0x00005fac 0x00005fac 0x00000058 Code RO 950 i.ds3231_set_aging_offset driver_ds3231.o
+ 0x00006004 0x00006004 0x000000b0 Code RO 953 i.ds3231_set_alarm_interrupt driver_ds3231.o
+ 0x000060b4 0x000060b4 0x000000b4 Code RO 954 i.ds3231_set_oscillator driver_ds3231.o
+ 0x00006168 0x00006168 0x000000ac Code RO 955 i.ds3231_set_pin driver_ds3231.o
+ 0x00006214 0x00006214 0x000000ac Code RO 957 i.ds3231_set_square_wave driver_ds3231.o
+ 0x000062c0 0x000062c0 0x00000514 Code RO 958 i.ds3231_set_time driver_ds3231.o
+ 0x000067d4 0x000067d4 0x00000028 Code RO 3468 i.enq_lock ff.o
+ 0x000067fc 0x000067fc 0x00000038 Code RO 3470 i.f_close ff.o
+ 0x00006834 0x00006834 0x00000036 Code RO 3471 i.f_closedir ff.o
+ 0x0000686a 0x0000686a 0x00000002 PAD
+ 0x0000686c 0x0000686c 0x00000450 Code RO 3474 i.f_lseek ff.o
+ 0x00006cbc 0x00006cbc 0x0000019a Code RO 3475 i.f_mkdir ff.o
+ 0x00006e56 0x00006e56 0x00000002 PAD
+ 0x00006e58 0x00006e58 0x00000070 Code RO 3477 i.f_mount ff.o
+ 0x00006ec8 0x00006ec8 0x0000021c Code RO 3478 i.f_open ff.o
+ 0x000070e4 0x000070e4 0x000000d2 Code RO 3479 i.f_opendir ff.o
+ 0x000071b6 0x000071b6 0x00000002 PAD
+ 0x000071b8 0x000071b8 0x00000100 Code RO 3487 i.f_sync ff.o
+ 0x000072b8 0x000072b8 0x00000308 Code RO 3491 i.f_write ff.o
+ 0x000075c0 0x000075c0 0x00000478 Code RO 3492 i.find_volume ff.o
+ 0x00007a38 0x00007a38 0x000000ae Code RO 3493 i.follow_path ff.o
+ 0x00007ae6 0x00007ae6 0x00000010 Code RO 293 i.fputc dbg_printf.o
+ 0x00007af6 0x00007af6 0x00000104 Code RO 3494 i.get_fat ff.o
+ 0x00007bfa 0x00007bfa 0x00000004 Code RO 3172 i.get_fattime fatfs.o
+ 0x00007bfe 0x00007bfe 0x0000004c Code RO 3496 i.get_ldnumber ff.o
+ 0x00007c4a 0x00007c4a 0x00000002 PAD
+ 0x00007c4c 0x00007c4c 0x000000e4 Code RO 3497 i.inc_lock ff.o
+ 0x00007d30 0x00007d30 0x00000026 Code RO 3498 i.ld_clust ff.o
+ 0x00007d56 0x00007d56 0x00000002 PAD
+ 0x00007d58 0x00007d58 0x00000078 Code RO 187 i.main main.o
+ 0x00007dd0 0x00007dd0 0x0000002a Code RO 3499 i.mem_cmp ff.o
+ 0x00007dfa 0x00007dfa 0x0000001a Code RO 3500 i.mem_cpy ff.o
+ 0x00007e14 0x00007e14 0x00000014 Code RO 3501 i.mem_set ff.o
+ 0x00007e28 0x00007e28 0x0000000c Code RO 352 i.millis systick_timer.o
+ 0x00007e34 0x00007e34 0x00000044 Code RO 3502 i.move_window ff.o
+ 0x00007e78 0x00007e78 0x00000162 Code RO 3503 i.put_fat ff.o
+ 0x00007fda 0x00007fda 0x00000042 Code RO 3282 i.rcvr_datablock user_diskio_spi.o
+ 0x0000801c 0x0000801c 0x0000001a Code RO 3283 i.rcvr_spi_multi user_diskio_spi.o
+ 0x00008036 0x00008036 0x00000002 PAD
+ 0x00008038 0x00008038 0x0000008c Code RO 3505 i.remove_chain ff.o
+ 0x000080c4 0x000080c4 0x0000009c Code RO 3284 i.send_cmd user_diskio_spi.o
+ 0x00008160 0x00008160 0x0000002a Code RO 3285 i.spiselect user_diskio_spi.o
+ 0x0000818a 0x0000818a 0x00000014 Code RO 3506 i.st_clust ff.o
+ 0x0000819e 0x0000819e 0x00000002 PAD
+ 0x000081a0 0x000081a0 0x00000118 Code RO 3507 i.sync_fs ff.o
+ 0x000082b8 0x000082b8 0x00000074 Code RO 3508 i.sync_window ff.o
+ 0x0000832c 0x0000832c 0x0000003c Code RO 2790 i.uart_set_divisors a31g12x_hal_uartn.o
+ 0x00008368 0x00008368 0x00000040 Code RO 2896 i.usart_set_divisors a31g12x_hal_usart1n.o
+ 0x000083a8 0x000083a8 0x00000060 Code RO 3509 i.validate ff.o
+ 0x00008408 0x00008408 0x00000030 Code RO 3286 i.wait_ready user_diskio_spi.o
+ 0x00008438 0x00008438 0x00000010 Code RO 3287 i.xchg_spi user_diskio_spi.o
+ 0x00008448 0x00008448 0x0000004c Code RO 3288 i.xmit_datablock user_diskio_spi.o
+ 0x00008494 0x00008494 0x00000010 Code RO 3289 i.xmit_spi_multi user_diskio_spi.o
+ 0x000084a4 0x000084a4 0x00000026 Data RO 1499 .constdata segment.o
+ 0x000084ca 0x000084ca 0x000000ac Data RO 3511 .constdata ff.o
+ 0x00008576 0x00008576 0x00000002 PAD
+ 0x00008578 0x00008578 0x00000020 Data RO 4174 Region$$Table anon$$obj.o
+
+
+ Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00008598, Size: 0x00001480, Max: 0x00001800, ABSOLUTE, COMPRESSED[0x0000005c])
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 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
+ 0x20000000 COMPRESSED 0x00000008 Data RW 353 .data systick_timer.o
+ 0x20000008 COMPRESSED 0x0000008c Data RW 461 .data gpio_state_led.o
+ 0x20000094 COMPRESSED 0x00000090 Data RW 504 .data gpio_switch.o
+ 0x20000124 COMPRESSED 0x00000010 Data RW 617 .data segment_74hc595d.o
+ 0x20000134 COMPRESSED 0x00000004 Data RW 656 .data timer12.o
+ 0x20000138 COMPRESSED 0x00000012 Data RW 877 .data save_file.o
+ 0x2000014a COMPRESSED 0x00000008 Data RW 1264 .data rtc_process.o
+ 0x20000152 COMPRESSED 0x00000004 Data RW 1311 .data action_process.o
+ 0x20000156 COMPRESSED 0x00000002 PAD
+ 0x20000158 COMPRESSED 0x0000000c Data RW 1442 .data buzzer.o
+ 0x20000164 COMPRESSED 0x00000003 Data RW 1553 .data uart_packet.o
+ 0x20000167 COMPRESSED 0x00000001 PAD
+ 0x20000168 COMPRESSED 0x00000009 Data RW 1694 .data kcd_hp100.o
+ 0x20000171 COMPRESSED 0x00000003 PAD
+ 0x20000174 COMPRESSED 0x00000010 Data RW 1972 .data a31g12x_hal_fmc.o
+ 0x20000184 COMPRESSED 0x0000000c Data RW 2792 .data a31g12x_hal_uartn.o
+ 0x20000190 COMPRESSED 0x00000004 Data RW 2897 .data a31g12x_hal_usart1n.o
+ 0x20000194 COMPRESSED 0x0000001c Data RW 3126 .data system_a31g12x.o
+ 0x200001b0 COMPRESSED 0x00000005 Data RW 3174 .data fatfs.o
+ 0x200001b5 COMPRESSED 0x00000003 PAD
+ 0x200001b8 COMPRESSED 0x00000018 Data RW 3218 .data user_diskio.o
+ 0x200001d0 COMPRESSED 0x0000000c Data RW 3290 .data user_diskio_spi.o
+ 0x200001dc COMPRESSED 0x00000006 Data RW 3512 .data ff.o
+ 0x200001e2 COMPRESSED 0x00000002 PAD
+ 0x200001e4 COMPRESSED 0x00000004 Data RW 4140 .data mc_p.l(stdout.o)
+ 0x200001e8 - 0x000000a0 Zero RW 319 .bss sw_timer.o
+ 0x20000288 - 0x00000154 Zero RW 552 .bss uart1.o
+ 0x200003dc - 0x0000087c Zero RW 876 .bss save_file.o
+ 0x20000c58 - 0x00000020 Zero RW 1140 .bss driver_ds3231_basic.o
+ 0x20000c78 - 0x000000e8 Zero RW 1310 .bss action_process.o
+ 0x20000d60 - 0x00000080 Zero RW 1398 .bss eeprom.o
+ 0x20000de0 - 0x0000000a Zero RW 1498 .bss segment.o
+ 0x20000dea - 0x00000064 Zero RW 1552 .bss uart_packet.o
+ 0x20000e4e COMPRESSED 0x00000002 PAD
+ 0x20000e50 - 0x000000f0 Zero RW 1629 .bss usart11_rs485.o
+ 0x20000f40 - 0x0000001a Zero RW 1693 .bss kcd_hp100.o
+ 0x20000f5a COMPRESSED 0x00000002 PAD
+ 0x20000f5c - 0x00000018 Zero RW 3510 .bss ff.o
+ 0x20000f74 - 0x0000000c Zero RW 3791 .bss ff_gen_drv.o
+ 0x20000f80 - 0x00000500 Zero RW 3115 STACK startup_a31g12x.o
@@ -2579,7 +2927,7 @@ Memory Map of the image
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 0x1ffff200 0x1ffff200 0x00000044 Code RO 3079 .ARM.__AT_0x1FFFF200 option_a31g12x.o
+ 0x1ffff200 0x1ffff200 0x00000044 Code RO 3160 .ARM.__AT_0x1FFFF200 option_a31g12x.o
@@ -2589,7 +2937,7 @@ Memory Map of the image
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 0x1ffff400 0x1ffff400 0x00000080 Code RO 3080 .ARM.__AT_0x1FFFF400 option_a31g12x.o
+ 0x1ffff400 0x1ffff400 0x00000080 Code RO 3161 .ARM.__AT_0x1FFFF400 option_a31g12x.o
@@ -2599,7 +2947,7 @@ Memory Map of the image
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 0x1ffff600 0x1ffff600 0x00000080 Code RO 3081 .ARM.__AT_0x1FFFF600 option_a31g12x.o
+ 0x1ffff600 0x1ffff600 0x00000080 Code RO 3162 .ARM.__AT_0x1FFFF600 option_a31g12x.o
==============================================================================
@@ -2620,23 +2968,30 @@ Image component sizes
958 44 0 4 0 10485 a31g12x_hal_usart1n.o
10 0 0 0 0 3109 a31g12x_interrupt.o
288 36 0 0 0 425323 a31g12x_systemclock.o
- 930 118 0 0 20 7004 action_process.o
+ 2480 326 0 4 232 10185 action_process.o
160 38 0 12 0 1596 buzzer.o
16 0 0 0 0 536 dbg_printf.o
+ 200 26 0 0 0 8781 diskio.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
- 384 42 0 0 130 3941 eeprom.o
+ 416 42 0 0 128 3941 eeprom.o
+ 32 12 0 5 0 1592 fatfs.o
+ 8784 182 172 6 24 37903 ff.o
+ 184 10 0 0 12 2919 ff_gen_drv.o
620 28 0 0 0 4848 gpio_i2c.o
+ 36 4 0 0 0 473 gpio_sensor.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
+ 560 76 0 9 26 4706 kcd_hp100.o
+ 120 4 0 0 0 9011 main.o
324 324 0 0 0 648 option_a31g12x.o
320 0 0 0 0 5599 ring_buffer.o
- 212 58 0 8 0 2096 rtc_process.o
- 632 36 38 0 10 2865 segment.o
+ 136 12 0 8 0 2064 rtc_process.o
+ 552 140 0 18 2172 5640 save_file.o
+ 1004 48 38 0 10 3820 segment.o
324 42 0 16 0 4001 segment_74hc595d.o
- 244 10 0 0 0 751 spi10.o
+ 352 20 0 0 0 2240 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
@@ -2645,12 +3000,14 @@ Image component sizes
276 32 0 4 0 2242 timer12.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
+ 624 88 0 0 240 5705 usart11_rs485.o
+ 92 0 0 24 0 5584 user_diskio.o
+ 1838 68 0 12 0 12274 user_diskio_spi.o
----------------------------------------------------------------------
- 15508 3208 248 396 2312 566259 Object Totals
+ 29798 3914 420 484 4760 653082 Object Totals
0 0 32 0 0 0 (incl. Generated)
- 22 0 2 1 0 0 (incl. Padding)
+ 48 0 2 11 4 0 (incl. Padding)
----------------------------------------------------------------------
@@ -2675,8 +3032,9 @@ Image component sizes
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
+ 2306 102 0 0 0 556 printfa.o
0 0 0 4 0 0 stdout.o
+ 14 0 0 0 0 60 strlen.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
@@ -2690,18 +3048,18 @@ Image component sizes
50 0 0 0 0 60 ffixi.o
----------------------------------------------------------------------
- 4240 144 0 4 0 2012 Library Totals
- 0 0 0 0 0 0 (incl. Padding)
+ 4306 148 0 4 0 2216 Library Totals
+ 2 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
- 2788 114 0 4 0 1072 mc_p.l
+ 2852 118 0 4 0 1276 mc_p.l
1452 30 0 0 0 940 mf_p.l
----------------------------------------------------------------------
- 4240 144 0 4 0 2012 Library Totals
+ 4306 148 0 4 0 2216 Library Totals
----------------------------------------------------------------------
@@ -2710,15 +3068,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
- 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
+ 34104 4062 420 488 4760 643326 Grand Totals
+ 34104 4062 420 92 4760 643326 ELF Image Totals (compressed)
+ 34104 4062 420 92 0 0 ROM Totals
==============================================================================
- 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)
+ Total RO Size (Code + RO Data) 34524 ( 33.71kB)
+ Total RW Size (RW Data + ZI Data) 5248 ( 5.13kB)
+ Total ROM Size (Code + RO Data + RW Data) 34616 ( 33.80kB)
==============================================================================