diff --git a/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvguix.z b/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvguix.z index 4a23880..f830063 100644 --- a/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvguix.z +++ b/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvguix.z @@ -9,7 +9,20 @@ - + + + System Viewer\GPIOB + 35905 + + 163 + + + System Viewer\HRTIM_TIMA + 35904 + + 166 + + @@ -20,12 +33,12 @@ 346 Code Coverage - 443 727 + 1010 217 204 Performance Analyzer - 352 175 175 468 + 352 175 175 525 @@ -70,7 +83,7 @@ 466 Source Browser 500 - 300 + 166 @@ -1805,8 +1818,8 @@ 59392 File - 2576 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000564656C6179960000000000000003000564656C6179085F5F474E55435F5F067374646F7574000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2610 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000011444344435F537461727450776D546573749600000000000000040011444344435F537461727450776D546573740564656C6179085F5F474E55435F5F067374646F757400000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1835,7 @@ Build 996 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000012422D47343734452D44504F57315F444344439600000000000000010012422D47343734452D44504F57315F44434443000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000012422D47343734452D44504F57315F444344439600000000000000010012422D47343734452D44504F57315F44434443000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1871,11 +1884,11 @@ 0 16 - F40000004F000000C7070000D8000000 + F40000004F000000C9050000D8000000 16 - F4F6FFFFD1FFFFFFC7FDFFFF5A000000 + F4F6FFFFD1FFFFFFC9FBFFFF5A000000 @@ -1891,7 +1904,7 @@ 0 16 - 0300000066000000ED000000DC030000 + 0300000066000000ED0000004F030000 16 @@ -1911,7 +1924,7 @@ 0 16 - 0300000066000000ED000000DC030000 + 0300000066000000ED0000004F030000 16 @@ -2011,7 +2024,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2031,7 +2044,7 @@ 0 16 - F700000066000000C4070000BF000000 + F700000066000000C6050000BF000000 16 @@ -2191,7 +2204,7 @@ 0 16 - 0300000066000000ED000000DC030000 + 0300000066000000ED0000004F030000 16 @@ -2211,7 +2224,7 @@ 0 16 - 0300000066000000ED000000DC030000 + 0300000066000000ED0000004F030000 16 @@ -2231,7 +2244,7 @@ 0 16 - 030000002C0200008D05000085020000 + 03000000DC040000C407000035050000 16 @@ -2251,7 +2264,7 @@ 0 16 - 00000000F9030000C70700004E050000 + 000000006C030000C7070000C1040000 16 @@ -2261,7 +2274,7 @@ 199 199 - 0 + 1 0 0 0 @@ -2271,7 +2284,7 @@ 0 16 - 030000002C0200008D05000085020000 + 00000000D9040000C70700004E050000 16 @@ -2291,7 +2304,7 @@ 0 16 - F400000063000000C7070000D8000000 + F400000063000000C9050000D8000000 16 @@ -2311,7 +2324,7 @@ 0 16 - F700000066000000C4070000BF000000 + F700000066000000C6050000BF000000 16 @@ -2351,7 +2364,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2391,7 +2404,7 @@ 0 16 - F700000066000000C4070000BF000000 + F700000066000000C6050000BF000000 16 @@ -2411,7 +2424,7 @@ 0 16 - F700000066000000C4070000BF000000 + F700000066000000C6050000BF000000 16 @@ -2431,7 +2444,7 @@ 0 16 - F700000066000000C4070000BF000000 + F700000066000000C6050000BF000000 16 @@ -2451,7 +2464,7 @@ 0 16 - F700000066000000C4070000BF000000 + F700000066000000C6050000BF000000 16 @@ -2471,7 +2484,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2491,7 +2504,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2511,7 +2524,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2531,7 +2544,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2551,7 +2564,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2571,7 +2584,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2591,7 +2604,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2611,7 +2624,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2631,7 +2644,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2651,7 +2664,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2671,7 +2684,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2691,7 +2704,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2711,7 +2724,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2731,7 +2744,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2751,7 +2764,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2771,7 +2784,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2791,7 +2804,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2811,7 +2824,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2831,7 +2844,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2841,7 +2854,7 @@ 35904 35904 - 0 + 1 0 0 0 @@ -2851,7 +2864,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2861,7 +2874,7 @@ 35905 35905 - 0 + 1 0 0 0 @@ -2871,7 +2884,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -2891,7 +2904,7 @@ 0 16 - 0300000066000000ED000000DC030000 + 0300000066000000ED0000004F030000 16 @@ -2911,7 +2924,7 @@ 0 16 - 030000002C0200008D05000085020000 + 03000000DC040000C407000035050000 16 @@ -2931,7 +2944,7 @@ 0 16 - 030000002C0200008D05000085020000 + 03000000DC040000C407000035050000 16 @@ -2991,7 +3004,7 @@ 0 16 - 030000002C0200008D05000085020000 + 03000000DC040000C407000035050000 16 @@ -3011,7 +3024,7 @@ 0 16 - 030000002C0200008D05000085020000 + 03000000DC040000C407000035050000 16 @@ -3031,7 +3044,7 @@ 0 16 - F700000066000000C4070000BF000000 + F700000066000000C6050000BF000000 16 @@ -3051,7 +3064,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3071,7 +3084,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3091,7 +3104,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3111,7 +3124,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3131,7 +3144,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3151,7 +3164,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3171,7 +3184,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3191,7 +3204,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3211,7 +3224,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3231,7 +3244,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3251,7 +3264,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3271,7 +3284,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3291,7 +3304,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3311,7 +3324,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3331,7 +3344,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3351,7 +3364,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3371,7 +3384,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3391,7 +3404,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3411,7 +3424,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3431,7 +3444,7 @@ 0 16 - A3040000660000008D050000F8010000 + D005000066000000C40700004F030000 16 @@ -3539,15 +3552,15 @@ - 3415 - 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000D8000000C7070000DC000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F4F6FFFFD1FFFFFFC7FDFFFF5A000000F40000004F000000C7070000D80000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000011020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0FAFFFFD1FFFFFF90FBFFFF93010000A00400004F000000900500001102000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000F5030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000F6FFFFD1FFFFFFF0F6FFFF77030000000000004F000000F0000000F50300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000F5030000C7070000F90300000100000001000010040000000100000034FCFFFF3800000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF00050000F9030000040500004E05000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000110200009005000015020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000000000000F6FFFF9701000090FBFFFF200200000000000015020000900500009E0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFFC70700004F000000CB0700004E0500000100000002000010040000000100000083FBFFFF8404000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000CBFDFFFFD1FFFFFF00000000D0040000CB0700004F000000000A00004E05000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000 + 3430 + 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000D8000000C9050000DC000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F4F6FFFFD1FFFFFFC9FBFFFF5A000000F40000004F000000C9050000D80000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFFC90500004F000000CD050000680300000100000002000010040000000100000026FAFFFFEE000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000001000000CDFBFFFFD1FFFFFFC7FDFFFFEA020000CD0500004F000000C70700006803000000000000404100562B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0A485254494D5F54494D4101000000408C000001000000FFFFFFFFFFFFFFFF054750494F4201000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFF15000000000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000068030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000F6FFFFD1FFFFFFF0F6FFFFEA020000000000004F000000F0000000680300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000068030000C70700006C0300000100000001000010040000000100000034FCFFFF3800000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF00050000F9030000040500004E05000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C1040000C7070000C5040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000F6FFFF47040000C7FDFFFFD004000000000000C5040000C70700004E0500000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFFC70700004F000000CB0700004E0500000100000002000010040000000100000083FBFFFF8404000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000CBFDFFFFD1FFFFFF00000000D0040000CB0700004F000000000A00004E05000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000 59392 File - 2576 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000564656C6179960000000000000003000564656C6179085F5F474E55435F5F067374646F7574000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2610 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000011444344435F537461727450776D546573749600000000000000040011444344435F537461727450776D546573740564656C6179085F5F474E55435F5F067374646F757400000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3579,7 +3592,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3606,9 +3619,9 @@ 0 Core\Src\main.c - 17 + 60 1 - 37 + 49 1 0 @@ -3625,7 +3638,7 @@ Core\Src\retarget.c 0 - 24 + 33 78 1 @@ -3633,9 +3646,9 @@ C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\arm\startup_stm32g474xx.s - 21 - 182 - 200 + 0 + 185 + 196 1 0 @@ -3643,8 +3656,8 @@ Core\Src\board.c 0 - 11 - 26 + 18 + 30 1 0 @@ -3652,8 +3665,8 @@ Core\Src\dcdc.c 0 - 283 - 312 + 40 + 52 1 0 diff --git a/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvoptx b/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvoptx index df7c6eb..82d57d9 100644 --- a/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvoptx +++ b/B-G474E-DPOW1_Keil/B-G474E-DPOW1_DCDC.uvoptx @@ -148,46 +148,13 @@ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0STM32G47x-8x_512 -FS08000000 -FL080000 -FP0($$Device:STM32G474RETx$CMSIS\Flash\STM32G47x-8x_512.FLM)) - - - 0 - 0 - 12 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - Core\Src\board.c - - -
- - 1 - 0 - 24 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - Core\Src\main.c - - -
-
+ 0 0 - 0 + 1 1 0 0 @@ -224,6 +191,16 @@ + + + System Viewer\GPIOB + 35905 + + + System Viewer\HRTIM_TIMA + 35904 + + 1 0 diff --git a/B-G474E-DPOW1_Keil/CODE_COMMENTS.md b/B-G474E-DPOW1_Keil/CODE_COMMENTS.md new file mode 100644 index 0000000..d56235f --- /dev/null +++ b/B-G474E-DPOW1_Keil/CODE_COMMENTS.md @@ -0,0 +1,101 @@ +# B-G474E-DPOW1 DCDC Code Map + +## Runtime knobs + +The live configuration object is: + +```c +g_dcdc_config +``` + +Edit it in Keil **Watch** while the target is running. + +Useful fields: + +```c +g_dcdc_config.mode +g_dcdc_config.pwm.frequency_hz +g_dcdc_config.pwm.test_duty_permille +g_dcdc_config.pwm.deadtime_enable +g_dcdc_config.pwm.deadtime_rising_ticks +g_dcdc_config.pwm.deadtime_falling_ticks +g_dcdc_config.limits.target_vout_mv +g_dcdc_config.limits.current_limit_ma +``` + +Modes: + +```c +0 = DCDC_MODE_MONITOR +1 = DCDC_MODE_PWM_TEST +2 = DCDC_MODE_CLOSED_LOOP +``` + +## Startup path + +`main.c`: + +1. `Board_Init()` starts clocks, SysTick, GPIO basics. +2. `Retarget_Init()` enables `printf()` through `USART3`. +3. `DCDC_Init()` prepares ADC and HRTIM Timer C. +4. `DCDC_Service1ms()` runs every 1 ms and applies live runtime edits. + +## HRTIM PWM path + +`dcdc.c`: + +- `hrtim1_timer_c_init()` configures HRTIM1 Timer C. +- `DCDC_StartPwmTest()` starts open-loop analyzer PWM. +- `hrtim1_apply_pwm_config()` applies live frequency and dead-time edits. +- `hrtim1_set_duty()` updates `CMP1`, which sets the PB12/PB13 split point. + +Current complementary test routing: + +```c +PB12 / CHC1: set at period, reset at CMP1 +PB13 / CHC2: set at CMP1, reset at period +``` + +Dead-time is enabled by: + +```c +timer->OUTxR |= HRTIM_OUTR_DTEN; +``` + +## ADC path + +`DCDC_ReadMeasurements()` reads: + +```c +PA1 / ADC1_IN2 = VIN +PA2 / ADC1_IN3 = input current average +PA3 / ADC1_IN4 = VOUT +``` + +Raw ADC values are converted through: + +```c +adc_raw_to_mv() +sense_mv_to_voltage_mv() +sense_mv_to_current_ma() +``` + +## Safety path + +The closed-loop mode checks: + +```c +g_dcdc_config.limits.min_vin_mv +g_dcdc_config.limits.max_vout_mv +g_dcdc_config.limits.hard_current_ma +``` + +If a limit trips, `latch_fault()` disables HRTIM outputs, clears duty, opens +the USB-PD/VIN switch, and moves the state to `DCDC_STATE_FAULT`. + +## Current safe workflow + +1. Keep `g_dcdc_config.mode = 1`. +2. Tune `g_dcdc_config.pwm.deadtime_*_ticks`. +3. Verify PB12/PB13 on the logic analyzer. +4. Only after clean waveforms, move toward closed-loop testing. diff --git a/B-G474E-DPOW1_Keil/Core/Inc/app_config.h b/B-G474E-DPOW1_Keil/Core/Inc/app_config.h index 3e1143e..5442db0 100644 --- a/B-G474E-DPOW1_Keil/Core/Inc/app_config.h +++ b/B-G474E-DPOW1_Keil/Core/Inc/app_config.h @@ -4,76 +4,84 @@ #include /* - * B-G474E-DPOW1 quick configuration. - * - * SAFETY: - * - The project configures the buck half-bridge on PB12/PB13. - * - Keep DCDC_POWER_STAGE_ENABLE at 0 until VIN, load and oscilloscope - * probes are ready. With 0 the firmware prints ADC values and prepares - * HRTIM, but does not enable HRTIM outputs. - * - If VIN comes from USB-C/USB-PD through JP1, set - * DCDC_CONNECT_USBPD_INPUT to 1 only after checking the board jumpers. - */ +## B-G474E-DPOW1 build-time defaults + +These macros are now **boot defaults**. Runtime values live in +`g_dcdc_config` and can be edited while the firmware is running. + +### Safety + +- `DCDC_POWER_STAGE_ENABLE = 0` keeps the real closed-loop power stage off. +- `DCDC_PWM_TEST_ENABLE = 1` starts the current HRTIM analyzer test. +- `DCDC_CONNECT_USBPD_INPUT = 0` keeps the USB-PD-to-VIN switch off. +*/ #define DCDC_POWER_STAGE_ENABLE 0U +#define DCDC_PWM_TEST_ENABLE 1U +#define DCDC_GPIO_PIN_TEST_ENABLE 0U #define DCDC_CONNECT_USBPD_INPUT 0U /* - * Clock startup. - * 0 = safest rescue mode: run directly from HSI16, no PLL switch. - * 1 = normal performance mode: HSI16 -> PLL -> 170 MHz. - * - * If the debugger hangs inside SystemClock_Config(), keep this at 0 until - * the board is recovered and ST-LINK connects reliably. - */ +## Clock startup + +- `0`: rescue mode, direct HSI16, no PLL switch. +- `1`: normal mode, HSI16 -> PLL -> 170 MHz. +*/ #define CLOCK_USE_PLL_170MHZ 1U #define SYSCLK_HZ 170000000UL #define HSI16_HZ 16000000UL #define USART3_BAUDRATE 115200UL -#define DEBUG_ATTACH_DELAY_LOOPS 8000000UL /* - * HRTIM Timer C drives the onboard buck leg: - * PB12 = BUCKBOOST_P1_DRIVE = HRTIM1_CHC1, high-side buck MOSFET - * PB13 = BUCKBOOST_N1_DRIVE = HRTIM1_CHC2, low-side buck MOSFET - * - * fHRCK = fHRTIM * 32. The firmware calculates the actual period from - * SystemCoreClock, so rescue HSI16 mode still works. - */ +## HRTIM Timer C defaults + +- `PB12`: `HRTIM1_CHC1` +- `PB13`: `HRTIM1_CHC2` +- `fHRCK = fHRTIM * 32` + +Live edits: + +- `g_dcdc_config.pwm.frequency_hz` +- `g_dcdc_config.pwm.test_duty_permille` +- `g_dcdc_config.pwm.deadtime_rising_ticks` +- `g_dcdc_config.pwm.deadtime_falling_ticks` +*/ #define DCDC_HRTIM_PERIOD_TICKS 27200U #define DCDC_PWM_FREQUENCY_HZ 200000UL +#define DCDC_PWM_TEST_DUTY_PERMILLE 100U +#define DCDC_PWM_TEST_DEADTIME_ENABLE 1U +#define DCDC_PWM_TEST_DEADTIME_TICKS 34U +#define DCDC_GPIO_PIN_TEST_HALF_PERIOD_MS 1U #define DCDC_MIN_DUTY_TICKS 0U #define DCDC_MAX_DUTY_TICKS 24000U #define DCDC_START_DUTY_TICKS 400U /* - * Dead-time values are expressed in HRTIM dead-time ticks. - * They are intentionally conservative starter values; verify PB12/PB13 - * with an oscilloscope before enabling the power stage. - */ +## Closed-loop dead-time defaults + +These are used when the real power stage mode is enabled. The current analyzer +test uses `g_dcdc_config.pwm.deadtime_*_ticks`. +*/ #define DCDC_DEADTIME_RISING_TICKS 110U #define DCDC_DEADTIME_FALLING_TICKS 350U /* - * ADC measurement pins on B-G474E-DPOW1: - * PA1 = BUCKBOOST_VIN (ADC1_IN2) - * PA2 = BUCKBOOST_I_IN_AVG (ADC1_IN3) - * PA3 = BUCKBOOST_VOUT (ADC1_IN4) - * - * ST X-CUBE-DPower reference values for this board use: - * Vout_Scaling = 0.198795180 -> ADC pin voltage = VOUT * 0.198795180 - * Iin_Scaling = 0.721543408 -> ADC pin voltage = IIN * 0.721543408 V/A - * - * VIN uses the same divider value by default here. If your hardware revision - * or solder bridge setup differs, adjust DCDC_VIN_SCALE_PPM after measuring. - */ +## ADC measurement defaults + +- `PA1 / ADC1_IN2`: `BUCKBOOST_VIN` +- `PA2 / ADC1_IN3`: `BUCKBOOST_I_IN_AVG` +- `PA3 / ADC1_IN4`: `BUCKBOOST_VOUT` + +Scaling starts from ST X-CUBE-DPower board values and can be adjusted after +multimeter comparison. +*/ #define ADC_REFERENCE_MV 3300U #define ADC_FULL_SCALE_COUNTS 4095U #define DCDC_VOUT_SCALE_PPM 198795UL #define DCDC_VIN_SCALE_PPM 198795UL #define DCDC_IIN_UV_PER_MA 721UL -/* Starter setpoints and protection thresholds. */ +/* ## Starter setpoints and protection thresholds */ #define DCDC_TARGET_VOUT_MV 3300U #define DCDC_MIN_VIN_MV 4500U #define DCDC_MAX_VOUT_MV 3800U @@ -81,10 +89,14 @@ #define DCDC_HARD_INPUT_CURRENT_MA 450U /* - * Simple voltage loop gains for the starter firmware. - * Duty command = feed-forward + proportional + integral - current limiting. - * Tune these gently with a current-limited supply and a scope. - */ +## Starter loop gains + +Duty command: + +`feed-forward + proportional + integral - current-limit correction` + +Tune with a current-limited supply and an oscilloscope. +*/ #define DCDC_KP_TICKS_PER_100MV 90 #define DCDC_KI_TICKS_PER_100MV 3 #define DCDC_CURRENT_LIMIT_KP 60 diff --git a/B-G474E-DPOW1_Keil/Core/Inc/dcdc.h b/B-G474E-DPOW1_Keil/Core/Inc/dcdc.h index 69f9434..d6fd750 100644 --- a/B-G474E-DPOW1_Keil/Core/Inc/dcdc.h +++ b/B-G474E-DPOW1_Keil/Core/Inc/dcdc.h @@ -4,6 +4,63 @@ #include #include +/* +## Runtime configuration model + +`g_dcdc_config` is intentionally a global `volatile` structure so it can be +edited from Keil **Watch**, **Memory**, or a future UART command parser while +the firmware is running. + +Typical live edits during the current HRTIM test: + +- `g_dcdc_config.mode = DCDC_MODE_PWM_TEST` +- `g_dcdc_config.pwm.frequency_hz = 200000` +- `g_dcdc_config.pwm.test_duty_permille = 100` +- `g_dcdc_config.pwm.deadtime_rising_ticks = 34` +- `g_dcdc_config.pwm.deadtime_falling_ticks = 34` +*/ +typedef enum +{ + DCDC_MODE_MONITOR = 0, + DCDC_MODE_PWM_TEST, + DCDC_MODE_CLOSED_LOOP +} DCDC_Mode; + +typedef struct +{ + uint32_t frequency_hz; + uint32_t test_duty_permille; + uint32_t max_duty_permille; + uint32_t deadtime_enable; + uint32_t deadtime_rising_ticks; + uint32_t deadtime_falling_ticks; +} DCDC_PwmRuntimeConfig; + +typedef struct +{ + uint32_t target_vout_mv; + uint32_t min_vin_mv; + uint32_t max_vout_mv; + uint32_t current_limit_ma; + uint32_t hard_current_ma; +} DCDC_LimitsRuntimeConfig; + +typedef struct +{ + int32_t kp_ticks_per_100mv; + int32_t ki_ticks_per_100mv; + int32_t current_limit_kp; +} DCDC_LoopRuntimeConfig; + +typedef struct +{ + uint32_t mode; + uint32_t connect_usbpd_input; + DCDC_PwmRuntimeConfig pwm; + DCDC_LimitsRuntimeConfig limits; + DCDC_LoopRuntimeConfig loop; +} DCDC_RuntimeConfig; + typedef struct { uint16_t vin_raw; @@ -18,6 +75,7 @@ typedef enum { DCDC_STATE_STOPPED = 0, DCDC_STATE_READY, + DCDC_STATE_PWM_TEST, DCDC_STATE_RUNNING, DCDC_STATE_FAULT } DCDC_State; @@ -31,17 +89,24 @@ typedef enum DCDC_FAULT_HRTIM } DCDC_Fault; +extern volatile DCDC_RuntimeConfig g_dcdc_config; + void DCDC_Init(void); void DCDC_Start(void); +void DCDC_StartPwmTest(void); void DCDC_Stop(void); +void DCDC_Service1ms(void); +void DCDC_ApplyRuntimeConfig(void); void DCDC_ControlStep(void); void DCDC_ReadMeasurements(DCDC_Measurements *out); +DCDC_Mode DCDC_GetMode(void); DCDC_State DCDC_GetState(void); DCDC_Fault DCDC_GetFault(void); bool DCDC_IsHrtimReady(void); uint32_t DCDC_GetDutyTicks(void); uint32_t DCDC_GetPeriodTicks(void); +const char *DCDC_ModeText(DCDC_Mode mode); const char *DCDC_StateText(DCDC_State state); const char *DCDC_FaultText(DCDC_Fault fault); diff --git a/B-G474E-DPOW1_Keil/Core/Src/dcdc.c b/B-G474E-DPOW1_Keil/Core/Src/dcdc.c index 0b5afac..3b689b1 100644 --- a/B-G474E-DPOW1_Keil/Core/Src/dcdc.c +++ b/B-G474E-DPOW1_Keil/Core/Src/dcdc.c @@ -7,6 +7,48 @@ #define HRTIM_TIMER_C_INDEX 2U #define ADC_SAMPLE_TIME_47CYCLES 5U #define HRTIM_DLL_READY_TIMEOUT 1000000UL +#define DCDC_MIN_PERIOD_TICKS 100UL +#define DCDC_MAX_PERIOD_TICKS 0xFFFFUL +#define DCDC_MAX_PERMILLE 1000UL + +/* +## Live configuration + +The compile-time macros in `app_config.h` only seed this object. After reset, +edit `g_dcdc_config` in Keil Watch and the 1 ms service loop applies the new +values to HRTIM and the control loop. +*/ +volatile DCDC_RuntimeConfig g_dcdc_config = +{ +#if DCDC_PWM_TEST_ENABLE + DCDC_MODE_PWM_TEST, +#elif DCDC_POWER_STAGE_ENABLE + DCDC_MODE_CLOSED_LOOP, +#else + DCDC_MODE_MONITOR, +#endif + DCDC_CONNECT_USBPD_INPUT, + { + DCDC_PWM_FREQUENCY_HZ, + DCDC_PWM_TEST_DUTY_PERMILLE, + 900U, + DCDC_PWM_TEST_DEADTIME_ENABLE, + DCDC_PWM_TEST_DEADTIME_TICKS, + DCDC_PWM_TEST_DEADTIME_TICKS + }, + { + DCDC_TARGET_VOUT_MV, + DCDC_MIN_VIN_MV, + DCDC_MAX_VOUT_MV, + DCDC_MAX_INPUT_CURRENT_MA, + DCDC_HARD_INPUT_CURRENT_MA + }, + { + DCDC_KP_TICKS_PER_100MV, + DCDC_KI_TICKS_PER_100MV, + DCDC_CURRENT_LIMIT_KP + } +}; static DCDC_State s_state = DCDC_STATE_STOPPED; static DCDC_Fault s_fault = DCDC_FAULT_NONE; @@ -22,8 +64,11 @@ static bool hrtim1_timer_c_init(void); static bool hrtim1_wait_dll_ready(void); static void hrtim1_outputs_enable(bool enable); static void hrtim1_set_duty(uint32_t duty_ticks); -static uint32_t hrtim_period_from_clock(void); +static uint32_t hrtim_period_from_frequency(uint32_t frequency_hz); +static uint32_t permille_to_ticks(uint32_t permille); +static void hrtim1_apply_pwm_config(void); static uint32_t hrtim_max_duty_ticks(void); +static uint32_t clamp_u32(uint32_t value, uint32_t min_value, uint32_t max_value); static uint32_t adc_raw_to_mv(uint16_t raw); static uint32_t sense_mv_to_voltage_mv(uint32_t sense_mv, uint32_t scale_ppm); static uint32_t sense_mv_to_current_ma(uint32_t sense_mv); @@ -61,17 +106,46 @@ void DCDC_Start(void) return; } -#if DCDC_CONNECT_USBPD_INPUT - set_usbpd_input_switch(true); -#endif + set_usbpd_input_switch(g_dcdc_config.connect_usbpd_input != 0U); s_integrator_ticks = 0; + hrtim1_apply_pwm_config(); hrtim1_set_duty(DCDC_START_DUTY_TICKS); HRTIM1->sMasterRegs.MCR |= HRTIM_MCR_TCCEN; hrtim1_outputs_enable(true); s_state = DCDC_STATE_RUNNING; } +void DCDC_StartPwmTest(void) +{ + uint32_t test_duty_ticks; + + if (s_fault != DCDC_FAULT_NONE) + { + return; + } + + if (!s_hrtim_ready) + { + latch_fault(DCDC_FAULT_HRTIM); + return; + } + + hrtim1_apply_pwm_config(); + test_duty_ticks = permille_to_ticks(g_dcdc_config.pwm.test_duty_permille); + if (test_duty_ticks == 0U) + { + test_duty_ticks = 1U; + } + + set_usbpd_input_switch(false); + s_integrator_ticks = 0; + hrtim1_set_duty(test_duty_ticks); + HRTIM1->sMasterRegs.MCR |= HRTIM_MCR_TCCEN; + hrtim1_outputs_enable(true); + s_state = DCDC_STATE_PWM_TEST; +} + void DCDC_Stop(void) { hrtim1_outputs_enable(false); @@ -81,6 +155,59 @@ void DCDC_Stop(void) s_state = DCDC_STATE_STOPPED; } +void DCDC_Service1ms(void) +{ + DCDC_Mode mode = DCDC_GetMode(); + + DCDC_ApplyRuntimeConfig(); + + switch (mode) + { + case DCDC_MODE_MONITOR: + if ((s_state == DCDC_STATE_PWM_TEST) || (s_state == DCDC_STATE_RUNNING)) + { + DCDC_Stop(); + } + break; + + case DCDC_MODE_PWM_TEST: + if (s_state != DCDC_STATE_PWM_TEST) + { + DCDC_StartPwmTest(); + } + break; + + case DCDC_MODE_CLOSED_LOOP: + if (s_state != DCDC_STATE_RUNNING) + { + DCDC_Start(); + } + if (s_state == DCDC_STATE_RUNNING) + { + DCDC_ControlStep(); + } + break; + + default: + break; + } +} + +void DCDC_ApplyRuntimeConfig(void) +{ + if (!s_hrtim_ready) + { + return; + } + + hrtim1_apply_pwm_config(); + + if (s_state == DCDC_STATE_PWM_TEST) + { + hrtim1_set_duty(permille_to_ticks(g_dcdc_config.pwm.test_duty_permille)); + } +} + void DCDC_ControlStep(void) { DCDC_Measurements m; @@ -95,19 +222,19 @@ void DCDC_ControlStep(void) return; } - if (m.vin_mv < DCDC_MIN_VIN_MV) + if (m.vin_mv < g_dcdc_config.limits.min_vin_mv) { latch_fault(DCDC_FAULT_UNDERVOLTAGE); return; } - if (m.vout_mv > DCDC_MAX_VOUT_MV) + if (m.vout_mv > g_dcdc_config.limits.max_vout_mv) { latch_fault(DCDC_FAULT_OVERVOLTAGE); return; } - if (m.iin_ma > DCDC_HARD_INPUT_CURRENT_MA) + if (m.iin_ma > g_dcdc_config.limits.hard_current_ma) { latch_fault(DCDC_FAULT_OVERCURRENT); return; @@ -121,10 +248,10 @@ void DCDC_ControlStep(void) * * This is deliberately readable, not a final compensated SMPS loop. */ - feed_forward = (int32_t)(((uint64_t)DCDC_TARGET_VOUT_MV * s_period_ticks) / m.vin_mv); - error_mv = (int32_t)DCDC_TARGET_VOUT_MV - (int32_t)m.vout_mv; + feed_forward = (int32_t)(((uint64_t)g_dcdc_config.limits.target_vout_mv * s_period_ticks) / m.vin_mv); + error_mv = (int32_t)g_dcdc_config.limits.target_vout_mv - (int32_t)m.vout_mv; - s_integrator_ticks += (error_mv * DCDC_KI_TICKS_PER_100MV) / 100; + s_integrator_ticks += (error_mv * g_dcdc_config.loop.ki_ticks_per_100mv) / 100; if (s_integrator_ticks > 3000) { s_integrator_ticks = 3000; @@ -135,12 +262,13 @@ void DCDC_ControlStep(void) } duty = feed_forward + - ((error_mv * DCDC_KP_TICKS_PER_100MV) / 100) + + ((error_mv * g_dcdc_config.loop.kp_ticks_per_100mv) / 100) + s_integrator_ticks; - if (m.iin_ma > DCDC_MAX_INPUT_CURRENT_MA) + if (m.iin_ma > g_dcdc_config.limits.current_limit_ma) { - duty -= (int32_t)((m.iin_ma - DCDC_MAX_INPUT_CURRENT_MA) * DCDC_CURRENT_LIMIT_KP); + duty -= (int32_t)((m.iin_ma - g_dcdc_config.limits.current_limit_ma) * + g_dcdc_config.loop.current_limit_kp); } if (duty < (int32_t)DCDC_MIN_DUTY_TICKS) @@ -174,6 +302,20 @@ void DCDC_ReadMeasurements(DCDC_Measurements *out) out->vout_mv = sense_mv_to_voltage_mv(vout_sense_mv, DCDC_VOUT_SCALE_PPM); } +DCDC_Mode DCDC_GetMode(void) +{ + switch ((DCDC_Mode)g_dcdc_config.mode) + { + case DCDC_MODE_MONITOR: + case DCDC_MODE_PWM_TEST: + case DCDC_MODE_CLOSED_LOOP: + return (DCDC_Mode)g_dcdc_config.mode; + + default: + return DCDC_MODE_MONITOR; + } +} + DCDC_State DCDC_GetState(void) { return s_state; @@ -205,12 +347,24 @@ const char *DCDC_StateText(DCDC_State state) { case DCDC_STATE_STOPPED: return "stopped"; case DCDC_STATE_READY: return "ready"; + case DCDC_STATE_PWM_TEST:return "pwm-test"; case DCDC_STATE_RUNNING: return "running"; case DCDC_STATE_FAULT: return "fault"; default: return "unknown"; } } +const char *DCDC_ModeText(DCDC_Mode mode) +{ + switch (mode) + { + case DCDC_MODE_MONITOR: return "monitor"; + case DCDC_MODE_PWM_TEST: return "pwm-test"; + case DCDC_MODE_CLOSED_LOOP: return "closed-loop"; + default: return "unknown"; + } +} + const char *DCDC_FaultText(DCDC_Fault fault) { switch (fault) @@ -303,9 +457,11 @@ static bool hrtim1_timer_c_init(void) RCC->APB2ENR |= RCC_APB2ENR_HRTIM1EN; (void)RCC->APB2ENR; + RCC->APB2RSTR |= RCC_APB2RSTR_HRTIM1RST; + RCC->APB2RSTR &= ~RCC_APB2RSTR_HRTIM1RST; HRTIM1->sCommonRegs.ODISR = HRTIM_ODISR_TC1ODIS | HRTIM_ODISR_TC2ODIS; - s_period_ticks = hrtim_period_from_clock(); + s_period_ticks = hrtim_period_from_frequency(g_dcdc_config.pwm.frequency_hz); HRTIM1->sCommonRegs.ICR = HRTIM_ICR_DLLRDYC; HRTIM1->sCommonRegs.DLLCR = HRTIM_DLLCR_CALEN | @@ -326,11 +482,18 @@ static bool hrtim1_timer_c_init(void) timer->CMP2xR = hrtim_max_duty_ticks(); timer->CMP3xR = 1000U; - timer->DTxR = - ((DCDC_DEADTIME_RISING_TICKS & 0x1FFUL) << HRTIM_DTR_DTR_Pos) | - ((DCDC_DEADTIME_FALLING_TICKS & 0x1FFUL) << HRTIM_DTR_DTF_Pos) | - (HRTIM_DTR_DTPRSC_1 | HRTIM_DTR_DTPRSC_0); - +#if DCDC_PWM_TEST_ENABLE + /* + * Complementary HRTIM test without dead-time/fault handling: + * PB12/CHC1 goes active at period and inactive at CMP1. + * PB13/CHC2 goes active at CMP1 and inactive at period. + */ + timer->SETx1R = HRTIM_SET1R_PER; + timer->RSTx1R = HRTIM_RST1R_CMP1; + timer->SETx2R = HRTIM_SET2R_CMP1; + timer->RSTx2R = HRTIM_RST2R_PER; + timer->OUTxR = 0U; +#else /* * Complementary buck PWM: * CHC1 goes active at period event and inactive at CMP1. @@ -342,6 +505,9 @@ static bool hrtim1_timer_c_init(void) timer->SETx2R = HRTIM_SET2R_CMP1; timer->RSTx2R = HRTIM_RST2R_PER; timer->OUTxR = HRTIM_OUTR_DTEN | HRTIM_OUTR_FAULT1_1 | HRTIM_OUTR_FAULT2_1; +#endif + + hrtim1_apply_pwm_config(); /* Trigger point for future synchronized ADC sampling. */ HRTIM1->sCommonRegs.ADC1R = HRTIM_ADC1R_AD1TCC3; @@ -389,26 +555,64 @@ static void hrtim1_set_duty(uint32_t duty_ticks) s_duty_ticks = duty_ticks; } -static uint32_t hrtim_period_from_clock(void) +static uint32_t hrtim_period_from_frequency(uint32_t frequency_hz) { - uint64_t ticks = (((uint64_t)SystemCoreClock * 32ULL) + (DCDC_PWM_FREQUENCY_HZ / 2ULL)) / - DCDC_PWM_FREQUENCY_HZ; + uint64_t ticks; - if (ticks < 100ULL) + if (frequency_hz == 0U) { - ticks = 100ULL; + frequency_hz = DCDC_PWM_FREQUENCY_HZ; } - else if (ticks > 0xFFFFULL) + + ticks = (((uint64_t)SystemCoreClock * 32ULL) + (frequency_hz / 2ULL)) / + frequency_hz; + + if (ticks < DCDC_MIN_PERIOD_TICKS) { - ticks = 0xFFFFULL; + ticks = DCDC_MIN_PERIOD_TICKS; + } + else if (ticks > DCDC_MAX_PERIOD_TICKS) + { + ticks = DCDC_MAX_PERIOD_TICKS; } return (uint32_t)ticks; } +static uint32_t permille_to_ticks(uint32_t permille) +{ + permille = clamp_u32(permille, 0U, DCDC_MAX_PERMILLE); + return (uint32_t)(((uint64_t)s_period_ticks * permille) / DCDC_MAX_PERMILLE); +} + +static void hrtim1_apply_pwm_config(void) +{ + HRTIM_Timerx_TypeDef *timer = &HRTIM1->sTimerxRegs[HRTIM_TIMER_C_INDEX]; + uint32_t period_ticks = hrtim_period_from_frequency(g_dcdc_config.pwm.frequency_hz); + uint32_t rising_ticks = clamp_u32(g_dcdc_config.pwm.deadtime_rising_ticks, 0U, 0x1FFU); + uint32_t falling_ticks = clamp_u32(g_dcdc_config.pwm.deadtime_falling_ticks, 0U, 0x1FFU); + + s_period_ticks = period_ticks; + timer->PERxR = period_ticks; + timer->DTxR = + (rising_ticks << HRTIM_DTR_DTR_Pos) | + (falling_ticks << HRTIM_DTR_DTF_Pos) | + (HRTIM_DTR_DTPRSC_1 | HRTIM_DTR_DTPRSC_0); + + if (g_dcdc_config.pwm.deadtime_enable != 0U) + { + timer->OUTxR |= HRTIM_OUTR_DTEN; + } + else + { + timer->OUTxR &= ~HRTIM_OUTR_DTEN; + } +} + static uint32_t hrtim_max_duty_ticks(void) { - uint32_t max_ticks = DCDC_MAX_DUTY_TICKS; + uint32_t max_permille = clamp_u32(g_dcdc_config.pwm.max_duty_permille, 1U, DCDC_MAX_PERMILLE); + uint32_t max_ticks = permille_to_ticks(max_permille); if (s_period_ticks > 10U && max_ticks >= (s_period_ticks - 1U)) { @@ -418,6 +622,21 @@ static uint32_t hrtim_max_duty_ticks(void) return max_ticks; } +static uint32_t clamp_u32(uint32_t value, uint32_t min_value, uint32_t max_value) +{ + if (value < min_value) + { + return min_value; + } + + if (value > max_value) + { + return max_value; + } + + return value; +} + static uint32_t adc_raw_to_mv(uint16_t raw) { return ((uint32_t)raw * ADC_REFERENCE_MV) / ADC_FULL_SCALE_COUNTS; diff --git a/B-G474E-DPOW1_Keil/Core/Src/main.c b/B-G474E-DPOW1_Keil/Core/Src/main.c index d6dd632..575b173 100644 --- a/B-G474E-DPOW1_Keil/Core/Src/main.c +++ b/B-G474E-DPOW1_Keil/Core/Src/main.c @@ -6,20 +6,29 @@ #include "retarget.h" #include "stm32g474xx.h" +/* +## Main loop + +The application is intentionally small: + +- board clocks and UART start first; +- `DCDC_Init()` prepares ADC and HRTIM; +- `DCDC_Service1ms()` applies live edits from `g_dcdc_config`; +- terminal output prints the current measurements and active runtime mode. +*/ +#if DCDC_GPIO_PIN_TEST_ENABLE +static void GpioPinTest_Init(void); +static void GpioPinTest_SetPhase(bool phase); +#endif + int main(void) { uint32_t last_control_ms = 0U; uint32_t last_print_ms = 0U; - volatile uint32_t debug_attach_delay; - - /* - * Short rescue window after reset. It lets ST-LINK attach before the - * firmware reconfigures clocks and power peripherals. - */ - for (debug_attach_delay = 0U; debug_attach_delay < DEBUG_ATTACH_DELAY_LOOPS; debug_attach_delay++) - { - __NOP(); - } +#if DCDC_GPIO_PIN_TEST_ENABLE + uint32_t last_gpio_test_ms = 0U; + bool gpio_test_phase = false; +#endif Board_Init(); Retarget_Init(USART3_BAUDRATE); @@ -32,23 +41,40 @@ int main(void) (unsigned long)DCDC_PWM_FREQUENCY_HZ, (unsigned long)DCDC_GetPeriodTicks()); printf("HRTIM DLL: %s\n", DCDC_IsHrtimReady() ? "ready" : "not ready"); + printf("Runtime mode: %s; edit g_dcdc_config in Keil Watch.\n", + DCDC_ModeText(DCDC_GetMode())); + printf("Runtime PWM: freq=%luHz duty=%lu/1000 deadtime=%lu rise=%lu fall=%lu ticks\n", + (unsigned long)g_dcdc_config.pwm.frequency_hz, + (unsigned long)g_dcdc_config.pwm.test_duty_permille, + (unsigned long)g_dcdc_config.pwm.deadtime_enable, + (unsigned long)g_dcdc_config.pwm.deadtime_rising_ticks, + (unsigned long)g_dcdc_config.pwm.deadtime_falling_ticks); -#if DCDC_POWER_STAGE_ENABLE - printf("Power stage: ENABLED. Check VIN/current limit before flashing.\n"); - DCDC_Start(); +#if DCDC_GPIO_PIN_TEST_ENABLE + printf("GPIO pin test: PB12/PB13 toggle as ordinary outputs.\n"); + GpioPinTest_Init(); #else - printf("Power stage: disabled in app_config.h; ADC monitor only.\n"); + printf("Runtime service active. mode=0 monitor, 1 pwm-test, 2 closed-loop.\n"); #endif while (1) { uint32_t now = Board_Millis(); +#if DCDC_GPIO_PIN_TEST_ENABLE + if ((now - last_gpio_test_ms) >= DCDC_GPIO_PIN_TEST_HALF_PERIOD_MS) + { + last_gpio_test_ms = now; + gpio_test_phase = !gpio_test_phase; + GpioPinTest_SetPhase(gpio_test_phase); + } +#else if ((now - last_control_ms) >= 1U) { last_control_ms = now; - DCDC_ControlStep(); + DCDC_Service1ms(); } +#endif if ((now - last_print_ms) >= 500U) { @@ -56,7 +82,8 @@ int main(void) last_print_ms = now; DCDC_ReadMeasurements(&m); - printf("state=%s fault=%s hrtim=%s vin=%lumV iin=%lumA vout=%lumV duty=%lu/%lu\n", + printf("mode=%s state=%s fault=%s hrtim=%s vin=%lumV iin=%lumA vout=%lumV duty=%lu/%lu dt=%lu/%lu\n", + DCDC_ModeText(DCDC_GetMode()), DCDC_StateText(DCDC_GetState()), DCDC_FaultText(DCDC_GetFault()), DCDC_IsHrtimReady() ? "ready" : "not-ready", @@ -64,7 +91,37 @@ int main(void) (unsigned long)m.iin_ma, (unsigned long)m.vout_mv, (unsigned long)DCDC_GetDutyTicks(), - (unsigned long)DCDC_GetPeriodTicks()); + (unsigned long)DCDC_GetPeriodTicks(), + (unsigned long)g_dcdc_config.pwm.deadtime_rising_ticks, + (unsigned long)g_dcdc_config.pwm.deadtime_falling_ticks); } } } + +#if DCDC_GPIO_PIN_TEST_ENABLE +static void GpioPinTest_Init(void) +{ + RCC->AHB2ENR |= RCC_AHB2ENR_GPIOBEN; + (void)RCC->AHB2ENR; + + GPIOB->MODER &= ~((3UL << (12U * 2U)) | (3UL << (13U * 2U))); + GPIOB->MODER |= ((1UL << (12U * 2U)) | (1UL << (13U * 2U))); + GPIOB->OTYPER &= ~((1UL << 12U) | (1UL << 13U)); + GPIOB->OSPEEDR |= ((3UL << (12U * 2U)) | (3UL << (13U * 2U))); + GPIOB->PUPDR &= ~((3UL << (12U * 2U)) | (3UL << (13U * 2U))); + + GpioPinTest_SetPhase(false); +} + +static void GpioPinTest_SetPhase(bool phase) +{ + if (phase) + { + GPIOB->BSRR = (1UL << 12U) | (1UL << (13U + 16U)); + } + else + { + GPIOB->BSRR = (1UL << 13U) | (1UL << (12U + 16U)); + } +} +#endif diff --git a/B-G474E-DPOW1_Keil/Listings/B-G474E-DPOW1_DCDC.map b/B-G474E-DPOW1_Keil/Listings/B-G474E-DPOW1_DCDC.map index 4183a9f..9d255c6 100644 --- a/B-G474E-DPOW1_Keil/Listings/B-G474E-DPOW1_DCDC.map +++ b/B-G474E-DPOW1_Keil/Listings/B-G474E-DPOW1_DCDC.map @@ -23,8 +23,11 @@ Section Cross References main.o(.text.main) refers to system_stm32g4xx.o(.data.SystemCoreClock) for SystemCoreClock main.o(.text.main) refers to dcdc.o(.text.DCDC_GetPeriodTicks) for DCDC_GetPeriodTicks main.o(.text.main) refers to dcdc.o(.text.DCDC_IsHrtimReady) for DCDC_IsHrtimReady + main.o(.text.main) refers to dcdc.o(.text.DCDC_GetMode) for DCDC_GetMode + main.o(.text.main) refers to dcdc.o(.text.DCDC_ModeText) for DCDC_ModeText + main.o(.text.main) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config main.o(.text.main) refers to board.o(.text.Board_Millis) for Board_Millis - main.o(.text.main) refers to dcdc.o(.text.DCDC_ControlStep) for DCDC_ControlStep + main.o(.text.main) refers to dcdc.o(.text.DCDC_Service1ms) for DCDC_Service1ms main.o(.text.main) refers to dcdc.o(.text.DCDC_ReadMeasurements) for DCDC_ReadMeasurements main.o(.text.main) refers to dcdc.o(.text.DCDC_GetState) for DCDC_GetState main.o(.text.main) refers to dcdc.o(.text.DCDC_StateText) for DCDC_StateText @@ -78,16 +81,21 @@ Section Cross References dcdc.o(.ARM.exidx.text.set_loads_off) refers to dcdc.o(.text.set_loads_off) for [Anonymous Symbol] dcdc.o(.text.adc1_init) refers to board.o(.text.Board_DelayMs) for Board_DelayMs dcdc.o(.ARM.exidx.text.adc1_init) refers to dcdc.o(.text.adc1_init) for [Anonymous Symbol] - dcdc.o(.text.hrtim1_timer_c_init) refers to dcdc.o(.text.hrtim_period_from_clock) for hrtim_period_from_clock + dcdc.o(.text.hrtim1_timer_c_init) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config + dcdc.o(.text.hrtim1_timer_c_init) refers to dcdc.o(.text.hrtim_period_from_frequency) for hrtim_period_from_frequency dcdc.o(.text.hrtim1_timer_c_init) refers to dcdc.o(.data.s_period_ticks) for s_period_ticks dcdc.o(.text.hrtim1_timer_c_init) refers to dcdc.o(.text.hrtim1_wait_dll_ready) for hrtim1_wait_dll_ready dcdc.o(.text.hrtim1_timer_c_init) refers to dcdc.o(.text.hrtim_max_duty_ticks) for hrtim_max_duty_ticks + dcdc.o(.text.hrtim1_timer_c_init) refers to dcdc.o(.text.hrtim1_apply_pwm_config) for hrtim1_apply_pwm_config dcdc.o(.ARM.exidx.text.hrtim1_timer_c_init) refers to dcdc.o(.text.hrtim1_timer_c_init) for [Anonymous Symbol] dcdc.o(.ARM.exidx.text.hrtim1_outputs_enable) refers to dcdc.o(.text.hrtim1_outputs_enable) for [Anonymous Symbol] dcdc.o(.text.DCDC_Start) refers to dcdc.o(.bss.s_fault) for s_fault dcdc.o(.text.DCDC_Start) refers to dcdc.o(.bss.s_hrtim_ready) for s_hrtim_ready dcdc.o(.text.DCDC_Start) refers to dcdc.o(.text.latch_fault) for latch_fault + dcdc.o(.text.DCDC_Start) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config + dcdc.o(.text.DCDC_Start) refers to dcdc.o(.text.set_usbpd_input_switch) for set_usbpd_input_switch dcdc.o(.text.DCDC_Start) refers to dcdc.o(.bss.s_integrator_ticks) for s_integrator_ticks + dcdc.o(.text.DCDC_Start) refers to dcdc.o(.text.hrtim1_apply_pwm_config) for hrtim1_apply_pwm_config dcdc.o(.text.DCDC_Start) refers to dcdc.o(.text.hrtim1_set_duty) for hrtim1_set_duty dcdc.o(.text.DCDC_Start) refers to dcdc.o(.text.hrtim1_outputs_enable) for hrtim1_outputs_enable dcdc.o(.text.DCDC_Start) refers to dcdc.o(.bss.s_state) for s_state @@ -98,16 +106,55 @@ Section Cross References dcdc.o(.text.latch_fault) refers to dcdc.o(.bss.s_fault) for s_fault dcdc.o(.text.latch_fault) refers to dcdc.o(.bss.s_state) for s_state dcdc.o(.ARM.exidx.text.latch_fault) refers to dcdc.o(.text.latch_fault) for [Anonymous Symbol] + dcdc.o(.text.hrtim1_apply_pwm_config) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config + dcdc.o(.text.hrtim1_apply_pwm_config) refers to dcdc.o(.text.hrtim_period_from_frequency) for hrtim_period_from_frequency + dcdc.o(.text.hrtim1_apply_pwm_config) refers to dcdc.o(.text.clamp_u32) for clamp_u32 + dcdc.o(.text.hrtim1_apply_pwm_config) refers to dcdc.o(.data.s_period_ticks) for s_period_ticks + dcdc.o(.ARM.exidx.text.hrtim1_apply_pwm_config) refers to dcdc.o(.text.hrtim1_apply_pwm_config) for [Anonymous Symbol] dcdc.o(.text.hrtim1_set_duty) refers to dcdc.o(.text.hrtim_max_duty_ticks) for hrtim_max_duty_ticks dcdc.o(.text.hrtim1_set_duty) refers to dcdc.o(.data.s_duty_ticks) for s_duty_ticks dcdc.o(.ARM.exidx.text.hrtim1_set_duty) refers to dcdc.o(.text.hrtim1_set_duty) for [Anonymous Symbol] + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.bss.s_fault) for s_fault + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.bss.s_hrtim_ready) for s_hrtim_ready + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.text.latch_fault) for latch_fault + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.text.hrtim1_apply_pwm_config) for hrtim1_apply_pwm_config + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.text.permille_to_ticks) for permille_to_ticks + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.text.set_usbpd_input_switch) for set_usbpd_input_switch + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.bss.s_integrator_ticks) for s_integrator_ticks + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.text.hrtim1_set_duty) for hrtim1_set_duty + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.text.hrtim1_outputs_enable) for hrtim1_outputs_enable + dcdc.o(.text.DCDC_StartPwmTest) refers to dcdc.o(.bss.s_state) for s_state + dcdc.o(.ARM.exidx.text.DCDC_StartPwmTest) refers to dcdc.o(.text.DCDC_StartPwmTest) for [Anonymous Symbol] + dcdc.o(.text.permille_to_ticks) refers to dcdc.o(.text.clamp_u32) for clamp_u32 + dcdc.o(.text.permille_to_ticks) refers to dcdc.o(.data.s_period_ticks) for s_period_ticks + dcdc.o(.text.permille_to_ticks) refers to lludivv7m.o(.text) for __aeabi_uldivmod + dcdc.o(.ARM.exidx.text.permille_to_ticks) refers to dcdc.o(.text.permille_to_ticks) for [Anonymous Symbol] dcdc.o(.text.DCDC_Stop) refers to dcdc.o(.text.hrtim1_outputs_enable) for hrtim1_outputs_enable dcdc.o(.text.DCDC_Stop) refers to dcdc.o(.text.hrtim1_set_duty) for hrtim1_set_duty dcdc.o(.text.DCDC_Stop) refers to dcdc.o(.text.set_usbpd_input_switch) for set_usbpd_input_switch dcdc.o(.text.DCDC_Stop) refers to dcdc.o(.bss.s_state) for s_state dcdc.o(.ARM.exidx.text.DCDC_Stop) refers to dcdc.o(.text.DCDC_Stop) for [Anonymous Symbol] + dcdc.o(.text.DCDC_Service1ms) refers to dcdc.o(.text.DCDC_GetMode) for DCDC_GetMode + dcdc.o(.text.DCDC_Service1ms) refers to dcdc.o(.text.DCDC_ApplyRuntimeConfig) for DCDC_ApplyRuntimeConfig + dcdc.o(.text.DCDC_Service1ms) refers to dcdc.o(.bss.s_state) for s_state + dcdc.o(.text.DCDC_Service1ms) refers to dcdc.o(.text.DCDC_Stop) for DCDC_Stop + dcdc.o(.text.DCDC_Service1ms) refers to dcdc.o(.text.DCDC_StartPwmTest) for DCDC_StartPwmTest + dcdc.o(.text.DCDC_Service1ms) refers to dcdc.o(.text.DCDC_Start) for DCDC_Start + dcdc.o(.text.DCDC_Service1ms) refers to dcdc.o(.text.DCDC_ControlStep) for DCDC_ControlStep + dcdc.o(.ARM.exidx.text.DCDC_Service1ms) refers to dcdc.o(.text.DCDC_Service1ms) for [Anonymous Symbol] + dcdc.o(.text.DCDC_GetMode) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config + dcdc.o(.ARM.exidx.text.DCDC_GetMode) refers to dcdc.o(.text.DCDC_GetMode) for [Anonymous Symbol] + dcdc.o(.text.DCDC_ApplyRuntimeConfig) refers to dcdc.o(.bss.s_hrtim_ready) for s_hrtim_ready + dcdc.o(.text.DCDC_ApplyRuntimeConfig) refers to dcdc.o(.text.hrtim1_apply_pwm_config) for hrtim1_apply_pwm_config + dcdc.o(.text.DCDC_ApplyRuntimeConfig) refers to dcdc.o(.bss.s_state) for s_state + dcdc.o(.text.DCDC_ApplyRuntimeConfig) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config + dcdc.o(.text.DCDC_ApplyRuntimeConfig) refers to dcdc.o(.text.permille_to_ticks) for permille_to_ticks + dcdc.o(.text.DCDC_ApplyRuntimeConfig) refers to dcdc.o(.text.hrtim1_set_duty) for hrtim1_set_duty + dcdc.o(.ARM.exidx.text.DCDC_ApplyRuntimeConfig) refers to dcdc.o(.text.DCDC_ApplyRuntimeConfig) for [Anonymous Symbol] dcdc.o(.text.DCDC_ControlStep) refers to dcdc.o(.text.DCDC_ReadMeasurements) for DCDC_ReadMeasurements dcdc.o(.text.DCDC_ControlStep) refers to dcdc.o(.bss.s_state) for s_state + dcdc.o(.text.DCDC_ControlStep) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config dcdc.o(.text.DCDC_ControlStep) refers to dcdc.o(.text.latch_fault) for latch_fault dcdc.o(.text.DCDC_ControlStep) refers to dcdc.o(.data.s_period_ticks) for s_period_ticks dcdc.o(.text.DCDC_ControlStep) refers to lludivv7m.o(.text) for __aeabi_uldivmod @@ -120,6 +167,9 @@ Section Cross References dcdc.o(.text.DCDC_ReadMeasurements) refers to dcdc.o(.text.sense_mv_to_voltage_mv) for sense_mv_to_voltage_mv dcdc.o(.text.DCDC_ReadMeasurements) refers to dcdc.o(.text.sense_mv_to_current_ma) for sense_mv_to_current_ma dcdc.o(.ARM.exidx.text.DCDC_ReadMeasurements) refers to dcdc.o(.text.DCDC_ReadMeasurements) for [Anonymous Symbol] + dcdc.o(.text.hrtim_max_duty_ticks) refers to dcdc.o(.data.g_dcdc_config) for g_dcdc_config + dcdc.o(.text.hrtim_max_duty_ticks) refers to dcdc.o(.text.clamp_u32) for clamp_u32 + dcdc.o(.text.hrtim_max_duty_ticks) refers to dcdc.o(.text.permille_to_ticks) for permille_to_ticks dcdc.o(.text.hrtim_max_duty_ticks) refers to dcdc.o(.data.s_period_ticks) for s_period_ticks dcdc.o(.ARM.exidx.text.hrtim_max_duty_ticks) refers to dcdc.o(.text.hrtim_max_duty_ticks) for [Anonymous Symbol] dcdc.o(.ARM.exidx.text.adc1_read_channel) refers to dcdc.o(.text.adc1_read_channel) for [Anonymous Symbol] @@ -139,12 +189,15 @@ Section Cross References dcdc.o(.ARM.exidx.text.DCDC_GetPeriodTicks) refers to dcdc.o(.text.DCDC_GetPeriodTicks) for [Anonymous Symbol] dcdc.o(.text.DCDC_StateText) refers to dcdc.o(.rodata.str1.1) for .L.str dcdc.o(.ARM.exidx.text.DCDC_StateText) refers to dcdc.o(.text.DCDC_StateText) for [Anonymous Symbol] - dcdc.o(.text.DCDC_FaultText) refers to dcdc.o(.rodata.str1.1) for .L.str.5 + dcdc.o(.text.DCDC_ModeText) refers to dcdc.o(.rodata.str1.1) for .L.str.6 + dcdc.o(.ARM.exidx.text.DCDC_ModeText) refers to dcdc.o(.text.DCDC_ModeText) for [Anonymous Symbol] + dcdc.o(.text.DCDC_FaultText) refers to dcdc.o(.rodata.str1.1) for .L.str.8 dcdc.o(.ARM.exidx.text.DCDC_FaultText) refers to dcdc.o(.text.DCDC_FaultText) for [Anonymous Symbol] - dcdc.o(.text.hrtim_period_from_clock) refers to system_stm32g4xx.o(.data.SystemCoreClock) for SystemCoreClock - dcdc.o(.text.hrtim_period_from_clock) refers to lludivv7m.o(.text) for __aeabi_uldivmod - dcdc.o(.ARM.exidx.text.hrtim_period_from_clock) refers to dcdc.o(.text.hrtim_period_from_clock) for [Anonymous Symbol] + dcdc.o(.text.hrtim_period_from_frequency) refers to system_stm32g4xx.o(.data.SystemCoreClock) for SystemCoreClock + dcdc.o(.text.hrtim_period_from_frequency) refers to lludivv7m.o(.text) for __aeabi_uldivmod + dcdc.o(.ARM.exidx.text.hrtim_period_from_frequency) refers to dcdc.o(.text.hrtim_period_from_frequency) for [Anonymous Symbol] dcdc.o(.ARM.exidx.text.hrtim1_wait_dll_ready) refers to dcdc.o(.text.hrtim1_wait_dll_ready) for [Anonymous Symbol] + dcdc.o(.ARM.exidx.text.clamp_u32) refers to dcdc.o(.text.clamp_u32) for [Anonymous Symbol] retarget.o(.text) refers (Special) to use_no_semi_2.o(.text) for __use_no_semihosting retarget.o(.text.Retarget_Init) refers (Special) to use_no_semi_2.o(.text) for __use_no_semihosting retarget.o(.text.Retarget_Init) refers to retarget.o(.text.gpio_pc10_pc11_to_usart3) for gpio_pc10_pc11_to_usart3 @@ -521,12 +574,16 @@ Removing Unused input sections from the image. Removing dcdc.o(.ARM.exidx.text.adc1_init), (8 bytes). Removing dcdc.o(.ARM.exidx.text.hrtim1_timer_c_init), (8 bytes). Removing dcdc.o(.ARM.exidx.text.hrtim1_outputs_enable), (8 bytes). - Removing dcdc.o(.text.DCDC_Start), (100 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_Start), (8 bytes). Removing dcdc.o(.ARM.exidx.text.latch_fault), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.hrtim1_apply_pwm_config), (8 bytes). Removing dcdc.o(.ARM.exidx.text.hrtim1_set_duty), (8 bytes). - Removing dcdc.o(.text.DCDC_Stop), (56 bytes). + Removing dcdc.o(.ARM.exidx.text.DCDC_StartPwmTest), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.permille_to_ticks), (8 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_Stop), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.DCDC_Service1ms), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.DCDC_GetMode), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.DCDC_ApplyRuntimeConfig), (8 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_ControlStep), (8 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_ReadMeasurements), (8 bytes). Removing dcdc.o(.ARM.exidx.text.hrtim_max_duty_ticks), (8 bytes). @@ -540,9 +597,11 @@ Removing Unused input sections from the image. Removing dcdc.o(.ARM.exidx.text.DCDC_GetDutyTicks), (8 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_GetPeriodTicks), (8 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_StateText), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.DCDC_ModeText), (8 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_FaultText), (8 bytes). - Removing dcdc.o(.ARM.exidx.text.hrtim_period_from_clock), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.hrtim_period_from_frequency), (8 bytes). Removing dcdc.o(.ARM.exidx.text.hrtim1_wait_dll_ready), (8 bytes). + Removing dcdc.o(.ARM.exidx.text.clamp_u32), (8 bytes). Removing retarget.o(.text), (0 bytes). Removing retarget.o(.ARM.exidx.text.Retarget_Init), (8 bytes). Removing retarget.o(.ARM.exidx.text.gpio_pc10_pc11_to_usart3), (8 bytes). @@ -559,7 +618,7 @@ Removing Unused input sections from the image. Removing system_stm32g4xx.o(.ARM.exidx.text.SystemCoreClockUpdate), (8 bytes). Removing system_stm32g4xx.o(.rodata.APBPrescTable), (8 bytes). -62 unused section(s) (total 714 bytes) removed from the image. +68 unused section(s) (total 622 bytes) removed from the image. ============================================================================== @@ -833,155 +892,173 @@ Image Symbol Table [Anonymous Symbol] 0x080015dc Section 0 board.o(.text.Board_Millis) Clock_UseHsi16 0x080015e9 Thumb Code 58 board.o(.text.Clock_UseHsi16) [Anonymous Symbol] 0x080015e8 Section 0 board.o(.text.Clock_UseHsi16) - [Anonymous Symbol] 0x08001624 Section 0 dcdc.o(.text.DCDC_ControlStep) - [Anonymous Symbol] 0x08001794 Section 0 dcdc.o(.text.DCDC_FaultText) - [Anonymous Symbol] 0x08001800 Section 0 dcdc.o(.text.DCDC_GetDutyTicks) - [Anonymous Symbol] 0x0800180c Section 0 dcdc.o(.text.DCDC_GetFault) - [Anonymous Symbol] 0x08001818 Section 0 dcdc.o(.text.DCDC_GetPeriodTicks) - [Anonymous Symbol] 0x08001824 Section 0 dcdc.o(.text.DCDC_GetState) - [Anonymous Symbol] 0x08001830 Section 0 dcdc.o(.text.DCDC_Init) - [Anonymous Symbol] 0x08001880 Section 0 dcdc.o(.text.DCDC_IsHrtimReady) - [Anonymous Symbol] 0x08001890 Section 0 dcdc.o(.text.DCDC_ReadMeasurements) - [Anonymous Symbol] 0x08001900 Section 0 dcdc.o(.text.DCDC_StateText) - Flash_SetLatency 0x08001961 Thumb Code 102 board.o(.text.Flash_SetLatency) - [Anonymous Symbol] 0x08001960 Section 0 board.o(.text.Flash_SetLatency) - [Anonymous Symbol] 0x080019c8 Section 0 retarget.o(.text.Retarget_Init) - [Anonymous Symbol] 0x08001a2c Section 0 retarget.o(.text.Retarget_PutChar) - SysTick_Config 0x08001a5d Thumb Code 82 board.o(.text.SysTick_Config) - [Anonymous Symbol] 0x08001a5c Section 0 board.o(.text.SysTick_Config) - [Anonymous Symbol] 0x08001ab0 Section 0 board.o(.text.SysTick_Handler) - SystemClock_Config 0x08001ac1 Thumb Code 274 board.o(.text.SystemClock_Config) - [Anonymous Symbol] 0x08001ac0 Section 0 board.o(.text.SystemClock_Config) - [Anonymous Symbol] 0x08001bd4 Section 0 system_stm32g4xx.o(.text.SystemCoreClockUpdate) - [Anonymous Symbol] 0x08001ca4 Section 0 system_stm32g4xx.o(.text.SystemInit) - __NVIC_SetPriority 0x08001cc5 Thumb Code 66 board.o(.text.__NVIC_SetPriority) - [Anonymous Symbol] 0x08001cc4 Section 0 board.o(.text.__NVIC_SetPriority) - [Anonymous Symbol] 0x08001d08 Section 0 retarget.o(.text._sys_exit) - adc1_init 0x08001d15 Thumb Code 166 dcdc.o(.text.adc1_init) - [Anonymous Symbol] 0x08001d14 Section 0 dcdc.o(.text.adc1_init) - adc1_read_channel 0x08001dbd Thumb Code 74 dcdc.o(.text.adc1_read_channel) - [Anonymous Symbol] 0x08001dbc Section 0 dcdc.o(.text.adc1_read_channel) - adc_raw_to_mv 0x08001e09 Thumb Code 32 dcdc.o(.text.adc_raw_to_mv) - [Anonymous Symbol] 0x08001e08 Section 0 dcdc.o(.text.adc_raw_to_mv) - [Anonymous Symbol] 0x08001e28 Section 0 retarget.o(.text.fputc) - gpio_init_for_dcdc 0x08001e51 Thumb Code 228 dcdc.o(.text.gpio_init_for_dcdc) - [Anonymous Symbol] 0x08001e50 Section 0 dcdc.o(.text.gpio_init_for_dcdc) - gpio_pc10_pc11_to_usart3 0x08001f35 Thumb Code 116 retarget.o(.text.gpio_pc10_pc11_to_usart3) - [Anonymous Symbol] 0x08001f34 Section 0 retarget.o(.text.gpio_pc10_pc11_to_usart3) - hrtim1_outputs_enable 0x08001fa9 Thumb Code 48 dcdc.o(.text.hrtim1_outputs_enable) - [Anonymous Symbol] 0x08001fa8 Section 0 dcdc.o(.text.hrtim1_outputs_enable) - hrtim1_set_duty 0x08001fd9 Thumb Code 76 dcdc.o(.text.hrtim1_set_duty) - [Anonymous Symbol] 0x08001fd8 Section 0 dcdc.o(.text.hrtim1_set_duty) - hrtim1_timer_c_init 0x08002025 Thumb Code 266 dcdc.o(.text.hrtim1_timer_c_init) - [Anonymous Symbol] 0x08002024 Section 0 dcdc.o(.text.hrtim1_timer_c_init) - hrtim1_wait_dll_ready 0x08002131 Thumb Code 76 dcdc.o(.text.hrtim1_wait_dll_ready) - [Anonymous Symbol] 0x08002130 Section 0 dcdc.o(.text.hrtim1_wait_dll_ready) - hrtim_max_duty_ticks 0x0800217d Thumb Code 66 dcdc.o(.text.hrtim_max_duty_ticks) - [Anonymous Symbol] 0x0800217c Section 0 dcdc.o(.text.hrtim_max_duty_ticks) - hrtim_period_from_clock 0x080021c1 Thumb Code 122 dcdc.o(.text.hrtim_period_from_clock) - [Anonymous Symbol] 0x080021c0 Section 0 dcdc.o(.text.hrtim_period_from_clock) - latch_fault 0x0800223d Thumb Code 74 dcdc.o(.text.latch_fault) - [Anonymous Symbol] 0x0800223c Section 0 dcdc.o(.text.latch_fault) - [Anonymous Symbol] 0x08002288 Section 0 main.o(.text.main) - sense_mv_to_current_ma 0x080023f5 Thumb Code 30 dcdc.o(.text.sense_mv_to_current_ma) - [Anonymous Symbol] 0x080023f4 Section 0 dcdc.o(.text.sense_mv_to_current_ma) - sense_mv_to_voltage_mv 0x08002415 Thumb Code 34 dcdc.o(.text.sense_mv_to_voltage_mv) - [Anonymous Symbol] 0x08002414 Section 0 dcdc.o(.text.sense_mv_to_voltage_mv) - set_loads_off 0x08002439 Thumb Code 16 dcdc.o(.text.set_loads_off) - [Anonymous Symbol] 0x08002438 Section 0 dcdc.o(.text.set_loads_off) - set_usbpd_input_switch 0x08002449 Thumb Code 48 dcdc.o(.text.set_usbpd_input_switch) - [Anonymous Symbol] 0x08002448 Section 0 dcdc.o(.text.set_usbpd_input_switch) - wait_mask_clear 0x08002479 Thumb Code 74 board.o(.text.wait_mask_clear) - [Anonymous Symbol] 0x08002478 Section 0 board.o(.text.wait_mask_clear) - wait_mask_set 0x080024c5 Thumb Code 78 board.o(.text.wait_mask_set) - [Anonymous Symbol] 0x080024c4 Section 0 board.o(.text.wait_mask_set) - wait_mask_value 0x08002515 Thumb Code 80 board.o(.text.wait_mask_value) - [Anonymous Symbol] 0x08002514 Section 0 board.o(.text.wait_mask_value) - CL$$btod_d2e 0x08002564 Section 62 btod.o(CL$$btod_d2e) - CL$$btod_d2e_denorm_low 0x080025a2 Section 70 btod.o(CL$$btod_d2e_denorm_low) - CL$$btod_d2e_norm_op1 0x080025e8 Section 96 btod.o(CL$$btod_d2e_norm_op1) - CL$$btod_div_common 0x08002648 Section 824 btod.o(CL$$btod_div_common) - CL$$btod_e2e 0x08002980 Section 220 btod.o(CL$$btod_e2e) - CL$$btod_ediv 0x08002a5c Section 42 btod.o(CL$$btod_ediv) - CL$$btod_emul 0x08002a86 Section 42 btod.o(CL$$btod_emul) - CL$$btod_mult_common 0x08002ab0 Section 580 btod.o(CL$$btod_mult_common) - i.__ARM_fpclassify 0x08002cf4 Section 0 fpclassify.o(i.__ARM_fpclassify) - i._is_digit 0x08002d24 Section 0 __printf_wp.o(i._is_digit) - locale$$code 0x08002d34 Section 44 lc_numeric_c.o(locale$$code) - locale$$code 0x08002d60 Section 44 lc_ctype_c.o(locale$$code) - $v0 0x08002d8c Number 0 fpinit.o(x$fpl$fpinit) - x$fpl$fpinit 0x08002d8c Section 26 fpinit.o(x$fpl$fpinit) - $v0 0x08002da6 Number 0 printf1.o(x$fpl$printf1) - x$fpl$printf1 0x08002da6 Section 4 printf1.o(x$fpl$printf1) - $v0 0x08002daa Number 0 printf2.o(x$fpl$printf2) - x$fpl$printf2 0x08002daa Section 4 printf2.o(x$fpl$printf2) - x$fpl$usenofp 0x08002dae Section 0 usenofp.o(x$fpl$usenofp) - initial_mbstate 0x08002db0 Data 8 _printf_wctomb.o(.constdata) - .constdata 0x08002db0 Section 8 _printf_wctomb.o(.constdata) - uc_hextab 0x08002db8 Data 20 _printf_hex_int_ll_ptr.o(.constdata) - .constdata 0x08002db8 Section 40 _printf_hex_int_ll_ptr.o(.constdata) - lc_hextab 0x08002dcc Data 20 _printf_hex_int_ll_ptr.o(.constdata) - maptable 0x08002de0 Data 17 __printf_flags_ss_wp.o(.constdata) - .constdata 0x08002de0 Section 17 __printf_flags_ss_wp.o(.constdata) - lc_hextab 0x08002df1 Data 19 _printf_fp_hex.o(.constdata) - .constdata 0x08002df1 Section 38 _printf_fp_hex.o(.constdata) - uc_hextab 0x08002e04 Data 19 _printf_fp_hex.o(.constdata) - tenpwrs_x 0x08002e18 Data 60 bigflt0.o(.constdata) - .constdata 0x08002e18 Section 148 bigflt0.o(.constdata) - tenpwrs_i 0x08002e54 Data 64 bigflt0.o(.constdata) - .L.str.7 0x08002ebc Data 58 main.o(.rodata.str1.1) - [Anonymous Symbol] 0x08002ebc Section 0 main.o(.rodata.str1.1) - .L.str.1 0x08002ef6 Data 34 main.o(.rodata.str1.1) - .L.str.4 0x08002f18 Data 15 main.o(.rodata.str1.1) - .L.str.3 0x08002f27 Data 37 main.o(.rodata.str1.1) - .L.str 0x08002f4c Data 37 main.o(.rodata.str1.1) - .L.str.8 0x08002f71 Data 72 main.o(.rodata.str1.1) - .L.str.2 0x08002fb9 Data 25 main.o(.rodata.str1.1) - .L.str.6 0x08002fd2 Data 10 main.o(.rodata.str1.1) - .L.str.9 0x08002fdc Data 10 main.o(.rodata.str1.1) - .L.str.1 0x08002fe0 Data 6 main.o(.rodata.str1.1) - .L.str.5 0x08002fe0 Data 6 main.o(.rodata.str1.1) - .L.str 0x08002fe6 Data 8 dcdc.o(.rodata.str1.1) - [Anonymous Symbol] 0x08002fe6 Section 0 dcdc.o(.rodata.str1.1) - .L.str.6 0x08002fee Data 17 dcdc.o(.rodata.str1.1) - .L.str.7 0x08002fff Data 17 dcdc.o(.rodata.str1.1) - .L.str.5 0x08003010 Data 5 dcdc.o(.rodata.str1.1) - .L.str.2 0x08003015 Data 8 dcdc.o(.rodata.str1.1) - .L.str.4 0x0800301d Data 8 dcdc.o(.rodata.str1.1) - .L.str.3 0x08003025 Data 6 dcdc.o(.rodata.str1.1) - .L.str.8 0x0800302b Data 18 dcdc.o(.rodata.str1.1) - .L.str.9 0x0800303d Data 18 dcdc.o(.rodata.str1.1) - locale$$data 0x08003070 Section 28 lc_numeric_c.o(locale$$data) - __lcnum_c_name 0x08003074 Data 2 lc_numeric_c.o(locale$$data) - __lcnum_c_start 0x0800307c Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_point 0x08003088 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_thousands 0x0800308a Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_grouping 0x0800308b Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_end 0x0800308c Data 0 lc_numeric_c.o(locale$$data) - locale$$data 0x0800308c Section 272 lc_ctype_c.o(locale$$data) - __lcctype_c_name 0x08003090 Data 2 lc_ctype_c.o(locale$$data) - __lcctype_c_start 0x08003098 Data 0 lc_ctype_c.o(locale$$data) - __lcctype_c_end 0x0800319c Data 0 lc_ctype_c.o(locale$$data) - s_duty_ticks 0x20000004 Data 4 dcdc.o(.data.s_duty_ticks) - [Anonymous Symbol] 0x20000004 Section 0 dcdc.o(.data.s_duty_ticks) - s_period_ticks 0x20000008 Data 4 dcdc.o(.data.s_period_ticks) - [Anonymous Symbol] 0x20000008 Section 0 dcdc.o(.data.s_period_ticks) - .bss 0x20000010 Section 96 libspace.o(.bss) - s_fault 0x200000c4 Data 1 dcdc.o(.bss.s_fault) - [Anonymous Symbol] 0x200000c4 Section 0 dcdc.o(.bss.s_fault) - s_hrtim_ready 0x200000c5 Data 1 dcdc.o(.bss.s_hrtim_ready) - [Anonymous Symbol] 0x200000c5 Section 0 dcdc.o(.bss.s_hrtim_ready) - s_integrator_ticks 0x200000c8 Data 4 dcdc.o(.bss.s_integrator_ticks) - [Anonymous Symbol] 0x200000c8 Section 0 dcdc.o(.bss.s_integrator_ticks) - s_ms_ticks 0x200000cc Data 4 board.o(.bss.s_ms_ticks) - [Anonymous Symbol] 0x200000cc Section 0 board.o(.bss.s_ms_ticks) - s_state 0x200000d0 Data 1 dcdc.o(.bss.s_state) - [Anonymous Symbol] 0x200000d0 Section 0 dcdc.o(.bss.s_state) - Heap_Mem 0x200000d8 Data 512 startup_stm32g474xx.o(HEAP) - HEAP 0x200000d8 Section 512 startup_stm32g474xx.o(HEAP) - Stack_Mem 0x200002d8 Data 1024 startup_stm32g474xx.o(STACK) - STACK 0x200002d8 Section 1024 startup_stm32g474xx.o(STACK) - __initial_sp 0x200006d8 Data 0 startup_stm32g474xx.o(STACK) + [Anonymous Symbol] 0x08001624 Section 0 dcdc.o(.text.DCDC_ApplyRuntimeConfig) + [Anonymous Symbol] 0x08001664 Section 0 dcdc.o(.text.DCDC_ControlStep) + [Anonymous Symbol] 0x080017fc Section 0 dcdc.o(.text.DCDC_FaultText) + [Anonymous Symbol] 0x08001868 Section 0 dcdc.o(.text.DCDC_GetDutyTicks) + [Anonymous Symbol] 0x08001874 Section 0 dcdc.o(.text.DCDC_GetFault) + [Anonymous Symbol] 0x08001880 Section 0 dcdc.o(.text.DCDC_GetMode) + [Anonymous Symbol] 0x080018b4 Section 0 dcdc.o(.text.DCDC_GetPeriodTicks) + [Anonymous Symbol] 0x080018c0 Section 0 dcdc.o(.text.DCDC_GetState) + [Anonymous Symbol] 0x080018cc Section 0 dcdc.o(.text.DCDC_Init) + [Anonymous Symbol] 0x0800191c Section 0 dcdc.o(.text.DCDC_IsHrtimReady) + [Anonymous Symbol] 0x0800192c Section 0 dcdc.o(.text.DCDC_ModeText) + [Anonymous Symbol] 0x08001984 Section 0 dcdc.o(.text.DCDC_ReadMeasurements) + [Anonymous Symbol] 0x080019f4 Section 0 dcdc.o(.text.DCDC_Service1ms) + [Anonymous Symbol] 0x08001a94 Section 0 dcdc.o(.text.DCDC_Start) + [Anonymous Symbol] 0x08001b10 Section 0 dcdc.o(.text.DCDC_StartPwmTest) + [Anonymous Symbol] 0x08001ba0 Section 0 dcdc.o(.text.DCDC_StateText) + [Anonymous Symbol] 0x08001c0c Section 0 dcdc.o(.text.DCDC_Stop) + Flash_SetLatency 0x08001c45 Thumb Code 102 board.o(.text.Flash_SetLatency) + [Anonymous Symbol] 0x08001c44 Section 0 board.o(.text.Flash_SetLatency) + [Anonymous Symbol] 0x08001cac Section 0 retarget.o(.text.Retarget_Init) + [Anonymous Symbol] 0x08001d10 Section 0 retarget.o(.text.Retarget_PutChar) + SysTick_Config 0x08001d41 Thumb Code 82 board.o(.text.SysTick_Config) + [Anonymous Symbol] 0x08001d40 Section 0 board.o(.text.SysTick_Config) + [Anonymous Symbol] 0x08001d94 Section 0 board.o(.text.SysTick_Handler) + SystemClock_Config 0x08001da5 Thumb Code 274 board.o(.text.SystemClock_Config) + [Anonymous Symbol] 0x08001da4 Section 0 board.o(.text.SystemClock_Config) + [Anonymous Symbol] 0x08001eb8 Section 0 system_stm32g4xx.o(.text.SystemCoreClockUpdate) + [Anonymous Symbol] 0x08001f88 Section 0 system_stm32g4xx.o(.text.SystemInit) + __NVIC_SetPriority 0x08001fa9 Thumb Code 66 board.o(.text.__NVIC_SetPriority) + [Anonymous Symbol] 0x08001fa8 Section 0 board.o(.text.__NVIC_SetPriority) + [Anonymous Symbol] 0x08001fec Section 0 retarget.o(.text._sys_exit) + adc1_init 0x08001ff9 Thumb Code 166 dcdc.o(.text.adc1_init) + [Anonymous Symbol] 0x08001ff8 Section 0 dcdc.o(.text.adc1_init) + adc1_read_channel 0x080020a1 Thumb Code 74 dcdc.o(.text.adc1_read_channel) + [Anonymous Symbol] 0x080020a0 Section 0 dcdc.o(.text.adc1_read_channel) + adc_raw_to_mv 0x080020ed Thumb Code 32 dcdc.o(.text.adc_raw_to_mv) + [Anonymous Symbol] 0x080020ec Section 0 dcdc.o(.text.adc_raw_to_mv) + clamp_u32 0x0800210d Thumb Code 52 dcdc.o(.text.clamp_u32) + [Anonymous Symbol] 0x0800210c Section 0 dcdc.o(.text.clamp_u32) + [Anonymous Symbol] 0x08002140 Section 0 retarget.o(.text.fputc) + gpio_init_for_dcdc 0x08002169 Thumb Code 228 dcdc.o(.text.gpio_init_for_dcdc) + [Anonymous Symbol] 0x08002168 Section 0 dcdc.o(.text.gpio_init_for_dcdc) + gpio_pc10_pc11_to_usart3 0x0800224d Thumb Code 116 retarget.o(.text.gpio_pc10_pc11_to_usart3) + [Anonymous Symbol] 0x0800224c Section 0 retarget.o(.text.gpio_pc10_pc11_to_usart3) + hrtim1_apply_pwm_config 0x080022c1 Thumb Code 142 dcdc.o(.text.hrtim1_apply_pwm_config) + [Anonymous Symbol] 0x080022c0 Section 0 dcdc.o(.text.hrtim1_apply_pwm_config) + hrtim1_outputs_enable 0x08002351 Thumb Code 48 dcdc.o(.text.hrtim1_outputs_enable) + [Anonymous Symbol] 0x08002350 Section 0 dcdc.o(.text.hrtim1_outputs_enable) + hrtim1_set_duty 0x08002381 Thumb Code 76 dcdc.o(.text.hrtim1_set_duty) + [Anonymous Symbol] 0x08002380 Section 0 dcdc.o(.text.hrtim1_set_duty) + hrtim1_timer_c_init 0x080023cd Thumb Code 290 dcdc.o(.text.hrtim1_timer_c_init) + [Anonymous Symbol] 0x080023cc Section 0 dcdc.o(.text.hrtim1_timer_c_init) + hrtim1_wait_dll_ready 0x080024f1 Thumb Code 76 dcdc.o(.text.hrtim1_wait_dll_ready) + [Anonymous Symbol] 0x080024f0 Section 0 dcdc.o(.text.hrtim1_wait_dll_ready) + hrtim_max_duty_ticks 0x0800253d Thumb Code 92 dcdc.o(.text.hrtim_max_duty_ticks) + [Anonymous Symbol] 0x0800253c Section 0 dcdc.o(.text.hrtim_max_duty_ticks) + hrtim_period_from_frequency 0x08002599 Thumb Code 140 dcdc.o(.text.hrtim_period_from_frequency) + [Anonymous Symbol] 0x08002598 Section 0 dcdc.o(.text.hrtim_period_from_frequency) + latch_fault 0x08002625 Thumb Code 74 dcdc.o(.text.latch_fault) + [Anonymous Symbol] 0x08002624 Section 0 dcdc.o(.text.latch_fault) + [Anonymous Symbol] 0x08002670 Section 0 main.o(.text.main) + permille_to_ticks 0x0800282d Thumb Code 52 dcdc.o(.text.permille_to_ticks) + [Anonymous Symbol] 0x0800282c Section 0 dcdc.o(.text.permille_to_ticks) + sense_mv_to_current_ma 0x08002861 Thumb Code 30 dcdc.o(.text.sense_mv_to_current_ma) + [Anonymous Symbol] 0x08002860 Section 0 dcdc.o(.text.sense_mv_to_current_ma) + sense_mv_to_voltage_mv 0x08002881 Thumb Code 34 dcdc.o(.text.sense_mv_to_voltage_mv) + [Anonymous Symbol] 0x08002880 Section 0 dcdc.o(.text.sense_mv_to_voltage_mv) + set_loads_off 0x080028a5 Thumb Code 16 dcdc.o(.text.set_loads_off) + [Anonymous Symbol] 0x080028a4 Section 0 dcdc.o(.text.set_loads_off) + set_usbpd_input_switch 0x080028b5 Thumb Code 48 dcdc.o(.text.set_usbpd_input_switch) + [Anonymous Symbol] 0x080028b4 Section 0 dcdc.o(.text.set_usbpd_input_switch) + wait_mask_clear 0x080028e5 Thumb Code 74 board.o(.text.wait_mask_clear) + [Anonymous Symbol] 0x080028e4 Section 0 board.o(.text.wait_mask_clear) + wait_mask_set 0x08002931 Thumb Code 78 board.o(.text.wait_mask_set) + [Anonymous Symbol] 0x08002930 Section 0 board.o(.text.wait_mask_set) + wait_mask_value 0x08002981 Thumb Code 80 board.o(.text.wait_mask_value) + [Anonymous Symbol] 0x08002980 Section 0 board.o(.text.wait_mask_value) + CL$$btod_d2e 0x080029d0 Section 62 btod.o(CL$$btod_d2e) + CL$$btod_d2e_denorm_low 0x08002a0e Section 70 btod.o(CL$$btod_d2e_denorm_low) + CL$$btod_d2e_norm_op1 0x08002a54 Section 96 btod.o(CL$$btod_d2e_norm_op1) + CL$$btod_div_common 0x08002ab4 Section 824 btod.o(CL$$btod_div_common) + CL$$btod_e2e 0x08002dec Section 220 btod.o(CL$$btod_e2e) + CL$$btod_ediv 0x08002ec8 Section 42 btod.o(CL$$btod_ediv) + CL$$btod_emul 0x08002ef2 Section 42 btod.o(CL$$btod_emul) + CL$$btod_mult_common 0x08002f1c Section 580 btod.o(CL$$btod_mult_common) + i.__ARM_fpclassify 0x08003160 Section 0 fpclassify.o(i.__ARM_fpclassify) + i._is_digit 0x08003190 Section 0 __printf_wp.o(i._is_digit) + locale$$code 0x080031a0 Section 44 lc_numeric_c.o(locale$$code) + locale$$code 0x080031cc Section 44 lc_ctype_c.o(locale$$code) + $v0 0x080031f8 Number 0 fpinit.o(x$fpl$fpinit) + x$fpl$fpinit 0x080031f8 Section 26 fpinit.o(x$fpl$fpinit) + $v0 0x08003212 Number 0 printf1.o(x$fpl$printf1) + x$fpl$printf1 0x08003212 Section 4 printf1.o(x$fpl$printf1) + $v0 0x08003216 Number 0 printf2.o(x$fpl$printf2) + x$fpl$printf2 0x08003216 Section 4 printf2.o(x$fpl$printf2) + x$fpl$usenofp 0x0800321a Section 0 usenofp.o(x$fpl$usenofp) + initial_mbstate 0x0800321c Data 8 _printf_wctomb.o(.constdata) + .constdata 0x0800321c Section 8 _printf_wctomb.o(.constdata) + uc_hextab 0x08003224 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + .constdata 0x08003224 Section 40 _printf_hex_int_ll_ptr.o(.constdata) + lc_hextab 0x08003238 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + maptable 0x0800324c Data 17 __printf_flags_ss_wp.o(.constdata) + .constdata 0x0800324c Section 17 __printf_flags_ss_wp.o(.constdata) + lc_hextab 0x0800325d Data 19 _printf_fp_hex.o(.constdata) + .constdata 0x0800325d Section 38 _printf_fp_hex.o(.constdata) + uc_hextab 0x08003270 Data 19 _printf_fp_hex.o(.constdata) + tenpwrs_x 0x08003284 Data 60 bigflt0.o(.constdata) + .constdata 0x08003284 Section 148 bigflt0.o(.constdata) + tenpwrs_i 0x080032c0 Data 64 bigflt0.o(.constdata) + .L.str.7 0x08003328 Data 53 main.o(.rodata.str1.1) + [Anonymous Symbol] 0x08003328 Section 0 main.o(.rodata.str1.1) + .L.str.9 0x0800335d Data 68 main.o(.rodata.str1.1) + .L.str.1 0x080033a1 Data 34 main.o(.rodata.str1.1) + .L.str.4 0x080033c3 Data 15 main.o(.rodata.str1.1) + .L.str.3 0x080033d2 Data 37 main.o(.rodata.str1.1) + .L.str.8 0x080033f7 Data 76 main.o(.rodata.str1.1) + .L.str 0x08003443 Data 37 main.o(.rodata.str1.1) + .L.str.10 0x08003468 Data 91 main.o(.rodata.str1.1) + .L.str.2 0x080034c3 Data 25 main.o(.rodata.str1.1) + .L.str.6 0x080034dc Data 10 main.o(.rodata.str1.1) + .L.str.11 0x080034e6 Data 10 main.o(.rodata.str1.1) + .L.str.1 0x080034ea Data 6 main.o(.rodata.str1.1) + .L.str.5 0x080034ea Data 6 main.o(.rodata.str1.1) + .L.str 0x080034f0 Data 8 dcdc.o(.rodata.str1.1) + [Anonymous Symbol] 0x080034f0 Section 0 dcdc.o(.rodata.str1.1) + .L.str.9 0x080034f8 Data 17 dcdc.o(.rodata.str1.1) + .L.str.10 0x08003509 Data 17 dcdc.o(.rodata.str1.1) + .L.str.8 0x0800351a Data 5 dcdc.o(.rodata.str1.1) + .L.str.3 0x0800351f Data 8 dcdc.o(.rodata.str1.1) + .L.str.5 0x08003527 Data 8 dcdc.o(.rodata.str1.1) + .L.str.7 0x0800352f Data 12 dcdc.o(.rodata.str1.1) + .L.str.6 0x0800353b Data 8 dcdc.o(.rodata.str1.1) + .L.str.4 0x08003543 Data 6 dcdc.o(.rodata.str1.1) + .L.str.11 0x08003549 Data 18 dcdc.o(.rodata.str1.1) + .L.str.2 0x0800355b Data 9 dcdc.o(.rodata.str1.1) + .L.str.12 0x08003564 Data 18 dcdc.o(.rodata.str1.1) + locale$$data 0x08003598 Section 28 lc_numeric_c.o(locale$$data) + __lcnum_c_name 0x0800359c Data 2 lc_numeric_c.o(locale$$data) + __lcnum_c_start 0x080035a4 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_point 0x080035b0 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_thousands 0x080035b2 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_grouping 0x080035b3 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_end 0x080035b4 Data 0 lc_numeric_c.o(locale$$data) + locale$$data 0x080035b4 Section 272 lc_ctype_c.o(locale$$data) + __lcctype_c_name 0x080035b8 Data 2 lc_ctype_c.o(locale$$data) + __lcctype_c_start 0x080035c0 Data 0 lc_ctype_c.o(locale$$data) + __lcctype_c_end 0x080036c4 Data 0 lc_ctype_c.o(locale$$data) + s_duty_ticks 0x20000044 Data 4 dcdc.o(.data.s_duty_ticks) + [Anonymous Symbol] 0x20000044 Section 0 dcdc.o(.data.s_duty_ticks) + s_period_ticks 0x20000048 Data 4 dcdc.o(.data.s_period_ticks) + [Anonymous Symbol] 0x20000048 Section 0 dcdc.o(.data.s_period_ticks) + .bss 0x20000050 Section 96 libspace.o(.bss) + s_fault 0x20000104 Data 1 dcdc.o(.bss.s_fault) + [Anonymous Symbol] 0x20000104 Section 0 dcdc.o(.bss.s_fault) + s_hrtim_ready 0x20000105 Data 1 dcdc.o(.bss.s_hrtim_ready) + [Anonymous Symbol] 0x20000105 Section 0 dcdc.o(.bss.s_hrtim_ready) + s_integrator_ticks 0x20000108 Data 4 dcdc.o(.bss.s_integrator_ticks) + [Anonymous Symbol] 0x20000108 Section 0 dcdc.o(.bss.s_integrator_ticks) + s_ms_ticks 0x2000010c Data 4 board.o(.bss.s_ms_ticks) + [Anonymous Symbol] 0x2000010c Section 0 board.o(.bss.s_ms_ticks) + s_state 0x20000110 Data 1 dcdc.o(.bss.s_state) + [Anonymous Symbol] 0x20000110 Section 0 dcdc.o(.bss.s_state) + Heap_Mem 0x20000118 Data 512 startup_stm32g474xx.o(HEAP) + HEAP 0x20000118 Section 512 startup_stm32g474xx.o(HEAP) + Stack_Mem 0x20000318 Data 1024 startup_stm32g474xx.o(STACK) + STACK 0x20000318 Section 1024 startup_stm32g474xx.o(STACK) + __initial_sp 0x20000718 Data 0 startup_stm32g474xx.o(STACK) Global Symbols @@ -1268,50 +1345,58 @@ Image Symbol Table Board_FatalError 0x080015a5 Thumb Code 8 board.o(.text.Board_FatalError) Board_Init 0x080015ad Thumb Code 46 board.o(.text.Board_Init) Board_Millis 0x080015dd Thumb Code 12 board.o(.text.Board_Millis) - DCDC_ControlStep 0x08001625 Thumb Code 366 dcdc.o(.text.DCDC_ControlStep) - DCDC_FaultText 0x08001795 Thumb Code 108 dcdc.o(.text.DCDC_FaultText) - DCDC_GetDutyTicks 0x08001801 Thumb Code 12 dcdc.o(.text.DCDC_GetDutyTicks) - DCDC_GetFault 0x0800180d Thumb Code 12 dcdc.o(.text.DCDC_GetFault) - DCDC_GetPeriodTicks 0x08001819 Thumb Code 12 dcdc.o(.text.DCDC_GetPeriodTicks) - DCDC_GetState 0x08001825 Thumb Code 12 dcdc.o(.text.DCDC_GetState) - DCDC_Init 0x08001831 Thumb Code 78 dcdc.o(.text.DCDC_Init) - DCDC_IsHrtimReady 0x08001881 Thumb Code 16 dcdc.o(.text.DCDC_IsHrtimReady) - DCDC_ReadMeasurements 0x08001891 Thumb Code 112 dcdc.o(.text.DCDC_ReadMeasurements) - DCDC_StateText 0x08001901 Thumb Code 94 dcdc.o(.text.DCDC_StateText) - Retarget_Init 0x080019c9 Thumb Code 98 retarget.o(.text.Retarget_Init) - Retarget_PutChar 0x08001a2d Thumb Code 48 retarget.o(.text.Retarget_PutChar) - SysTick_Handler 0x08001ab1 Thumb Code 16 board.o(.text.SysTick_Handler) - SystemCoreClockUpdate 0x08001bd5 Thumb Code 206 system_stm32g4xx.o(.text.SystemCoreClockUpdate) - SystemInit 0x08001ca5 Thumb Code 32 system_stm32g4xx.o(.text.SystemInit) - _sys_exit 0x08001d09 Thumb Code 10 retarget.o(.text._sys_exit) - fputc 0x08001e29 Thumb Code 38 retarget.o(.text.fputc) - main 0x08002289 Thumb Code 362 main.o(.text.main) - _btod_d2e 0x08002565 Thumb Code 62 btod.o(CL$$btod_d2e) - _d2e_denorm_low 0x080025a3 Thumb Code 70 btod.o(CL$$btod_d2e_denorm_low) - _d2e_norm_op1 0x080025e9 Thumb Code 96 btod.o(CL$$btod_d2e_norm_op1) - __btod_div_common 0x08002649 Thumb Code 696 btod.o(CL$$btod_div_common) - _e2e 0x08002981 Thumb Code 220 btod.o(CL$$btod_e2e) - _btod_ediv 0x08002a5d Thumb Code 42 btod.o(CL$$btod_ediv) - _btod_emul 0x08002a87 Thumb Code 42 btod.o(CL$$btod_emul) - __btod_mult_common 0x08002ab1 Thumb Code 580 btod.o(CL$$btod_mult_common) - __ARM_fpclassify 0x08002cf5 Thumb Code 48 fpclassify.o(i.__ARM_fpclassify) - _is_digit 0x08002d25 Thumb Code 14 __printf_wp.o(i._is_digit) - _get_lc_numeric 0x08002d35 Thumb Code 44 lc_numeric_c.o(locale$$code) - _get_lc_ctype 0x08002d61 Thumb Code 44 lc_ctype_c.o(locale$$code) - _fp_init 0x08002d8d Thumb Code 26 fpinit.o(x$fpl$fpinit) - __fplib_config_fpu_vfp 0x08002da5 Thumb Code 0 fpinit.o(x$fpl$fpinit) - __fplib_config_pureend_doubles 0x08002da5 Thumb Code 0 fpinit.o(x$fpl$fpinit) - _printf_fp_dec 0x08002da7 Thumb Code 4 printf1.o(x$fpl$printf1) - _printf_fp_hex 0x08002dab Thumb Code 4 printf2.o(x$fpl$printf2) - __I$use$fp 0x08002dae Number 0 usenofp.o(x$fpl$usenofp) - AHBPrescTable 0x08002eac Data 16 system_stm32g4xx.o(.rodata.AHBPrescTable) - Region$$Table$$Base 0x08003050 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08003070 Number 0 anon$$obj.o(Region$$Table) - __ctype 0x08003099 Data 0 lc_ctype_c.o(locale$$data) + DCDC_ApplyRuntimeConfig 0x08001625 Thumb Code 62 dcdc.o(.text.DCDC_ApplyRuntimeConfig) + DCDC_ControlStep 0x08001665 Thumb Code 406 dcdc.o(.text.DCDC_ControlStep) + DCDC_FaultText 0x080017fd Thumb Code 108 dcdc.o(.text.DCDC_FaultText) + DCDC_GetDutyTicks 0x08001869 Thumb Code 12 dcdc.o(.text.DCDC_GetDutyTicks) + DCDC_GetFault 0x08001875 Thumb Code 12 dcdc.o(.text.DCDC_GetFault) + DCDC_GetMode 0x08001881 Thumb Code 52 dcdc.o(.text.DCDC_GetMode) + DCDC_GetPeriodTicks 0x080018b5 Thumb Code 12 dcdc.o(.text.DCDC_GetPeriodTicks) + DCDC_GetState 0x080018c1 Thumb Code 12 dcdc.o(.text.DCDC_GetState) + DCDC_Init 0x080018cd Thumb Code 78 dcdc.o(.text.DCDC_Init) + DCDC_IsHrtimReady 0x0800191d Thumb Code 16 dcdc.o(.text.DCDC_IsHrtimReady) + DCDC_ModeText 0x0800192d Thumb Code 88 dcdc.o(.text.DCDC_ModeText) + DCDC_ReadMeasurements 0x08001985 Thumb Code 112 dcdc.o(.text.DCDC_ReadMeasurements) + DCDC_Service1ms 0x080019f5 Thumb Code 160 dcdc.o(.text.DCDC_Service1ms) + DCDC_Start 0x08001a95 Thumb Code 124 dcdc.o(.text.DCDC_Start) + DCDC_StartPwmTest 0x08001b11 Thumb Code 142 dcdc.o(.text.DCDC_StartPwmTest) + DCDC_StateText 0x08001ba1 Thumb Code 108 dcdc.o(.text.DCDC_StateText) + DCDC_Stop 0x08001c0d Thumb Code 56 dcdc.o(.text.DCDC_Stop) + Retarget_Init 0x08001cad Thumb Code 98 retarget.o(.text.Retarget_Init) + Retarget_PutChar 0x08001d11 Thumb Code 48 retarget.o(.text.Retarget_PutChar) + SysTick_Handler 0x08001d95 Thumb Code 16 board.o(.text.SysTick_Handler) + SystemCoreClockUpdate 0x08001eb9 Thumb Code 206 system_stm32g4xx.o(.text.SystemCoreClockUpdate) + SystemInit 0x08001f89 Thumb Code 32 system_stm32g4xx.o(.text.SystemInit) + _sys_exit 0x08001fed Thumb Code 10 retarget.o(.text._sys_exit) + fputc 0x08002141 Thumb Code 38 retarget.o(.text.fputc) + main 0x08002671 Thumb Code 444 main.o(.text.main) + _btod_d2e 0x080029d1 Thumb Code 62 btod.o(CL$$btod_d2e) + _d2e_denorm_low 0x08002a0f Thumb Code 70 btod.o(CL$$btod_d2e_denorm_low) + _d2e_norm_op1 0x08002a55 Thumb Code 96 btod.o(CL$$btod_d2e_norm_op1) + __btod_div_common 0x08002ab5 Thumb Code 696 btod.o(CL$$btod_div_common) + _e2e 0x08002ded Thumb Code 220 btod.o(CL$$btod_e2e) + _btod_ediv 0x08002ec9 Thumb Code 42 btod.o(CL$$btod_ediv) + _btod_emul 0x08002ef3 Thumb Code 42 btod.o(CL$$btod_emul) + __btod_mult_common 0x08002f1d Thumb Code 580 btod.o(CL$$btod_mult_common) + __ARM_fpclassify 0x08003161 Thumb Code 48 fpclassify.o(i.__ARM_fpclassify) + _is_digit 0x08003191 Thumb Code 14 __printf_wp.o(i._is_digit) + _get_lc_numeric 0x080031a1 Thumb Code 44 lc_numeric_c.o(locale$$code) + _get_lc_ctype 0x080031cd Thumb Code 44 lc_ctype_c.o(locale$$code) + _fp_init 0x080031f9 Thumb Code 26 fpinit.o(x$fpl$fpinit) + __fplib_config_fpu_vfp 0x08003211 Thumb Code 0 fpinit.o(x$fpl$fpinit) + __fplib_config_pureend_doubles 0x08003211 Thumb Code 0 fpinit.o(x$fpl$fpinit) + _printf_fp_dec 0x08003213 Thumb Code 4 printf1.o(x$fpl$printf1) + _printf_fp_hex 0x08003217 Thumb Code 4 printf2.o(x$fpl$printf2) + __I$use$fp 0x0800321a Number 0 usenofp.o(x$fpl$usenofp) + AHBPrescTable 0x08003318 Data 16 system_stm32g4xx.o(.rodata.AHBPrescTable) + Region$$Table$$Base 0x08003578 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08003598 Number 0 anon$$obj.o(Region$$Table) + __ctype 0x080035c1 Data 0 lc_ctype_c.o(locale$$data) SystemCoreClock 0x20000000 Data 4 system_stm32g4xx.o(.data.SystemCoreClock) - __libspace_start 0x20000010 Data 96 libspace.o(.bss) - __stdout 0x20000070 Data 84 retarget.o(.bss.__stdout) - __temporary_stack_top$libspace 0x20000070 Data 0 libspace.o(.bss) + g_dcdc_config 0x20000004 Data 64 dcdc.o(.data.g_dcdc_config) + __libspace_start 0x20000050 Data 96 libspace.o(.bss) + __stdout 0x200000b0 Data 84 retarget.o(.bss.__stdout) + __temporary_stack_top$libspace 0x200000b0 Data 0 libspace.o(.bss) @@ -1321,127 +1406,127 @@ Memory Map of the image Image Entry point : 0x080001d9 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000031b0, Max: 0x00080000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00003718, Max: 0x00080000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000319c, Max: 0x00080000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000036c4, Max: 0x00080000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x000001d8 Data RO 3 RESET startup_stm32g474xx.o - 0x080001d8 0x080001d8 0x00000008 Code RO 169 * !!!main c_w.l(__main.o) - 0x080001e0 0x080001e0 0x0000005c Code RO 512 !!!scatter c_w.l(__scatter.o) - 0x0800023c 0x0800023c 0x0000001a Code RO 516 !!handler_copy c_w.l(__scatter_copy.o) + 0x080001d8 0x080001d8 0x00000008 Code RO 186 * !!!main c_w.l(__main.o) + 0x080001e0 0x080001e0 0x0000005c Code RO 529 !!!scatter c_w.l(__scatter.o) + 0x0800023c 0x0800023c 0x0000001a Code RO 533 !!handler_copy c_w.l(__scatter_copy.o) 0x08000256 0x08000256 0x00000002 PAD - 0x08000258 0x08000258 0x00000002 Code RO 513 !!handler_null c_w.l(__scatter.o) + 0x08000258 0x08000258 0x00000002 Code RO 530 !!handler_null c_w.l(__scatter.o) 0x0800025a 0x0800025a 0x00000002 PAD - 0x0800025c 0x0800025c 0x0000001c Code RO 518 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000278 0x08000278 0x00000000 Code RO 257 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) - 0x08000278 0x08000278 0x00000006 Code RO 246 .ARM.Collect$$_printf_percent$$00000001 c_w.l(_printf_n.o) - 0x0800027e 0x0800027e 0x00000006 Code RO 248 .ARM.Collect$$_printf_percent$$00000002 c_w.l(_printf_p.o) - 0x08000284 0x08000284 0x00000006 Code RO 253 .ARM.Collect$$_printf_percent$$00000003 c_w.l(_printf_f.o) - 0x0800028a 0x0800028a 0x00000006 Code RO 254 .ARM.Collect$$_printf_percent$$00000004 c_w.l(_printf_e.o) - 0x08000290 0x08000290 0x00000006 Code RO 255 .ARM.Collect$$_printf_percent$$00000005 c_w.l(_printf_g.o) - 0x08000296 0x08000296 0x00000006 Code RO 256 .ARM.Collect$$_printf_percent$$00000006 c_w.l(_printf_a.o) - 0x0800029c 0x0800029c 0x0000000a Code RO 261 .ARM.Collect$$_printf_percent$$00000007 c_w.l(_printf_ll.o) - 0x080002a6 0x080002a6 0x00000006 Code RO 250 .ARM.Collect$$_printf_percent$$00000008 c_w.l(_printf_i.o) - 0x080002ac 0x080002ac 0x00000006 Code RO 251 .ARM.Collect$$_printf_percent$$00000009 c_w.l(_printf_d.o) - 0x080002b2 0x080002b2 0x00000006 Code RO 252 .ARM.Collect$$_printf_percent$$0000000A c_w.l(_printf_u.o) - 0x080002b8 0x080002b8 0x00000006 Code RO 249 .ARM.Collect$$_printf_percent$$0000000B c_w.l(_printf_o.o) - 0x080002be 0x080002be 0x00000006 Code RO 247 .ARM.Collect$$_printf_percent$$0000000C c_w.l(_printf_x.o) - 0x080002c4 0x080002c4 0x00000006 Code RO 258 .ARM.Collect$$_printf_percent$$0000000D c_w.l(_printf_lli.o) - 0x080002ca 0x080002ca 0x00000006 Code RO 259 .ARM.Collect$$_printf_percent$$0000000E c_w.l(_printf_lld.o) - 0x080002d0 0x080002d0 0x00000006 Code RO 260 .ARM.Collect$$_printf_percent$$0000000F c_w.l(_printf_llu.o) - 0x080002d6 0x080002d6 0x00000006 Code RO 265 .ARM.Collect$$_printf_percent$$00000010 c_w.l(_printf_llo.o) - 0x080002dc 0x080002dc 0x00000006 Code RO 266 .ARM.Collect$$_printf_percent$$00000011 c_w.l(_printf_llx.o) - 0x080002e2 0x080002e2 0x0000000a Code RO 262 .ARM.Collect$$_printf_percent$$00000012 c_w.l(_printf_l.o) - 0x080002ec 0x080002ec 0x00000006 Code RO 244 .ARM.Collect$$_printf_percent$$00000013 c_w.l(_printf_c.o) - 0x080002f2 0x080002f2 0x00000006 Code RO 245 .ARM.Collect$$_printf_percent$$00000014 c_w.l(_printf_s.o) - 0x080002f8 0x080002f8 0x00000006 Code RO 263 .ARM.Collect$$_printf_percent$$00000015 c_w.l(_printf_lc.o) - 0x080002fe 0x080002fe 0x00000006 Code RO 264 .ARM.Collect$$_printf_percent$$00000016 c_w.l(_printf_ls.o) - 0x08000304 0x08000304 0x00000004 Code RO 309 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) - 0x08000308 0x08000308 0x00000002 Code RO 370 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x0800030a 0x0800030a 0x00000004 Code RO 394 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) - 0x0800030e 0x0800030e 0x00000000 Code RO 397 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x0800030e 0x0800030e 0x00000000 Code RO 399 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) - 0x0800030e 0x0800030e 0x00000000 Code RO 402 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x0800030e 0x0800030e 0x00000000 Code RO 404 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x0800030e 0x0800030e 0x00000000 Code RO 406 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) - 0x0800030e 0x0800030e 0x00000006 Code RO 407 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x08000314 0x08000314 0x00000000 Code RO 409 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000314 0x08000314 0x0000000c Code RO 410 .ARM.Collect$$libinit$$00000014 c_w.l(libinit2.o) - 0x08000320 0x08000320 0x00000000 Code RO 411 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000320 0x08000320 0x00000000 Code RO 413 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000320 0x08000320 0x0000000a Code RO 414 .ARM.Collect$$libinit$$00000018 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 415 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 417 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 419 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 421 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 423 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 425 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 427 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 429 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 433 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 435 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 437 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000000 Code RO 439 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) - 0x0800032a 0x0800032a 0x00000002 Code RO 440 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) - 0x0800032c 0x0800032c 0x00000002 Code RO 466 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x0800032e 0x0800032e 0x00000000 Code RO 494 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x0800032e 0x0800032e 0x00000000 Code RO 496 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x0800032e 0x0800032e 0x00000000 Code RO 499 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) - 0x0800032e 0x0800032e 0x00000000 Code RO 502 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) - 0x0800032e 0x0800032e 0x00000000 Code RO 504 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x0800032e 0x0800032e 0x00000000 Code RO 507 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) - 0x0800032e 0x0800032e 0x00000002 Code RO 508 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) - 0x08000330 0x08000330 0x00000000 Code RO 173 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000330 0x08000330 0x00000000 Code RO 276 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000330 0x08000330 0x00000006 Code RO 288 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x08000336 0x08000336 0x00000000 Code RO 278 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x08000336 0x08000336 0x00000004 Code RO 279 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x0800033a 0x0800033a 0x00000000 Code RO 281 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x0800033a 0x0800033a 0x00000008 Code RO 282 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x08000342 0x08000342 0x00000002 Code RO 379 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x08000344 0x08000344 0x00000000 Code RO 442 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x08000344 0x08000344 0x00000004 Code RO 443 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000348 0x08000348 0x00000006 Code RO 444 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x0800025c 0x0800025c 0x0000001c Code RO 535 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000278 0x08000278 0x00000000 Code RO 274 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o) + 0x08000278 0x08000278 0x00000006 Code RO 263 .ARM.Collect$$_printf_percent$$00000001 c_w.l(_printf_n.o) + 0x0800027e 0x0800027e 0x00000006 Code RO 265 .ARM.Collect$$_printf_percent$$00000002 c_w.l(_printf_p.o) + 0x08000284 0x08000284 0x00000006 Code RO 270 .ARM.Collect$$_printf_percent$$00000003 c_w.l(_printf_f.o) + 0x0800028a 0x0800028a 0x00000006 Code RO 271 .ARM.Collect$$_printf_percent$$00000004 c_w.l(_printf_e.o) + 0x08000290 0x08000290 0x00000006 Code RO 272 .ARM.Collect$$_printf_percent$$00000005 c_w.l(_printf_g.o) + 0x08000296 0x08000296 0x00000006 Code RO 273 .ARM.Collect$$_printf_percent$$00000006 c_w.l(_printf_a.o) + 0x0800029c 0x0800029c 0x0000000a Code RO 278 .ARM.Collect$$_printf_percent$$00000007 c_w.l(_printf_ll.o) + 0x080002a6 0x080002a6 0x00000006 Code RO 267 .ARM.Collect$$_printf_percent$$00000008 c_w.l(_printf_i.o) + 0x080002ac 0x080002ac 0x00000006 Code RO 268 .ARM.Collect$$_printf_percent$$00000009 c_w.l(_printf_d.o) + 0x080002b2 0x080002b2 0x00000006 Code RO 269 .ARM.Collect$$_printf_percent$$0000000A c_w.l(_printf_u.o) + 0x080002b8 0x080002b8 0x00000006 Code RO 266 .ARM.Collect$$_printf_percent$$0000000B c_w.l(_printf_o.o) + 0x080002be 0x080002be 0x00000006 Code RO 264 .ARM.Collect$$_printf_percent$$0000000C c_w.l(_printf_x.o) + 0x080002c4 0x080002c4 0x00000006 Code RO 275 .ARM.Collect$$_printf_percent$$0000000D c_w.l(_printf_lli.o) + 0x080002ca 0x080002ca 0x00000006 Code RO 276 .ARM.Collect$$_printf_percent$$0000000E c_w.l(_printf_lld.o) + 0x080002d0 0x080002d0 0x00000006 Code RO 277 .ARM.Collect$$_printf_percent$$0000000F c_w.l(_printf_llu.o) + 0x080002d6 0x080002d6 0x00000006 Code RO 282 .ARM.Collect$$_printf_percent$$00000010 c_w.l(_printf_llo.o) + 0x080002dc 0x080002dc 0x00000006 Code RO 283 .ARM.Collect$$_printf_percent$$00000011 c_w.l(_printf_llx.o) + 0x080002e2 0x080002e2 0x0000000a Code RO 279 .ARM.Collect$$_printf_percent$$00000012 c_w.l(_printf_l.o) + 0x080002ec 0x080002ec 0x00000006 Code RO 261 .ARM.Collect$$_printf_percent$$00000013 c_w.l(_printf_c.o) + 0x080002f2 0x080002f2 0x00000006 Code RO 262 .ARM.Collect$$_printf_percent$$00000014 c_w.l(_printf_s.o) + 0x080002f8 0x080002f8 0x00000006 Code RO 280 .ARM.Collect$$_printf_percent$$00000015 c_w.l(_printf_lc.o) + 0x080002fe 0x080002fe 0x00000006 Code RO 281 .ARM.Collect$$_printf_percent$$00000016 c_w.l(_printf_ls.o) + 0x08000304 0x08000304 0x00000004 Code RO 326 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o) + 0x08000308 0x08000308 0x00000002 Code RO 387 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x0800030a 0x0800030a 0x00000004 Code RO 411 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) + 0x0800030e 0x0800030e 0x00000000 Code RO 414 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x0800030e 0x0800030e 0x00000000 Code RO 416 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) + 0x0800030e 0x0800030e 0x00000000 Code RO 419 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x0800030e 0x0800030e 0x00000000 Code RO 421 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x0800030e 0x0800030e 0x00000000 Code RO 423 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) + 0x0800030e 0x0800030e 0x00000006 Code RO 424 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000314 0x08000314 0x00000000 Code RO 426 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000314 0x08000314 0x0000000c Code RO 427 .ARM.Collect$$libinit$$00000014 c_w.l(libinit2.o) + 0x08000320 0x08000320 0x00000000 Code RO 428 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000320 0x08000320 0x00000000 Code RO 430 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000320 0x08000320 0x0000000a Code RO 431 .ARM.Collect$$libinit$$00000018 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 432 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 434 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 436 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 438 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 440 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 442 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 444 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 446 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 450 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 452 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 454 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000000 Code RO 456 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) + 0x0800032a 0x0800032a 0x00000002 Code RO 457 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) + 0x0800032c 0x0800032c 0x00000002 Code RO 483 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x0800032e 0x0800032e 0x00000000 Code RO 511 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x0800032e 0x0800032e 0x00000000 Code RO 513 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x0800032e 0x0800032e 0x00000000 Code RO 516 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x0800032e 0x0800032e 0x00000000 Code RO 519 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x0800032e 0x0800032e 0x00000000 Code RO 521 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x0800032e 0x0800032e 0x00000000 Code RO 524 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x0800032e 0x0800032e 0x00000002 Code RO 525 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x08000330 0x08000330 0x00000000 Code RO 190 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000330 0x08000330 0x00000000 Code RO 293 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000330 0x08000330 0x00000006 Code RO 305 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x08000336 0x08000336 0x00000000 Code RO 295 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x08000336 0x08000336 0x00000004 Code RO 296 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x0800033a 0x0800033a 0x00000000 Code RO 298 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x0800033a 0x0800033a 0x00000008 Code RO 299 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x08000342 0x08000342 0x00000002 Code RO 396 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x08000344 0x08000344 0x00000000 Code RO 459 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x08000344 0x08000344 0x00000004 Code RO 460 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000348 0x08000348 0x00000006 Code RO 461 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x0800034e 0x0800034e 0x00000002 PAD 0x08000350 0x08000350 0x00000040 Code RO 4 .text startup_stm32g474xx.o - 0x08000390 0x08000390 0x00000002 Code RO 161 .text c_w.l(use_no_semi_2.o) - 0x08000392 0x08000392 0x000000f0 Code RO 163 .text c_w.l(lludivv7m.o) + 0x08000390 0x08000390 0x00000002 Code RO 178 .text c_w.l(use_no_semi_2.o) + 0x08000392 0x08000392 0x000000f0 Code RO 180 .text c_w.l(lludivv7m.o) 0x08000482 0x08000482 0x00000002 PAD - 0x08000484 0x08000484 0x00000018 Code RO 165 .text c_w.l(printf.o) - 0x0800049c 0x0800049c 0x00000006 Code RO 167 .text c_w.l(heapauxi.o) - 0x080004a2 0x080004a2 0x00000002 Code RO 171 .text c_w.l(use_no_semi.o) - 0x080004a4 0x080004a4 0x0000004e Code RO 180 .text c_w.l(_printf_pad.o) - 0x080004f2 0x080004f2 0x00000024 Code RO 182 .text c_w.l(_printf_truncate.o) - 0x08000516 0x08000516 0x00000052 Code RO 184 .text c_w.l(_printf_str.o) - 0x08000568 0x08000568 0x00000078 Code RO 186 .text c_w.l(_printf_dec.o) - 0x080005e0 0x080005e0 0x00000028 Code RO 188 .text c_w.l(_printf_charcount.o) - 0x08000608 0x08000608 0x00000024 Code RO 190 .text c_w.l(_printf_char_file.o) - 0x0800062c 0x0800062c 0x000000bc Code RO 192 .text c_w.l(_printf_wctomb.o) - 0x080006e8 0x080006e8 0x0000007c Code RO 195 .text c_w.l(_printf_longlong_dec.o) - 0x08000764 0x08000764 0x00000070 Code RO 201 .text c_w.l(_printf_oct_int_ll.o) - 0x080007d4 0x080007d4 0x00000094 Code RO 221 .text c_w.l(_printf_hex_int_ll_ptr.o) - 0x08000868 0x08000868 0x00000188 Code RO 241 .text c_w.l(__printf_flags_ss_wp.o) - 0x080009f0 0x080009f0 0x0000008a Code RO 292 .text c_w.l(lludiv10.o) - 0x08000a7a 0x08000a7a 0x000000b2 Code RO 294 .text c_w.l(_printf_intcommon.o) - 0x08000b2c 0x08000b2c 0x0000041c Code RO 296 .text c_w.l(_printf_fp_dec.o) - 0x08000f48 0x08000f48 0x000002fc Code RO 300 .text c_w.l(_printf_fp_hex.o) - 0x08001244 0x08001244 0x00000030 Code RO 303 .text c_w.l(_printf_char_common.o) - 0x08001274 0x08001274 0x0000002c Code RO 305 .text c_w.l(_printf_char.o) - 0x080012a0 0x080012a0 0x0000002c Code RO 307 .text c_w.l(_printf_wchar.o) - 0x080012cc 0x080012cc 0x00000008 Code RO 310 .text c_w.l(ferror.o) - 0x080012d4 0x080012d4 0x00000048 Code RO 314 .text c_w.l(_c16rtomb.o) - 0x0800131c 0x0800131c 0x0000004a Code RO 316 .text c_w.l(sys_stackheap_outer.o) + 0x08000484 0x08000484 0x00000018 Code RO 182 .text c_w.l(printf.o) + 0x0800049c 0x0800049c 0x00000006 Code RO 184 .text c_w.l(heapauxi.o) + 0x080004a2 0x080004a2 0x00000002 Code RO 188 .text c_w.l(use_no_semi.o) + 0x080004a4 0x080004a4 0x0000004e Code RO 197 .text c_w.l(_printf_pad.o) + 0x080004f2 0x080004f2 0x00000024 Code RO 199 .text c_w.l(_printf_truncate.o) + 0x08000516 0x08000516 0x00000052 Code RO 201 .text c_w.l(_printf_str.o) + 0x08000568 0x08000568 0x00000078 Code RO 203 .text c_w.l(_printf_dec.o) + 0x080005e0 0x080005e0 0x00000028 Code RO 205 .text c_w.l(_printf_charcount.o) + 0x08000608 0x08000608 0x00000024 Code RO 207 .text c_w.l(_printf_char_file.o) + 0x0800062c 0x0800062c 0x000000bc Code RO 209 .text c_w.l(_printf_wctomb.o) + 0x080006e8 0x080006e8 0x0000007c Code RO 212 .text c_w.l(_printf_longlong_dec.o) + 0x08000764 0x08000764 0x00000070 Code RO 218 .text c_w.l(_printf_oct_int_ll.o) + 0x080007d4 0x080007d4 0x00000094 Code RO 238 .text c_w.l(_printf_hex_int_ll_ptr.o) + 0x08000868 0x08000868 0x00000188 Code RO 258 .text c_w.l(__printf_flags_ss_wp.o) + 0x080009f0 0x080009f0 0x0000008a Code RO 309 .text c_w.l(lludiv10.o) + 0x08000a7a 0x08000a7a 0x000000b2 Code RO 311 .text c_w.l(_printf_intcommon.o) + 0x08000b2c 0x08000b2c 0x0000041c Code RO 313 .text c_w.l(_printf_fp_dec.o) + 0x08000f48 0x08000f48 0x000002fc Code RO 317 .text c_w.l(_printf_fp_hex.o) + 0x08001244 0x08001244 0x00000030 Code RO 320 .text c_w.l(_printf_char_common.o) + 0x08001274 0x08001274 0x0000002c Code RO 322 .text c_w.l(_printf_char.o) + 0x080012a0 0x080012a0 0x0000002c Code RO 324 .text c_w.l(_printf_wchar.o) + 0x080012cc 0x080012cc 0x00000008 Code RO 327 .text c_w.l(ferror.o) + 0x080012d4 0x080012d4 0x00000048 Code RO 331 .text c_w.l(_c16rtomb.o) + 0x0800131c 0x0800131c 0x0000004a Code RO 333 .text c_w.l(sys_stackheap_outer.o) 0x08001366 0x08001366 0x00000002 PAD - 0x08001368 0x08001368 0x00000010 Code RO 318 .text c_w.l(rt_ctype_table.o) - 0x08001378 0x08001378 0x00000008 Code RO 323 .text c_w.l(rt_locale_intlibspace.o) - 0x08001380 0x08001380 0x00000080 Code RO 325 .text c_w.l(_printf_fp_infnan.o) - 0x08001400 0x08001400 0x000000e4 Code RO 329 .text c_w.l(bigflt0.o) - 0x080014e4 0x080014e4 0x00000012 Code RO 359 .text c_w.l(exit.o) + 0x08001368 0x08001368 0x00000010 Code RO 335 .text c_w.l(rt_ctype_table.o) + 0x08001378 0x08001378 0x00000008 Code RO 340 .text c_w.l(rt_locale_intlibspace.o) + 0x08001380 0x08001380 0x00000080 Code RO 342 .text c_w.l(_printf_fp_infnan.o) + 0x08001400 0x08001400 0x000000e4 Code RO 346 .text c_w.l(bigflt0.o) + 0x080014e4 0x080014e4 0x00000012 Code RO 376 .text c_w.l(exit.o) 0x080014f6 0x080014f6 0x00000002 PAD - 0x080014f8 0x080014f8 0x00000008 Code RO 376 .text c_w.l(libspace.o) - 0x08001500 0x08001500 0x0000007c Code RO 392 .text c_w.l(strcmpv7em.o) + 0x080014f8 0x080014f8 0x00000008 Code RO 393 .text c_w.l(libspace.o) + 0x08001500 0x08001500 0x0000007c Code RO 409 .text c_w.l(strcmpv7em.o) 0x0800157c 0x0800157c 0x00000026 Code RO 31 .text.Board_DelayMs board.o 0x080015a2 0x080015a2 0x00000002 PAD 0x080015a4 0x080015a4 0x00000008 Code RO 27 .text.Board_FatalError board.o @@ -1450,121 +1535,131 @@ Memory Map of the image 0x080015dc 0x080015dc 0x0000000c Code RO 29 .text.Board_Millis board.o 0x080015e8 0x080015e8 0x0000003a Code RO 37 .text.Clock_UseHsi16 board.o 0x08001622 0x08001622 0x00000002 PAD - 0x08001624 0x08001624 0x0000016e Code RO 77 .text.DCDC_ControlStep dcdc.o - 0x08001792 0x08001792 0x00000002 PAD - 0x08001794 0x08001794 0x0000006c Code RO 103 .text.DCDC_FaultText dcdc.o - 0x08001800 0x08001800 0x0000000c Code RO 97 .text.DCDC_GetDutyTicks dcdc.o - 0x0800180c 0x0800180c 0x0000000c Code RO 93 .text.DCDC_GetFault dcdc.o - 0x08001818 0x08001818 0x0000000c Code RO 99 .text.DCDC_GetPeriodTicks dcdc.o - 0x08001824 0x08001824 0x0000000c Code RO 91 .text.DCDC_GetState dcdc.o - 0x08001830 0x08001830 0x0000004e Code RO 55 .text.DCDC_Init dcdc.o - 0x0800187e 0x0800187e 0x00000002 PAD - 0x08001880 0x08001880 0x00000010 Code RO 95 .text.DCDC_IsHrtimReady dcdc.o - 0x08001890 0x08001890 0x00000070 Code RO 79 .text.DCDC_ReadMeasurements dcdc.o - 0x08001900 0x08001900 0x0000005e Code RO 101 .text.DCDC_StateText dcdc.o - 0x0800195e 0x0800195e 0x00000002 PAD - 0x08001960 0x08001960 0x00000066 Code RO 41 .text.Flash_SetLatency board.o - 0x080019c6 0x080019c6 0x00000002 PAD - 0x080019c8 0x080019c8 0x00000062 Code RO 123 .text.Retarget_Init retarget.o - 0x08001a2a 0x08001a2a 0x00000002 PAD - 0x08001a2c 0x08001a2c 0x00000030 Code RO 127 .text.Retarget_PutChar retarget.o - 0x08001a5c 0x08001a5c 0x00000052 Code RO 25 .text.SysTick_Config board.o - 0x08001aae 0x08001aae 0x00000002 PAD - 0x08001ab0 0x08001ab0 0x00000010 Code RO 33 .text.SysTick_Handler board.o - 0x08001ac0 0x08001ac0 0x00000112 Code RO 23 .text.SystemClock_Config board.o - 0x08001bd2 0x08001bd2 0x00000002 PAD - 0x08001bd4 0x08001bd4 0x000000ce Code RO 148 .text.SystemCoreClockUpdate system_stm32g4xx.o - 0x08001ca2 0x08001ca2 0x00000002 PAD - 0x08001ca4 0x08001ca4 0x00000020 Code RO 146 .text.SystemInit system_stm32g4xx.o - 0x08001cc4 0x08001cc4 0x00000042 Code RO 35 .text.__NVIC_SetPriority board.o - 0x08001d06 0x08001d06 0x00000002 PAD - 0x08001d08 0x08001d08 0x0000000a Code RO 135 .text._sys_exit retarget.o - 0x08001d12 0x08001d12 0x00000002 PAD - 0x08001d14 0x08001d14 0x000000a6 Code RO 63 .text.adc1_init dcdc.o - 0x08001dba 0x08001dba 0x00000002 PAD - 0x08001dbc 0x08001dbc 0x0000004a Code RO 83 .text.adc1_read_channel dcdc.o - 0x08001e06 0x08001e06 0x00000002 PAD - 0x08001e08 0x08001e08 0x00000020 Code RO 85 .text.adc_raw_to_mv dcdc.o - 0x08001e28 0x08001e28 0x00000026 Code RO 129 .text.fputc retarget.o - 0x08001e4e 0x08001e4e 0x00000002 PAD - 0x08001e50 0x08001e50 0x000000e4 Code RO 57 .text.gpio_init_for_dcdc dcdc.o - 0x08001f34 0x08001f34 0x00000074 Code RO 125 .text.gpio_pc10_pc11_to_usart3 retarget.o - 0x08001fa8 0x08001fa8 0x00000030 Code RO 67 .text.hrtim1_outputs_enable dcdc.o - 0x08001fd8 0x08001fd8 0x0000004c Code RO 73 .text.hrtim1_set_duty dcdc.o - 0x08002024 0x08002024 0x0000010a Code RO 65 .text.hrtim1_timer_c_init dcdc.o - 0x0800212e 0x0800212e 0x00000002 PAD - 0x08002130 0x08002130 0x0000004c Code RO 107 .text.hrtim1_wait_dll_ready dcdc.o - 0x0800217c 0x0800217c 0x00000042 Code RO 81 .text.hrtim_max_duty_ticks dcdc.o - 0x080021be 0x080021be 0x00000002 PAD - 0x080021c0 0x080021c0 0x0000007a Code RO 105 .text.hrtim_period_from_clock dcdc.o - 0x0800223a 0x0800223a 0x00000002 PAD - 0x0800223c 0x0800223c 0x0000004a Code RO 71 .text.latch_fault dcdc.o - 0x08002286 0x08002286 0x00000002 PAD - 0x08002288 0x08002288 0x0000016a Code RO 11 .text.main main.o - 0x080023f2 0x080023f2 0x00000002 PAD - 0x080023f4 0x080023f4 0x0000001e Code RO 89 .text.sense_mv_to_current_ma dcdc.o - 0x08002412 0x08002412 0x00000002 PAD - 0x08002414 0x08002414 0x00000022 Code RO 87 .text.sense_mv_to_voltage_mv dcdc.o - 0x08002436 0x08002436 0x00000002 PAD - 0x08002438 0x08002438 0x00000010 Code RO 61 .text.set_loads_off dcdc.o - 0x08002448 0x08002448 0x00000030 Code RO 59 .text.set_usbpd_input_switch dcdc.o - 0x08002478 0x08002478 0x0000004a Code RO 39 .text.wait_mask_clear board.o - 0x080024c2 0x080024c2 0x00000002 PAD - 0x080024c4 0x080024c4 0x0000004e Code RO 43 .text.wait_mask_set board.o - 0x08002512 0x08002512 0x00000002 PAD - 0x08002514 0x08002514 0x00000050 Code RO 45 .text.wait_mask_value board.o - 0x08002564 0x08002564 0x0000003e Code RO 332 CL$$btod_d2e c_w.l(btod.o) - 0x080025a2 0x080025a2 0x00000046 Code RO 334 CL$$btod_d2e_denorm_low c_w.l(btod.o) - 0x080025e8 0x080025e8 0x00000060 Code RO 333 CL$$btod_d2e_norm_op1 c_w.l(btod.o) - 0x08002648 0x08002648 0x00000338 Code RO 342 CL$$btod_div_common c_w.l(btod.o) - 0x08002980 0x08002980 0x000000dc Code RO 339 CL$$btod_e2e c_w.l(btod.o) - 0x08002a5c 0x08002a5c 0x0000002a Code RO 336 CL$$btod_ediv c_w.l(btod.o) - 0x08002a86 0x08002a86 0x0000002a Code RO 335 CL$$btod_emul c_w.l(btod.o) - 0x08002ab0 0x08002ab0 0x00000244 Code RO 341 CL$$btod_mult_common c_w.l(btod.o) - 0x08002cf4 0x08002cf4 0x00000030 Code RO 374 i.__ARM_fpclassify m_wm.l(fpclassify.o) - 0x08002d24 0x08002d24 0x0000000e Code RO 234 i._is_digit c_w.l(__printf_wp.o) - 0x08002d32 0x08002d32 0x00000002 PAD - 0x08002d34 0x08002d34 0x0000002c Code RO 357 locale$$code c_w.l(lc_numeric_c.o) - 0x08002d60 0x08002d60 0x0000002c Code RO 386 locale$$code c_w.l(lc_ctype_c.o) - 0x08002d8c 0x08002d8c 0x0000001a Code RO 456 x$fpl$fpinit fz_wm.l(fpinit.o) - 0x08002da6 0x08002da6 0x00000004 Code RO 267 x$fpl$printf1 fz_wm.l(printf1.o) - 0x08002daa 0x08002daa 0x00000004 Code RO 269 x$fpl$printf2 fz_wm.l(printf2.o) - 0x08002dae 0x08002dae 0x00000000 Code RO 373 x$fpl$usenofp fz_wm.l(usenofp.o) - 0x08002dae 0x08002dae 0x00000002 PAD - 0x08002db0 0x08002db0 0x00000008 Data RO 193 .constdata c_w.l(_printf_wctomb.o) - 0x08002db8 0x08002db8 0x00000028 Data RO 222 .constdata c_w.l(_printf_hex_int_ll_ptr.o) - 0x08002de0 0x08002de0 0x00000011 Data RO 242 .constdata c_w.l(__printf_flags_ss_wp.o) - 0x08002df1 0x08002df1 0x00000026 Data RO 301 .constdata c_w.l(_printf_fp_hex.o) - 0x08002e17 0x08002e17 0x00000001 PAD - 0x08002e18 0x08002e18 0x00000094 Data RO 330 .constdata c_w.l(bigflt0.o) - 0x08002eac 0x08002eac 0x00000010 Data RO 151 .rodata.AHBPrescTable system_stm32g4xx.o - 0x08002ebc 0x08002ebc 0x0000012a Data RO 13 .rodata.str1.1 main.o - 0x08002fe6 0x08002fe6 0x00000069 Data RO 115 .rodata.str1.1 dcdc.o - 0x0800304f 0x0800304f 0x00000001 PAD - 0x08003050 0x08003050 0x00000020 Data RO 511 Region$$Table anon$$obj.o - 0x08003070 0x08003070 0x0000001c Data RO 356 locale$$data c_w.l(lc_numeric_c.o) - 0x0800308c 0x0800308c 0x00000110 Data RO 385 locale$$data c_w.l(lc_ctype_c.o) + 0x08001624 0x08001624 0x0000003e Code RO 87 .text.DCDC_ApplyRuntimeConfig dcdc.o + 0x08001662 0x08001662 0x00000002 PAD + 0x08001664 0x08001664 0x00000196 Code RO 89 .text.DCDC_ControlStep dcdc.o + 0x080017fa 0x080017fa 0x00000002 PAD + 0x080017fc 0x080017fc 0x0000006c Code RO 117 .text.DCDC_FaultText dcdc.o + 0x08001868 0x08001868 0x0000000c Code RO 109 .text.DCDC_GetDutyTicks dcdc.o + 0x08001874 0x08001874 0x0000000c Code RO 105 .text.DCDC_GetFault dcdc.o + 0x08001880 0x08001880 0x00000034 Code RO 85 .text.DCDC_GetMode dcdc.o + 0x080018b4 0x080018b4 0x0000000c Code RO 111 .text.DCDC_GetPeriodTicks dcdc.o + 0x080018c0 0x080018c0 0x0000000c Code RO 103 .text.DCDC_GetState dcdc.o + 0x080018cc 0x080018cc 0x0000004e Code RO 55 .text.DCDC_Init dcdc.o + 0x0800191a 0x0800191a 0x00000002 PAD + 0x0800191c 0x0800191c 0x00000010 Code RO 107 .text.DCDC_IsHrtimReady dcdc.o + 0x0800192c 0x0800192c 0x00000058 Code RO 115 .text.DCDC_ModeText dcdc.o + 0x08001984 0x08001984 0x00000070 Code RO 91 .text.DCDC_ReadMeasurements dcdc.o + 0x080019f4 0x080019f4 0x000000a0 Code RO 83 .text.DCDC_Service1ms dcdc.o + 0x08001a94 0x08001a94 0x0000007c Code RO 69 .text.DCDC_Start dcdc.o + 0x08001b10 0x08001b10 0x0000008e Code RO 77 .text.DCDC_StartPwmTest dcdc.o + 0x08001b9e 0x08001b9e 0x00000002 PAD + 0x08001ba0 0x08001ba0 0x0000006c Code RO 113 .text.DCDC_StateText dcdc.o + 0x08001c0c 0x08001c0c 0x00000038 Code RO 81 .text.DCDC_Stop dcdc.o + 0x08001c44 0x08001c44 0x00000066 Code RO 41 .text.Flash_SetLatency board.o + 0x08001caa 0x08001caa 0x00000002 PAD + 0x08001cac 0x08001cac 0x00000062 Code RO 140 .text.Retarget_Init retarget.o + 0x08001d0e 0x08001d0e 0x00000002 PAD + 0x08001d10 0x08001d10 0x00000030 Code RO 144 .text.Retarget_PutChar retarget.o + 0x08001d40 0x08001d40 0x00000052 Code RO 25 .text.SysTick_Config board.o + 0x08001d92 0x08001d92 0x00000002 PAD + 0x08001d94 0x08001d94 0x00000010 Code RO 33 .text.SysTick_Handler board.o + 0x08001da4 0x08001da4 0x00000112 Code RO 23 .text.SystemClock_Config board.o + 0x08001eb6 0x08001eb6 0x00000002 PAD + 0x08001eb8 0x08001eb8 0x000000ce Code RO 165 .text.SystemCoreClockUpdate system_stm32g4xx.o + 0x08001f86 0x08001f86 0x00000002 PAD + 0x08001f88 0x08001f88 0x00000020 Code RO 163 .text.SystemInit system_stm32g4xx.o + 0x08001fa8 0x08001fa8 0x00000042 Code RO 35 .text.__NVIC_SetPriority board.o + 0x08001fea 0x08001fea 0x00000002 PAD + 0x08001fec 0x08001fec 0x0000000a Code RO 152 .text._sys_exit retarget.o + 0x08001ff6 0x08001ff6 0x00000002 PAD + 0x08001ff8 0x08001ff8 0x000000a6 Code RO 63 .text.adc1_init dcdc.o + 0x0800209e 0x0800209e 0x00000002 PAD + 0x080020a0 0x080020a0 0x0000004a Code RO 95 .text.adc1_read_channel dcdc.o + 0x080020ea 0x080020ea 0x00000002 PAD + 0x080020ec 0x080020ec 0x00000020 Code RO 97 .text.adc_raw_to_mv dcdc.o + 0x0800210c 0x0800210c 0x00000034 Code RO 123 .text.clamp_u32 dcdc.o + 0x08002140 0x08002140 0x00000026 Code RO 146 .text.fputc retarget.o + 0x08002166 0x08002166 0x00000002 PAD + 0x08002168 0x08002168 0x000000e4 Code RO 57 .text.gpio_init_for_dcdc dcdc.o + 0x0800224c 0x0800224c 0x00000074 Code RO 142 .text.gpio_pc10_pc11_to_usart3 retarget.o + 0x080022c0 0x080022c0 0x0000008e Code RO 73 .text.hrtim1_apply_pwm_config dcdc.o + 0x0800234e 0x0800234e 0x00000002 PAD + 0x08002350 0x08002350 0x00000030 Code RO 67 .text.hrtim1_outputs_enable dcdc.o + 0x08002380 0x08002380 0x0000004c Code RO 75 .text.hrtim1_set_duty dcdc.o + 0x080023cc 0x080023cc 0x00000122 Code RO 65 .text.hrtim1_timer_c_init dcdc.o + 0x080024ee 0x080024ee 0x00000002 PAD + 0x080024f0 0x080024f0 0x0000004c Code RO 121 .text.hrtim1_wait_dll_ready dcdc.o + 0x0800253c 0x0800253c 0x0000005c Code RO 93 .text.hrtim_max_duty_ticks dcdc.o + 0x08002598 0x08002598 0x0000008c Code RO 119 .text.hrtim_period_from_frequency dcdc.o + 0x08002624 0x08002624 0x0000004a Code RO 71 .text.latch_fault dcdc.o + 0x0800266e 0x0800266e 0x00000002 PAD + 0x08002670 0x08002670 0x000001bc Code RO 11 .text.main main.o + 0x0800282c 0x0800282c 0x00000034 Code RO 79 .text.permille_to_ticks dcdc.o + 0x08002860 0x08002860 0x0000001e Code RO 101 .text.sense_mv_to_current_ma dcdc.o + 0x0800287e 0x0800287e 0x00000002 PAD + 0x08002880 0x08002880 0x00000022 Code RO 99 .text.sense_mv_to_voltage_mv dcdc.o + 0x080028a2 0x080028a2 0x00000002 PAD + 0x080028a4 0x080028a4 0x00000010 Code RO 61 .text.set_loads_off dcdc.o + 0x080028b4 0x080028b4 0x00000030 Code RO 59 .text.set_usbpd_input_switch dcdc.o + 0x080028e4 0x080028e4 0x0000004a Code RO 39 .text.wait_mask_clear board.o + 0x0800292e 0x0800292e 0x00000002 PAD + 0x08002930 0x08002930 0x0000004e Code RO 43 .text.wait_mask_set board.o + 0x0800297e 0x0800297e 0x00000002 PAD + 0x08002980 0x08002980 0x00000050 Code RO 45 .text.wait_mask_value board.o + 0x080029d0 0x080029d0 0x0000003e Code RO 349 CL$$btod_d2e c_w.l(btod.o) + 0x08002a0e 0x08002a0e 0x00000046 Code RO 351 CL$$btod_d2e_denorm_low c_w.l(btod.o) + 0x08002a54 0x08002a54 0x00000060 Code RO 350 CL$$btod_d2e_norm_op1 c_w.l(btod.o) + 0x08002ab4 0x08002ab4 0x00000338 Code RO 359 CL$$btod_div_common c_w.l(btod.o) + 0x08002dec 0x08002dec 0x000000dc Code RO 356 CL$$btod_e2e c_w.l(btod.o) + 0x08002ec8 0x08002ec8 0x0000002a Code RO 353 CL$$btod_ediv c_w.l(btod.o) + 0x08002ef2 0x08002ef2 0x0000002a Code RO 352 CL$$btod_emul c_w.l(btod.o) + 0x08002f1c 0x08002f1c 0x00000244 Code RO 358 CL$$btod_mult_common c_w.l(btod.o) + 0x08003160 0x08003160 0x00000030 Code RO 391 i.__ARM_fpclassify m_wm.l(fpclassify.o) + 0x08003190 0x08003190 0x0000000e Code RO 251 i._is_digit c_w.l(__printf_wp.o) + 0x0800319e 0x0800319e 0x00000002 PAD + 0x080031a0 0x080031a0 0x0000002c Code RO 374 locale$$code c_w.l(lc_numeric_c.o) + 0x080031cc 0x080031cc 0x0000002c Code RO 403 locale$$code c_w.l(lc_ctype_c.o) + 0x080031f8 0x080031f8 0x0000001a Code RO 473 x$fpl$fpinit fz_wm.l(fpinit.o) + 0x08003212 0x08003212 0x00000004 Code RO 284 x$fpl$printf1 fz_wm.l(printf1.o) + 0x08003216 0x08003216 0x00000004 Code RO 286 x$fpl$printf2 fz_wm.l(printf2.o) + 0x0800321a 0x0800321a 0x00000000 Code RO 390 x$fpl$usenofp fz_wm.l(usenofp.o) + 0x0800321a 0x0800321a 0x00000002 PAD + 0x0800321c 0x0800321c 0x00000008 Data RO 210 .constdata c_w.l(_printf_wctomb.o) + 0x08003224 0x08003224 0x00000028 Data RO 239 .constdata c_w.l(_printf_hex_int_ll_ptr.o) + 0x0800324c 0x0800324c 0x00000011 Data RO 259 .constdata c_w.l(__printf_flags_ss_wp.o) + 0x0800325d 0x0800325d 0x00000026 Data RO 318 .constdata c_w.l(_printf_fp_hex.o) + 0x08003283 0x08003283 0x00000001 PAD + 0x08003284 0x08003284 0x00000094 Data RO 347 .constdata c_w.l(bigflt0.o) + 0x08003318 0x08003318 0x00000010 Data RO 168 .rodata.AHBPrescTable system_stm32g4xx.o + 0x08003328 0x08003328 0x000001c8 Data RO 13 .rodata.str1.1 main.o + 0x080034f0 0x080034f0 0x00000086 Data RO 132 .rodata.str1.1 dcdc.o + 0x08003576 0x08003576 0x00000002 PAD + 0x08003578 0x08003578 0x00000020 Data RO 528 Region$$Table anon$$obj.o + 0x08003598 0x08003598 0x0000001c Data RO 373 locale$$data c_w.l(lc_numeric_c.o) + 0x080035b4 0x080035b4 0x00000110 Data RO 402 locale$$data c_w.l(lc_ctype_c.o) - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080031a0, Size: 0x000006d8, Max: 0x00020000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080036c8, Size: 0x00000718, Max: 0x00020000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x080031a0 0x00000004 Data RW 150 .data.SystemCoreClock system_stm32g4xx.o - 0x20000004 0x080031a4 0x00000004 Data RW 114 .data.s_duty_ticks dcdc.o - 0x20000008 0x080031a8 0x00000004 Data RW 113 .data.s_period_ticks dcdc.o - 0x2000000c 0x080031ac 0x00000004 PAD - 0x20000010 - 0x00000060 Zero RW 377 .bss c_w.l(libspace.o) - 0x20000070 - 0x00000054 Zero RW 137 .bss.__stdout retarget.o - 0x200000c4 - 0x00000001 Zero RW 111 .bss.s_fault dcdc.o - 0x200000c5 - 0x00000001 Zero RW 109 .bss.s_hrtim_ready dcdc.o - 0x200000c6 0x080031ac 0x00000002 PAD - 0x200000c8 - 0x00000004 Zero RW 112 .bss.s_integrator_ticks dcdc.o - 0x200000cc - 0x00000004 Zero RW 47 .bss.s_ms_ticks board.o - 0x200000d0 - 0x00000001 Zero RW 110 .bss.s_state dcdc.o - 0x200000d1 0x080031ac 0x00000007 PAD - 0x200000d8 - 0x00000200 Zero RW 2 HEAP startup_stm32g474xx.o - 0x200002d8 - 0x00000400 Zero RW 1 STACK startup_stm32g474xx.o + 0x20000000 0x080036c8 0x00000004 Data RW 167 .data.SystemCoreClock system_stm32g4xx.o + 0x20000004 0x080036cc 0x00000040 Data RW 125 .data.g_dcdc_config dcdc.o + 0x20000044 0x0800370c 0x00000004 Data RW 131 .data.s_duty_ticks dcdc.o + 0x20000048 0x08003710 0x00000004 Data RW 130 .data.s_period_ticks dcdc.o + 0x2000004c 0x08003714 0x00000004 PAD + 0x20000050 - 0x00000060 Zero RW 394 .bss c_w.l(libspace.o) + 0x200000b0 - 0x00000054 Zero RW 154 .bss.__stdout retarget.o + 0x20000104 - 0x00000001 Zero RW 128 .bss.s_fault dcdc.o + 0x20000105 - 0x00000001 Zero RW 126 .bss.s_hrtim_ready dcdc.o + 0x20000106 0x08003714 0x00000002 PAD + 0x20000108 - 0x00000004 Zero RW 129 .bss.s_integrator_ticks dcdc.o + 0x2000010c - 0x00000004 Zero RW 47 .bss.s_ms_ticks board.o + 0x20000110 - 0x00000001 Zero RW 127 .bss.s_state dcdc.o + 0x20000111 0x08003714 0x00000007 PAD + 0x20000118 - 0x00000200 Zero RW 2 HEAP startup_stm32g474xx.o + 0x20000318 - 0x00000400 Zero RW 1 STACK startup_stm32g474xx.o ============================================================================== @@ -1575,16 +1670,16 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name 934 0 0 0 4 8239 board.o - 2178 10 105 8 7 9738 dcdc.o - 362 0 298 0 0 1407 main.o + 3230 12 134 72 7 12266 dcdc.o + 444 0 456 0 0 1432 main.o 310 0 0 0 84 3260 retarget.o 64 26 472 0 1536 1048 startup_stm32g474xx.o 238 0 16 4 0 2925 system_stm32g4xx.o ---------------------------------------------------------------------- - 4136 36 924 12 1644 26617 Object Totals + 5268 38 1112 76 1644 29170 Object Totals 0 0 32 0 0 0 (incl. Generated) - 50 0 1 0 13 0 (incl. Padding) + 48 0 2 0 13 0 (incl. Padding) ---------------------------------------------------------------------- @@ -1692,15 +1787,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 11224 300 1476 12 1740 28777 Grand Totals - 11224 300 1476 12 1740 28777 ELF Image Totals - 11224 300 1476 12 0 0 ROM Totals + 12356 302 1664 76 1740 31330 Grand Totals + 12356 302 1664 76 1740 31330 ELF Image Totals + 12356 302 1664 76 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 12700 ( 12.40kB) - Total RW Size (RW Data + ZI Data) 1752 ( 1.71kB) - Total ROM Size (Code + RO Data + RW Data) 12712 ( 12.41kB) + Total RO Size (Code + RO Data) 14020 ( 13.69kB) + Total RW Size (RW Data + ZI Data) 1816 ( 1.77kB) + Total ROM Size (Code + RO Data + RW Data) 14096 ( 13.77kB) ============================================================================== diff --git a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.axf b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.axf index 1d3c864..8b8a680 100644 Binary files a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.axf and b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.axf differ diff --git a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.build_log.htm b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.build_log.htm index 1bcb8b1..3a0547e 100644 --- a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.build_log.htm +++ b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.build_log.htm @@ -26,15 +26,14 @@ Project File Date: 05/23/2026

Output:

*** Using Compiler 'V6.22', folder: 'C:\Keil_v5_41\ARM\ARMCLANG\Bin' -Rebuild target 'B-G474E-DPOW1_DCDC' -compiling retarget.c... -compiling main.c... +Build target 'B-G474E-DPOW1_DCDC' compiling system_stm32g4xx.c... -compiling dcdc.c... -assembling startup_stm32g474xx.s... +compiling main.c... +compiling retarget.c... compiling board.c... +compiling dcdc.c... linking... -Program Size: Code=11224 RO-data=1476 RW-data=12 ZI-data=1740 +Program Size: Code=12356 RO-data=1664 RW-data=76 ZI-data=1740 FromELF: creating hex file... "Objects\B-G474E-DPOW1_DCDC.axf" - 0 Error(s), 0 Warning(s). diff --git a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.hex b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.hex index 31b8a64..6e733fc 100644 --- a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.hex +++ b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.hex @@ -1,8 +1,8 @@ :020000040800F2 -:10000000D806002051030008590300085B030008CC +:100000001807002051030008590300085B0300088B :100010005D0300085F0300086103000800000000A2 :100020000000000000000000000000006303000862 -:10003000650300080000000067030008B11A00080B +:10003000650300080000000067030008951D000824 :100040006B0300086B0300086B0300086B030008D8 :100050006B0300086B0300086B0300086B030008C8 :100060006B0300086B0300086B0300086B030008B8 @@ -34,28 +34,28 @@ :1002000004EB0607AAEB0704A7F101074FEA15154F :100210004FEA3414A4F10104AC4201D300F088F891 :1002200013F0010F18BFFB1A43F0010300F001F8AF -:10023000DBE718471C2E00003C2E0000103A24BFBC +:10023000DBE718474433000064330000103A24BF62 :1002400078C878C1FAD8520724BF30C830C144BF3B :1002500004680C6070470000704700000023002411 :1002600000250026103A28BF78C1FBD8520728BFC6 :1002700030C148BF0B6070476E2900F0B181702912 -:1002800000F0E782662902F08E85652902F08B85F1 -:10029000672902F08885612902F0878503681B0AB7 +:1002800000F0E782662902F0C487652902F0C18781 +:10029000672902F0BE87612902F0BD8703681B0A47 :1002A00028BF41F08001692900F05E81642900F0D7 :1002B0005B81752900F058816F2900F075827829DB :1002C00000F0B382E92900F00F82E42900F00C82EB :1002D000F52900F00982EF2900F07282F82900F078 :1002E000B2820368DB0928BF41F08001632900F076 :1002F000CB87732900F0D087E32900F0DB87F3294F -:1003000000F0E087002070471FB502F03FFD01F0CC -:1003100033F804000020002102F022FD401C606040 -:100320000020002102F006FDE0601FBD10B510BDE9 -:1003300000F0F4FF1146FFF7E7FF01F0A5FF01F021 -:10034000D1F803B4FFF7F2FF03BC01F0DDFC0000BD +:1003000000F0E087002070471FB502F075FF01F094 +:1003100033F804000020002102F058FF401C606008 +:100320000020002102F03CFFE0601FBD10B510BDB1 +:1003300000F0F4FF1146FFF7E7FF02F099F901F032 +:10034000D1F803B4FFF7F2FF03BC01F04FFE000049 :100350000948804709480047FEE7FEE7FEE7FEE759 :10036000FEE7FEE7FEE7FEE7FEE7FEE70448054995 -:10037000054A064B70470000A51C0008D90100087B -:10038000D8000020D8060020D8020020D802002083 +:10037000054A064B70470000891F0008D901000894 +:10038000180100201807002018030020180300207F :10039000704753EA020C00F069802DE9F04B4FF0F2 :1003A0000006002B1FBFB3FA83F503FA05F424FA05 :1003B00005F65E4012BF1643B2FA82F502FA05F462 @@ -72,7 +72,7 @@ :100460000B46024641464846BDE8F08B13B50843AB :1004700018BF4FF0FF300146AFF30080BDE81C40CD :10048000704700000FB4044910B503AA029800F0A9 -:10049000BBF810BC5DF814FB70000020704770477B +:10049000BBF810BC5DF814FBB0000020704770473B :1004A0007047704770B5044685690068C10601D57C :1004B000302600E02026C00707D070BDD4E9012116 :1004C00030469047206A401C20626D1EF6D570BDF4 @@ -97,7 +97,7 @@ :1005F00001D5088006E0130603D5C217C1E9000241 :1006000000E0086001207047074B70B50D467B4441 :1006100000F01DFE0446284600F058FE10B14FF0D1 -:10062000FF3070BD204670BD171800002DE9FF5F38 +:10062000FF3070BD204670BD2F1B00002DE9FF5F1D :1006300015468A460446DFF8AC80F8440027D8E91E :1006400000103E46CDE9001010E03AF816106A4658 :1006500002A800F03FFE411C07D02178890603D58F @@ -109,7 +109,7 @@ :1006B00000250DF1080B05E0D4E901211BF8050028 :1006C00090476D1C4D45F7D308F10100B0428046BC :1006D000E4DB206A384420622046FFF7F9FEBDE8DB -:1006E000FF9F0000722700002DE9F0418046D21DD7 +:1006E000FF9F0000DE2B00002DE9F0418046D21D67 :1006F00022F007020025D2E90002F52915A614D040 :10070000011E72F1000106DA0023D0EB030063EB57 :10071000020211A608E0D8F800108B0701D50FA639 @@ -133,19 +133,19 @@ :1008300021461068FFF766FE024629462046BDE8BD :1008400070400023C6E7D21D22F00703D3E900233E :10085000C0E70368126843F0200303600823C36104 -:100860000023B7E7D42500002DE9F05F8946044650 +:100860000023B7E7402A00002DE9F05F89460446DF :100870004FF0000ADFF874B1FB44C0F820A0204616 :10088000E1688847002874D0252806D0D4E90121E2 :100890009047206A401C2062F1E700265F46204610 :1008A000E16888472028054607DB312D05D27819F5 :1008B00010F8200C08B10643F1E7B00701D526F087 :1008C0000406C4F81CA00027C4F818A02A2D09D0DB -:1008D000284602F027FA38B304EB8708303DC8F801 +:1008D000284602F05DFC38B304EB8708303DC8F8C9 :1008E000185019E059F8041B204604EB8702916167 :1008F000E1688847012F054618D1E069002820DA11 :1009000026F020061DE0D8F8180000EB800005EB6B :1009100040003038C8F818002046E168884705468E -:1009200002F000FA0028EED1012F0AD02E2D08D1B6 +:1009200002F036FC0028EED1012F0AD02E2D08D17E :100930002046E16888477F1C0546022F46F02006C6 :10094000C4DBA069002803DA404246F00106A0613A :10095000F00701D026F010066C2D0BD0682D09D0C1 @@ -157,7 +157,7 @@ :1009B0004A462946204626604E46FFF75DFC80B138 :1009C00001280BD0F61D26F0070000F1080956E7B4 :1009D0004020E4E78020D8E70020D6E706F10409AC -:1009E0004DE7284652E7206ABDE8F09F64250000E5 +:1009E0004DE7284652E7206ABDE8F09FD029000075 :1009F00030B5B0F10A0271F100034FEA900E4EEAF1 :100A0000817EB0EB0E0061EB91014FEA101E4EEAC1 :100A1000017E10EB0E0041EB11114FEA102E4EEA51 @@ -190,11 +190,11 @@ :100BC0000B99C1F80880C1E900200FB0BDE8F08F93 :100BD000BD1B6D1CDEE74A4600DA694206A800F03C :100BE0000FFC06AB93E8070003AB83E80700504611 -:100BF0000A9901F0B7FC8DE80700A0F500501F38F6 +:100BF0000A9901F0EDFE8DE80700A0F500501F38BE :100C000000900398002D0ADD42F21F014A46084475 -:100C1000002303A90390684601F020FF09E0A0F536 -:100C200000504A461F38002303A90390684601F08C -:100C30002AFF8DE807000004000C03D04FF0FF30BE +:100C1000002303A90390684602F056F909E0A0F505 +:100C200000504A461F38002303A90390684602F08B +:100C300060F98DE807000004000C03D04FF0FF308E :100C4000410800E01046B8F1000F03D000220092E6 :100C500015461EE0751E05D4FFF7CAFE30326255F8 :100C60006D1EF9D5B3460122084302D000227F1C35 @@ -206,7 +206,7 @@ :100CC000002004F80B000B98099AC0F80880C0E9CE :100CD000002B7AE711264FF0000857E72DE9F04F77 :100CE00088460446D21D22F0070191B0D1E90001E7 -:100CF000CDE90A0101F0FEFF02460B98C00F01D0BA +:100CF000CDE90A0102F034FA02460B98C00F01D088 :100D00002D2007E02068810701D52B2002E020215B :100D100001EAC000032A099001D0072A05DB034637 :100D20004146204600F02CFB0BE12078800601D5DF @@ -245,7 +245,7 @@ :100F3000401C2062381EA7F10107F3DC2046FFF7B2 :100F4000C7FA032011B041E62DE9F04F04460D46E3 :100F5000D21D22F0070089B0D0E9009748463946F3 -:100F600001F0C8FE0246F80F01D02D2307E02068EB +:100F600002F0FEF80246F80F01D02D2307E02068BA :100F7000810701D52B2302E0202101EAC0038DF86F :100F800020300BB1012000E00020032A824601D06E :100F9000072A04DB2946204600F0F2F93FE12078D9 @@ -290,7 +290,7 @@ :10120000010B3E280FD0D4E901219047206A401CF1 :101210002062B8F10108F2D22046FFF759F909B06F :101220000320BDE8F08F206A2844206203E0D4E95F -:101230000121302090476D1EEBD3F8E7B21D00006E +:101230000121302090476D1EEBD3F8E71E220000FD :1012400002FCFFFF01694A1C02610878704700B583 :101250008FB0CDE901310021059105497944CDE9EF :10126000031011466846FFF7FFFA0FB000BD0000FB @@ -310,7 +310,7 @@ :101340004FF000074FF000084FF0000BAC46ACE840 :10135000C009ACE8C009ACE8C009ACE8C00921F09C :1013600007018D467047000010B500F005F8001D1C -:1013700010BD00BFED19000000487047300000208C +:1013700010BD00BF591E00000048704770000020DB :101380002DE9F0411F46044603260168072A01F4AF :10139000006004DB08B116A505E016A503E008B15E :1013A00015A500E015A521F010002060A069C01E61 @@ -325,16 +325,16 @@ :10143000F1F5A5F1800501FB12041B3C02D56442C5 :10144000012000E00020DFF898A080460027FA4441 :10145000AAF1BE0A0EE0E0070AD03246684607EB62 -:10146000470101230AEB810101F00DFB8DE8070024 +:10146000470101230AEB810101F043FD8DE80700EC :1014700064107F1C002CEED1194F7F44AE3F19E061 :10148000E80715D007EB04100DF1180A90E80E00DC :101490008AE80E00C068F04201D1981908903246DF -:1014A000012306A903A801F0EEFA03AB83E80700C5 +:1014A000012306A903A801F024FD03AB83E807008C :1014B0006D10641C002DE3D14FF0010332466946E4 -:1014C000B8F1000F03A802D001F0C8FA01E001F062 -:1014D000DAFAC9E90001C9F808200AB0BDE8F087C6 -:1014E000841A000010B50446AFF300802046BDE822 -:1014F0001040FEF726BF0000004870471000002093 +:1014C000B8F1000F03A802D001F0FEFC01E001F02A +:1014D00010FDC9E90001C9F808200AB0BDE8F0878D +:1014E000F01E000010B50446AFF300802046BDE8B2 +:1014F0001040FEF726BF0000004870475000002053 :1015000030B44FF0013C50F8042B51F8043BCCFAB6 :1015100052F4D51A20D1FCB950F8042B51F8043BF1 :10152000CCFA52F4D51A17D1B4B950F8042B51F8AB @@ -346,453 +346,540 @@ :10158000019000F02BF80090FFE700F027F8009999 :10159000401A0199884202D2FFE700BFF5E702B086 :1015A00080BD000072B6FFE700BFFDE780B500F028 -:1015B00087FA40F20000C2F20000006844F6D351FE -:1015C000C1F26201A0FB0110800900F047FA18B1D6 -:1015D000FFE7FFF7E7FFFFE780BD000040F2CC0028 +:1015B000F9FB40F20000C2F20000006844F6D3518B +:1015C000C1F26201A0FB0110800900F0B9FB18B163 +:1015D000FFE7FFF7E7FFFFE780BD000040F20C10D8 :1015E000C2F200000068704780B541F20000C4F20A -:1015F0000200016841F4807101604FF4806100F0E5 -:1016000061FF002000F0ACF941F20800C4F20200D2 -:10161000012101600C21042200F07CFF00F0DAFAC5 -:1016200080BD000080B58AB005A800F031F940F215 -:10163000D000C2F200000078022801D0FFE7A6E047 -:10164000079841F29311884204D8FFE7012000F087 -:10165000F5FD9CE0099840F6D961884204D3FFE784 -:10166000022000F0EBFD92E00898B0F5E17F04D98C -:10167000FFE7032000F0E2FD89E040F20800C2F23B -:101680000000006840F6E4410191A0FB0101079AC7 -:101690000023FEF77EFE0146019803910999401A46 -:1016A0000490049800EB400048F21F51C5F2EB1182 -:1016B00050FB01F1481100EBD17240F2C800C2F2B8 -:1016C0000000016811440160006840F6B9318842A9 -:1016D00008DBFFE740F2C801C2F2000140F6B83073 -:1016E000086016E040F2C800C2F2000000684FF245 -:1016F0004741CFF6FF7188420ADCFFE740F2C8019C -:10170000C2F200014FF24840CFF6FF700860FFE7D9 -:10171000FFE7039804995A22514348F21F52C5F239 -:10172000EB1251FB02F2511101EBD271084440F26D -:10173000C801C2F200010968084402900898B0F597 -:10174000967F0AD9FFE70898A0F59670C0EB0011C4 -:101750000298A0EB81000290FFE70298B0F1FF3FF2 -:1017600003DCFFE7002002900DE00298009000F0FB -:1017700005FD01460098884204DDFFE700F0FEFC0D -:101780000290FFE7FFE7029800F026FCFFE70AB0AF -:1017900080BD000083B08DF807009DF8070001466A -:1017A0000091042823D80099DFE801F003090F1500 -:1017B0001B0043F21000C0F6000002901DE042F64C -:1017C000EE70C0F60000029017E042F6FF70C0F61F -:1017D0000000029011E043F22B00C0F600000290DE -:1017E0000BE043F23D00C0F60000029005E043F23A -:1017F0001D00C0F600000290FFE7029803B070479A -:1018000040F20400C2F200000068704740F2C400D9 -:10181000C2F200000078704740F20800C2F20000F7 -:101820000068704740F2D000C2F2000000787047B4 -:1018300080B500F00DFB002000F006FE00F0FCFD7E -:1018400000F068FA00F0EEFB014640F2C500C2F27B -:10185000000001700078C00720B1FFE7002000F011 -:10186000A3FBFFE740F2D001C2F2000101200870A3 -:1018700040F2C401C2F200010020087080BD0000E7 -:1018800040F2C500C2F20000007800F0010070478D -:1018900080B586B00590022000F090FA0599088086 -:1018A000032000F08BFA05994880042000F086FAA6 -:1018B000059988800598008800F0A6FA049005989C -:1018C000408800F0A1FA03900598808800F09CFA07 -:1018D0000290049840F68B01C0F20301019100F0E0 -:1018E00099FD05998860039800F084FD0199059A97 -:1018F000D060029800F08EFD0599086106B080BDA9 -:1019000083B08DF807009DF8070001460091032879 -:101910001CD80099DFE801F002080E1442F6E670C8 -:10192000C0F60000029017E042F6E070C0F600003A -:10193000029011E043F21500C0F6000002900BE0A7 -:1019400043F22500C0F60000029005E043F21D00BE -:10195000C0F600000290FFE7029803B07047000055 -:1019600083B0029044F24020C0F20F00019042F296 -:101970000001C4F20201086820F00F00029A10432F -:101980000860FFE742F20000C4F20200006800F0C5 -:101990000F01029A00209142009006D0FFE70198C3 -:1019A000002818BF01200090FFE70098C00720B171 -:1019B000FFE7019801380190E4E70198002818BF7B -:1019C000012003B07047000080B582B0019000F0A4 -:1019D000B1FA41F25800C4F20200016841F48021DA -:1019E0000160006844F60001C4F2000100200860B4 -:1019F00044F60402C4F20002106044F60802C4F285 -:101A00000002106040F20000C2F200000068019A7B -:101A100000EB5200B0FBF2F044F60C02C4F20002FC -:101A200010600D20086002B080BD000081B08DF80C -:101A30000300FFE744F61C00C4F200000068000643 -:101A4000002802D4FFE700BFF4E79DF8030044F646 -:101A50002801C4F20001086001B0704780B582B06F -:101A6000009000980138B0F1807F03D3FFE7012098 -:101A7000019019E0009801384EF21401CEF20001F5 -:101A800008604FF0FF300F2100F01CF94EF21801F2 -:101A9000CEF20001002008604EF21002CEF20002E9 -:101AA000072111600190FFE7019802B080BD00009E -:101AB00040F2CC01C2F200010868013008607047B2 -:101AC00080B5FFF791FD41F25800C4F202000168B1 -:101AD00041F080510160006847F20001C4F200014A -:101AE0000868012262F34A20086047F28001C4F2CC -:101AF0000001086820F48070086047F21400C4F206 -:101B000000004FF4806100F0B7FC18B9FFE7FFF761 -:101B10006BFD5DE00420FFF723FF18B9FFE7FFF737 -:101B200063FD55E041F20000C4F20200016841F497 -:101B3000807101604FF4806100F0C4FC18B9FFE7C8 -:101B4000FFF752FD44E041F20000C4F202000168D8 -:101B500021F0807101604FF0007100F08DFC18B928 -:101B6000FFE7FFF741FD33E041F20C01C4F202014F -:101B700045F23250C0F20010086041F20000C4F299 -:101B80000200016841F0807101604FF0007100F0C7 -:101B900099FC18B9FFE7FFF727FD19E041F20800AB -:101BA000C4F20200032101600C22114600F0B2FCD5 -:101BB00018B9FFE7FFF718FD0AE042F20001C4F28E -:101BC0000201086840F4E060086000F003F8FFE7F5 -:101BD00080BD000088B042F20040C0F2F4000790DF -:101BE00041F20800C4F20200006800F00C00069008 -:101BF00006980C2835D1FFE742F20040C0F2F4000D -:101C0000059041F20C00C4F20200006804909DF8B7 -:101C10001010012000EB111003900498C0F306206F -:101C200002900498C0F3416001900199022000EBFA -:101C300041000090049800F00300032806D1FFE75C -:101C400041F20020C0F27A000590FFE70598039961 -:101C5000B0FBF1F0029948430099B0FBF1F0079016 -:101C60000AE00698082806D1FFE741F20020C0F2FA -:101C70007A000790FFE7FFE7079841F20801C4F2F6 -:101C800002010968C9B20A0942F6AC61C0F6000156 -:101C9000895CC84040F20001C2F20001086008B04F -:101CA000704700004EF68851CEF20001086840F4FB -:101CB000700008604EF60851CEF200014FF000604F -:101CC0000860704782B08DF8070000919DF9070009 -:101CD00000280AD4FFE7009800019DF907104EF292 -:101CE0000042CEF2000288540BE0009800019DF8FB -:101CF000071001F00F014EF61452CEF20002885484 -:101D0000FFE702B07047000081B00090FFE700BF1E -:101D1000FDE7000080B582B041F24C00C4F2020041 -:101D2000016841F400510160006840F20831C5F2D9 -:101D30000001086840F4403008600821C5F2000145 -:101D40000191086820F000500860086840F0805059 -:101D500008600120FFF712FC0199086840F000407C -:101D60000860FFE70820C5F200000068C00F10B14E -:101D7000FFE700BFF6E70C21C5F200014FF48050E9 -:101D800008601421C5F2000145F6403008604FF0AC -:101D9000A041012008600821C5F20001086840F058 -:101DA00001000860FFE74FF0A0400068C00710B9CD -:101DB000FFE700BFF7E702B080BD000081B00090F0 -:101DC000009880013021C5F2000108604FF0A04169 -:101DD0000C2008600821C5F20001086840F00400EA -:101DE0000860FFE74FF0A04000684007002802D4D9 -:101DF000FFE700BFF6E74020C5F2000000686FF380 -:101E00001F3001B07047000081B0ADF80200BDF88E -:101E1000020040F6E44148431121C1F20101A0FB58 -:101E20000110000A01B0704780B582B001900091A6 -:101E300001980A2804D1FFE70D20FFF7F7FDFFE71F -:101E40009DF80400FFF7F2FD019802B080BD00008C -:101E500041F24C00C4F20200016841F00701016048 -:101E600000684FF09041086840F0FC0008600C21C9 -:101E7000C4F60001086820F0FC00086040F2004150 -:101E8000C4F60001086820F070600860086840F03F -:101E90002060086040F20441C4F60001086820F4A4 -:101EA0004050086040F20841C4F60001086840F064 -:101EB0007060086040F20C41C4F60001086820F030 -:101EC0007060086040F22441C4F60001086820F404 -:101ED0007F000860086840F45D00086040F600017B -:101EE000C4F6000108684FF63F72C0F6FF7210405A -:101EF000086008684023C5F200031843086040F6F4 -:101F00000401C4F6000108684CF208039843086015 -:101F100040F60801C4F6000108688023CAF20003F5 -:101F20001843086040F60C01C4F600010868104030 -:101F30000860704741F24C00C4F20200016841F0B1 -:101F400004010160006840F60001C4F60001086861 -:101F500020F470000860086840F42000086040F633 -:101F60000401C4F60001086820F44060086040F6EF -:101F70000801C4F60001086840F47000086040F6EB -:101F80000C01C4F60001086820F47000086040F6F7 -:101F90002401C4F60001086820F47F400860086846 -:101FA00040F4EE400860704781B08DF803009DF862 -:101FB0000300C00738B1FFE746F69431C4F20101CF -:101FC0003020086006E046F69831C4F20101302066 -:101FD0000860FFE701B0704780B582B001900198BA -:101FE000002803D2FFE7002001900DE00198009047 -:101FF00000F0C4F801460098884204D9FFE700F0D9 -:10200000BDF80190FFE7FFE7019846F69C11C4F286 -:1020100001010860019840F20401C2F20001086069 -:1020200002B080BD80B584B046F68010C4F20100D5 -:10203000029041F26000C4F20200016841F0806148 -:102040000160006846F69831C4F201013020086052 -:1020500000F0B6F840F20801C2F20001086046F64E -:102060008C31C4F201014FF48030086046F6CC3167 -:10207000C4F201010B20086000F05AF890B9FFE7A4 -:1020800046F69831C4F201013020086046F600019E -:10209000C4F20101086820F40020086000208DF8D7 -:1020A0000F0040E0029908200190086040F208000B -:1020B000C2F200000068029948610299002088611C -:1020C0000299C86100F05AF80199029A5062029A86 -:1020D0004FF47A709062029A40F66E40C0F25E1041 -:1020E0009063029A0420D063029A1164029A5164A8 -:1020F00002998864029940F22010C0F220004866DC -:1021000046F6BC31C4F201014FF40010086046F6F7 -:102110000001C4F20101086820F4002008600120D9 -:102120008DF80F00FFE79DF80F0004B080BD0000A0 -:1021300082B044F24020C0F20F000190FFE746F663 -:102140008830C4F2010001680020C9030029009012 -:1021500006D4FFE70198002818BF01200090FFE790 -:102160000098C00720B1FFE7019801380190E6E729 -:102170000198002818BF012002B0704781B045F6D1 -:10218000C050009040F20800C2F2000000680B2826 -:1021900012D3FFE7009840F20801C2F2000109687B -:1021A0000139884208D3FFE740F20800C2F200007C -:1021B000006801380090FFE7009801B07047000008 -:1021C00080B584B040F20000C2F200000268D10E77 -:1021D00048F2A060C0F2010010EB421041F1000192 -:1021E00040F64052C0F2030200230093FEF7D1F8FC -:1021F0000246009801920A46019903920291029ABE -:102200000399D2F16302884105D3FFE700200390D0 -:10221000642002900EE002990398B1F5803170F1CC -:10222000000006D3FFE7002003904FF6FF700290F6 -:10223000FFE7FFE7029804B080BD000080B582B0E0 -:102240008DF8070000200090FFF7AEFE0098FFF722 -:10225000C3FE009846F60002C4F20102116821F4A0 -:102260000021116000F0F0F89DF8070040F2C40171 -:10227000C2F20001087040F2D001C2F20001032056 -:10228000087002B080BD000070B596B000201590B7 -:10229000149013901290FFE7129841F2FF11C0F2D0 -:1022A0007A01884206D8FFE700BFFFE712980130A5 -:1022B0001290F1E7FFF77AF94FF4E1300B90FFF756 -:1022C00083FBFFF7B5FA42F64C70C0F60000FEF74C -:1022D000D9F80B9942F6F660C0F60000FEF7D2F886 -:1022E00040F20000C2F20000016842F6B970C0F688 -:1022F0000000FEF7C7F8FFF78FFA024642F6277094 -:10230000C0F6000040F64051C0F20301FEF7BAF8F3 -:10231000FFF7B6FA024642F6E070C0F6000042F659 -:10232000D271C0F60001002A18BF014642F61870AB -:10233000C0F60000FEF7A6F842F6BC60C0F600004A -:10234000FEF7A0F8FFE7FFF749F9119011981499EB -:10235000401A28B1FFE711981490FFF763F9FFE7DF -:1023600011981399401AB0F5FA7F41D3FFE71198FD -:1023700013900CA8FFF78CFAFFF754FAFFF7C0FA96 -:102380000690FFF743FAFFF705FA0790FFF778FA90 -:10239000024642F6E071C0F6000142F6DC70C0F67B -:1023A0000000002A18BF084608900E980A900F985F -:1023B0000990109CFFF724FA0546FFF72DFA0699BD -:1023C000079A089BDDF824E006460A98EC46CCF80C -:1023D0001060CCF80C50CCF80840CCF804E0CCF8F5 -:1023E000000042F67170C0F60000FEF74BF8FFE700 -:1023F000A9E7000081B0009000984FF47A7148433B -:102400004BF69B51CBF2CA51A0FB0110400A01B020 -:102410007047000080B582B001900091019844F2AD -:102420004021C0F20F01A0FB0101009A0023FDF73B -:10243000B0FF02B080BD000040F62801C4F60001E4 -:102440004FF440400860704781B08DF803009DF85C -:102450000300C00738B1FFE740F61801C4F60001D9 -:102460000820086006E040F62801C4F600010820B4 -:102470000860FFE701B0704784B00390029144F216 -:102480004020C0F20F000190FFE703980168029A14 -:1024900000201142009006D0FFE70198002818BFE5 -:1024A00001200090FFE70098C00720B1FFE70198E6 -:1024B00001380190E9E70198002818BF012004B015 -:1024C0007047000084B00390029144F24020C0F2B3 -:1024D0000F000190FFE703980068029A00EA0201EA -:1024E00000209142009006D0FFE70198002818BF15 -:1024F00001200090FFE70098C00720B1FFE7019896 -:1025000001380190E7E70198002818BF012004B0C6 -:102510007047000085B004900391029244F240207D -:10252000C0F20F000190FFE7049800680399014092 -:10253000029A00209142009006D0FFE701980028FF -:1025400018BF01200090FFE70098C00720B1FFE707 -:10255000019801380190E7E70198002818BF012091 -:1025600005B070475FEA400C08BF91F0000F4FEADA -:102570008C234FEAC12243EA51514FEA1C5018BF45 -:1025800000F5F0404FEA300018BF41F000415FEA2B -:102590006C5C00F02980BCF1FF3F08BF40F0804038 -:1025A0007047130C06BF12044FF0100C4FF0000CD4 -:1025B000130E04BF12020CF1080C130F04BF12011A -:1025C0000CF1040C930F04BF92000CF1020CD30F1A -:1025D00004BF52000CF1010C11464FF00002A0F1B3 -:1025E0001F00A0EB0C00704711F0004F08BF7047B0 -:1025F00031F000413FF4D5AF0B0C06BF09044FF09A -:10260000100C4FF0000C0B0E04BF09020CF1080C6B -:102610000B0F04BF09010CF1040C8B0F04BF8900E0 -:102620000CF1020CCB0F04BF49000CF1010CCCF1F2 -:10263000200322FA03F341EA030102FA0CF2A0EBB1 -:102640000C0000F10100704723F07F4720F07F4C21 -:1026500080EA030000F00040ACEB070303F57C5375 -:1026600003F1FF032DE9804909B44FEA144324EA3A -:1026700003484FEA154B25EA0B4E0FF2042606EBF2 -:1026800013273E7803FB0667C7F5000707FB06F62E -:102690004FEAD64606F102064FEA543707FB066CAE -:1026A000CCF1005C4FEA1C472CEA074C0CFB06F50A -:1026B00007FB06F404EB15464FEA961649085FEA55 -:1026C000320234BF00204FF000404FEAD13706FB02 -:1026D00007FC4FEA1C4C0CFB0BF7D21B03FB0CF75F -:1026E00061EB07010CFB0EF7B0EB074072EB1742F2 -:1026F0000CFB08F734BFA2EB0742B2EB074261EBD9 -:1027000017414FEA0C444FEA910706FB07FC4FEADA -:102710001C4C0CFB0BF7B0EBC74072EB573203FBC2 -:102720000CF734BFA2EBC742B2EBC74261EB5731A3 -:102730000CFB0EF7B0EBC70072EB57720CFB08F7FF -:1027400034BFA2EBC702B2EBC70261EB57714FEA8D -:10275000816141EA92114FEA826242EA90124FEAA5 -:10276000806004EBCC04039F4FEAD13706FB07FCE3 -:102770004FEA1C4C0CFB0BF7D21B03FB0CF761EB75 -:1027800007010CFB0EF7B0EB074072EB17420CFB96 -:1027900008F734BFA2EB0742B2EB074261EB1741E7 -:1027A0004FEA8C5504EB9C244FEA910706FB07FC8B -:1027B0004FEA1C4C0CFB0BF7B0EBC74072EB5732E7 -:1027C00003FB0CF734BFA2EBC742B2EBC74261EB8D -:1027D00057310CFB0EF7B0EBC70072EB57720CFBD6 -:1027E00008F734BFA2EBC702B2EBC70261EB577127 -:1027F0004FEA816141EA92114FEA826242EA901205 -:102800004FEA806015EB4C2544F100044FEAD137C4 -:1028100006FB07FC4FEA1C4C0CFB0BF7D21B03FB1F -:102820000CF761EB07010CFB0EF7B0EB074072EB06 -:1028300017420CFB08F734BFA2EB0742B2EB07428A -:1028400061EB17414FEA813141EA92414FEA82320E -:1028500042EA90424FEA80304FEA0C7615EB1C15A5 -:1028600044F1000448EA03434EEA0B484FF0000EDF -:10287000B2EB080C71EB030724BF624639464EEBFE -:102880000E0E4FF0000B0018524149414BEB0B0B61 -:10289000B2EB080C71EB03077BF1000B24BF62461F -:1028A00039464EEB0E0E4FF0000B001852414941D5 -:1028B0004BEB0B0BB2EB080C71EB03077BF1000B3E -:1028C00024BF624639464EEB0E0E51EA020718BF8E -:1028D00046F0010616EB0E7655F1000254F10001A8 -:1028E00003D5BDE88901BDE80088BDE88901BDE8E0 -:1028F0000048B619524141EB0101A3F101037047B1 -:1029000080807F7E7D7C7B7A79787776767574732C -:10291000727171706F6E6E6D6C6C6B6A6A696868EB -:10292000676666656464636362616160605F5F5E81 -:102930005E5D5D5C5C5B5B5A5A59595858575756F7 -:10294000565555555454535352525251515050505C -:102950004F4F4F4E4E4D4D4D4C4C4C4B4B4B4A4AAE -:102960004A494949484848474747474646464545F2 -:10297000454444444443434343424242424141412B -:102980009C46002B30D477002BD04FEA37071CB57C -:1029900003B44FF010004FF01001BAF1000F06D051 -:1029A000BCF1000FDCBF40F0080040F008014FF020 -:1029B00000000FBCBDE810400BF1010BBBF1010F93 -:1029C00008BF5FEA170722BF12F1010211F10101EE -:1029D0004FF0004143F1000300F0004043EA0000E3 -:1029E0007047F9D35708D0E746EA06464FEA16463D -:1029F00013F1400F1FDD13F1200FDFBF16430A460E -:102A0000002120335B42BED0C3F1200746EA0646D0 -:102A10004FEA164602FA07F746EA070622FA03F2D9 -:102A2000C3F1200701FA07F742EA070221FA03F18E -:102A30004FF00003A7E746EA020646EA06464FEAD9 -:102A4000164646EA0106BCBF46EA0646360C4FF07B -:102A500000034FF000024FF0000194E72DE9804C95 -:102A600070B49A46934691E8380007C831EA400CA2 -:102A700048BF34EA430C03D5FFF7E6FDFFF780FFBC -:102A8000F0BCBDE8008C2DE9804C70B49A469346AA -:102A900091E8380007C810F0804F08BF13F0804F4E -:102AA00003D100F005F8FFF76BFFF0BCBDE8008C28 -:102AB00020F07F4723F07F4C80EA030000F00040C5 -:102AC00007EB0C03A3F57C53A3F1FE0392F0000F78 -:102AD00000F0B38095F0000F00F077802DE90149F8 -:102AE0004FEA114021EA00484FEA144624EA06471B -:102AF00000FB06FC08FB06F607FB08F818EB064887 -:102B00004CEB164C00FB07F718EB07484CEB174053 -:102B10004FEA124B22EA0B4E4FEA154625EA0647CA -:102B20000BFB06FC0EFB06F607FB0EFE1EEB064E2D -:102B30004CEB164C0BFB07F71EEB074E4CEB174B01 -:102B400018EB0B0840F1000018EB0E0B58EB0008D7 -:102B500040F100008F1A4FF000014FF000063CBF1B -:102B6000C943661B14BFB5EB040C00213CBFC9432D -:102B7000F61B4FEA174427EA04454FEA1C472CEAA4 -:102B8000074C04FB076205FB07F70CFB05F616EB89 -:102B9000074642EB174204FB0CFC16EB0C4642EBDB -:102BA0001C421BEB060658EB020241414EEA8E0E18 -:102BB00046EA9E0601D5BDE80189B619524141EBAE -:102BC0000101A3F10103BDE801894FEA144524EA9C -:102BD00005464FEA114721EA074C05FB07F406FBBF -:102BE00007F70CFB06F111EB074144EB174405FB1B -:102BF0000CFC11EB0C4144EB1C444FEA124722EA57 -:102C0000074C05FB07F206FB07F70CFB06F616EB75 -:102C1000074642EB174205FB0CFC16EB0C4642EB59 -:102C20001C456A1854F1000148BF7047B61952415B -:102C300041EB0101A3F10103704795F0000F37D07C -:102C40004FEA114221EA02464FEA144724EA074CB0 -:102C500002FB07F106FB07F70CFB06F414EB074435 -:102C600041EB174102FB0CFC14EB0C4441EB1C4103 -:102C70004FEA154725EA074C02FB07F506FB07F765 -:102C80000CFB06F616EB074645EB174502FB0CFC62 -:102C900016EB0C4645EB1C42121951F1000148BFDE -:102CA0007047B619524141EB0101A3F1010370478E -:102CB0004FEA144524EA05464FEA114721EA074C3A -:102CC00005FB07F106FB07F70CFB06F212EB0742C8 -:102CD00041EB174105FB0CFC12EB0C4251EB1C4184 -:102CE0004FF0000648BF7047921841EB0101A3F175 -:102CF0000103704703B401984100009850EAC120D5 -:102D000018BF04204A0D18BF40F0010040F2FF72C6 -:102D1000B2EB515F08BF40F00200012808BF052058 -:102D200002B0704730380A2801D2012070470020D5 -:102D30007047000010B500290AD00878002807D095 -:102D400005487844FEF7DCFB002801D0002010BDC8 -:102D50000248784410BD00002E0300002603000046 -:102D600010B500290AD00878002807D00548784413 -:102D7000FEF7C6FB002801D0002010BD02487844B1 -:102D800010BD00001E03000016030000F1EE100A43 -:102D90004FF6FF71C0F2C03120EA010040F04070F0 -:102DA000E1EE100A7047FDF799BFFEF7CDB80000BD -:102DB0000000000000000000303132333435363777 -:102DC000383941424344454640305800303132336F -:102DD000343536373839616263646566403078006F -:102DE00004000008000000000000000200010000D4 -:102DF00010303132333435363738396162636465C7 -:102E000066787000303132333435363738394142E4 -:102E1000434445465850000002400000000000A016 -:102E20000000000005400000000000C80000000095 -:102E30000C4000000000409C000000001940000011 -:102E40000020BCBE0000000034400000BFC91B8E43 -:102E500000000004B5400000504BCFD06607E2CF21 -:102E6000010000006C4100003E8251AADFEEA73451 -:102E700001000000D9420000DCB5A0E23A301F9703 -:102E8000FFFFFFFFB4450000FD25A0C8E9A3C14F27 -:102E9000FFFFFFFFFF3F0000000000800000000078 -:102EA000FF3F000000000080000000000000000064 -:102EB000000000000102030406070809506F77654F -:102EC000722073746167653A2064697361626C652E -:102ED0006420696E206170705F636F6E6669672E33 -:102EE000683B20414443206D6F6E69746F72206FA0 -:102EF0006E6C792E0A00555341525433207265741A -:102F00006172676574207072696E74663A20256C10 -:102F10007520626175640A00485254494D20444C42 -:102F20004C3A2025730A0050574D3A20256C7520E5 -:102F3000487A2C20706572696F643D256C75204855 -:102F40005254494D207469636B730A000A422D473D -:102F5000343734452D44504F5731204443444320A7 -:102F6000737461727465722070726F6A6563740A3B -:102F70000073746174653D2573206661756C743DE2 -:102F8000257320687274696D3D25732076696E3DE6 -:102F9000256C756D562069696E3D256C756D4120F7 -:102FA000766F75743D256C756D5620647574793D2A -:102FB000256C752F256C750A0053797374656D4304 -:102FC0006F7265436C6F636B3A20256C7520487A8D -:102FD0000A006E6F74207265616479006E6F742DE3 -:102FE00072656164790073746F70706564007669EE -:102FF0006E20756E646572766F6C746167650076BD -:103000006F7574206F766572766F6C74616765009A -:103010006E6F6E650072756E6E696E6700756E6BB1 -:103020006E6F776E006661756C7400696E70757492 -:10303000206F76657263757272656E740068727463 -:10304000696D20646C6C2074696D656F7574000027 -:10305000A031000800000020100000003C02000821 -:10306000B031000810000020C80600005C02000813 -:103070001C00000043000000F8FFFFFF0C000000F0 -:103080000E0000000F0000002E00000010010000E4 -:1030900043000000F8FFFFFF004040404040404038 -:1030A000404041414141414040404040404040401B -:1030B00040404040404040404005020202020202BF -:1030C000020202020202020202202020202020200E -:1030D0002020200202020202020290909090909022 -:1030E00010101010101010101010101010101010E0 -:1030F0001010101002020202020288888888888854 -:10310000080808080808080808080808080808083F -:103110000808080802020202400000000000000047 -:10312000000000000000000000000000000000009F -:10313000000000000000000000000000000000008F -:10314000000000000000000000000000000000007F -:10315000000000000000000000000000000000006F -:10316000000000000000000000000000000000005F -:10317000000000000000000000000000000000004F -:10318000000000000000000000000000000000003F -:10319000000000000000000000000000000000002F -:1031A0000024F40090010000406A000000000000CC +:1015F0000200016841F4807101604FF4806101F0E4 +:1016000097F9002000F01EFB41F20800C4F202002E +:10161000012101600C21042201F0B2F900F04CFC20 +:1016200080BD000080B540F20510C2F200000078D5 +:10163000C00708B9FFE713E000F042FE40F21010C7 +:10164000C2F20000007802280AD1FFE740F204004D +:10165000C2F20000C06801F0E9F800F091FEFFE777 +:1016600080BD000080B58AB005A800F08BF940F27B +:101670001010C2F200000078032801D0FFE7BAE0A2 +:10168000079840F20401C2F20001496A884204D27C +:10169000FFE7012000F0C6FFADE0099840F2040129 +:1016A000C2F20001896A884204D9FFE7022000F0F3 +:1016B000B9FFA0E0089840F20401C2F20001096BF2 +:1016C000884204D9FFE7032000F0ACFF93E040F22A +:1016D0000400C2F200000190006A40F24801C2F228 +:1016E00000010968A0FB0101079A0023FEF751FEE3 +:1016F00001990390086A099A801A04900498896BEA +:10170000484348F21F51C5F2EB1150FB01F148115B +:1017100000EBD17240F20810C2F2000001681144DF +:101720000160006840F6B931884208DBFFE740F20B +:101730000811C2F2000140F6B830086016E040F22D +:101740000810C2F2000000684FF24741CFF6FF7167 +:1017500088420ADCFFE740F20811C2F200014FF2B2 +:101760004840CFF6FF700860FFE7FFE70398049A50 +:1017700040F20401C2F200014B6B5A4348F21F537E +:10178000C5F2EB1352FB03F35A1102EBD372104470 +:1017900040F20812C2F20002126810440290089847 +:1017A000C96A88420DD9FFE7089840F20401C2F2E5 +:1017B0000001CA6A801AC96B029A00FB11200290CC +:1017C000FFE70298B0F1FF3F03DCFFE70020029043 +:1017D0000DE00298009000F0B1FE014600988842AA +:1017E00004DDFFE700F0AAFE0290FFE7FFE70298A2 +:1017F00000F0C6FDFFE70AB080BD000083B08DF8A1 +:1018000007009DF8070001460091042823D800999D +:10181000DFE801F003090F151B0043F21A50C0F670 +:10182000000002901DE043F2F840C0F60000029074 +:1018300017E043F20950C0F60000029011E043F2B5 +:101840004950C0F6000002900BE043F26450C0F62D +:101850000000029005E043F22750C0F6000002901D +:10186000FFE7029803B0704740F24400C2F2000064 +:101870000068704740F20410C2F200000078704720 +:1018800081B040F20400C2F200000068C0B2022839 +:1018900008D8FFE740F20400C2F2000000688DF8AB +:1018A000030003E000208DF80300FFE79DF803002C +:1018B00001B0704740F24800C2F200000068704773 +:1018C00040F21010C2F200000078704780B500F0BE +:1018D0004BFC002000F0EEFF00F0E4FF00F08CFB7A +:1018E00000F074FD014640F20510C2F200000170E4 +:1018F0000078C00720B1FFE7002000F029FDFFE7D6 +:1019000040F21011C2F200010120087040F20411EF +:10191000C2F200010020087080BD000040F20510F6 +:10192000C2F20000007800F00100704783B08DF82B +:1019300007009DF807000146009140B1FFE70098BD +:1019400001280AD0FFE7009802280CD011E043F2EA +:101950003B50C0F60000029011E043F25B50C0F62D +:10196000000002900BE043F22F50C0F600000290FE +:1019700005E043F22750C0F600000290FFE702980E +:1019800003B0704780B586B00590022000F088FB58 +:1019900005990880032000F083FB05994880042006 +:1019A00000F07EFB059988800598008800F09EFB7A +:1019B00004900598408800F099FB03900598808872 +:1019C00000F094FB0290049840F68B01C0F20301F2 +:1019D000019100F055FF05998860039800F040FFE1 +:1019E0000199059AD060029800F04AFF05990861B4 +:1019F00006B080BD80B582B0FFF742FF8DF80700CA +:101A0000FFF710FE9DF807000146009140B1FFE787 +:101A10000098012818D0FFE70098022820D036E06F +:101A200040F21010C2F200000078022808D0FFE750 +:101A300040F21010C2F200000078032803D1FFE743 +:101A400000F0E4F8FFE723E040F21010C2F20000DB +:101A50000078022803D0FFE700F05AF8FFE717E00C +:101A600040F21010C2F200000078032803D0FFE714 +:101A700000F010F8FFE740F21010C2F2000000780A +:101A8000032803D1FFE7FFF7EDFDFFE700E0FFE7E5 +:101A900002B080BD80B540F20410C2F200000078B0 +:101AA00008B1FFE733E040F20510C2F20000007811 +:101AB000C00720B9FFE7042000F0B4FD27E040F2A2 +:101AC0000400C2F200004068002818BF012000F0A6 +:101AD000F1FE40F20811C2F200010020086000F09F +:101AE000EFFB4FF4C87000F04BFC46F60001C4F267 +:101AF0000101086840F400200860012000F028FC83 +:101B000040F21011C2F2000103200870FFE780BD0F +:101B100080B582B040F20410C2F20000007808B133 +:101B2000FFE73AE040F20510C2F200000078C0077B +:101B300020B9FFE7042000F075FD2EE000F0C0FBA7 +:101B400040F20400C2F20000C06800F06FFE019095 +:101B5000019818B9FFE701200190FFE700200090ED +:101B600000F0A8FE009840F20811C2F200010860DF +:101B7000019800F005FC46F60001C4F20101086876 +:101B800040F400200860012000F0E2FB40F2101158 +:101B9000C2F2000102200870FFE702B080BD000021 +:101BA00083B08DF807009DF80700014600910428D6 +:101BB00023D80099DFE801F003090F151B0043F259 +:101BC000F040C0F6000002901DE043F2EA40C0F68B +:101BD0000000029017E043F25B50C0F60000029054 +:101BE00011E043F21F50C0F6000002900BE043F2F8 +:101BF0004350C0F60000029005E043F22750C0F6C3 +:101C000000000290FFE7029803B0704780B582B0F1 +:101C10000020019000F09CFB019800F0B1FB0198BE +:101C200046F60002C4F20102116821F4002111609D +:101C300000F040FE019840F21011C2F2000108705D +:101C400002B080BD83B0029044F24020C0F20F0089 +:101C5000019042F20001C4F20201086820F00F0076 +:101C6000029A10430860FFE742F20000C4F202004B +:101C7000006800F00F01029A00209142009006D007 +:101C8000FFE70198002818BF01200090FFE70098A7 +:101C9000C00720B1FFE7019801380190E4E70198FF +:101CA000002818BF012003B07047000080B582B043 +:101CB000019000F0CBFA41F25800C4F20200016832 +:101CC00041F480210160006844F60001C4F2000183 +:101CD0000020086044F60402C4F20002106044F6DA +:101CE0000802C4F20002106040F20000C2F20000DC +:101CF0000068019A00EB5200B0FBF2F044F60C02CF +:101D0000C4F2000210600D20086002B080BD000027 +:101D100081B08DF80300FFE744F61C00C4F2000018 +:101D200000680006002802D4FFE700BFF4E79DF832 +:101D3000030044F62801C4F20001086001B07047B6 +:101D400080B582B0009000980138B0F1807F03D355 +:101D5000FFE70120019019E0009801384EF21401CC +:101D6000CEF2000108604FF0FF300F2100F01CF9A7 +:101D70004EF21801CEF20001002008604EF210026F +:101D8000CEF20002072111600190FFE7019802B036 +:101D900080BD000040F20C11C2F200010868013061 +:101DA0000860704780B5FFF71FFC41F25800C4F28D +:101DB0000200016841F080510160006847F20001B3 +:101DC000C4F200010868012262F34A20086047F269 +:101DD0008001C4F20001086820F48070086047F2B6 +:101DE0001400C4F200004FF4806100F07BFD18B9CC +:101DF000FFE7FFF7F9FB5DE00420FFF723FF18B9C9 +:101E0000FFE7FFF7F1FB55E041F20000C4F20200EA +:101E1000016841F4807101604FF4806100F088FD39 +:101E200018B9FFE7FFF7E0FB44E041F20000C4F21D +:101E30000200016821F0807101604FF0007100F034 +:101E400051FD18B9FFE7FFF7CFFB33E041F20C017A +:101E5000C4F2020145F23250C0F20010086041F2B3 +:101E60000000C4F20200016841F0807101604FF08F +:101E7000007100F05DFD18B9FFE7FFF7B5FB19E051 +:101E800041F20800C4F20200032101600C22114655 +:101E900000F076FD18B9FFE7FFF7A6FB0AE042F273 +:101EA0000001C4F20201086840F4E060086000F03C +:101EB00003F8FFE780BD000088B042F20040C0F2A6 +:101EC000F400079041F20800C4F20200006800F03C +:101ED0000C00069006980C2835D1FFE742F200402E +:101EE000C0F2F400059041F20C00C4F20200006858 +:101EF00004909DF81010012000EB1110039004983D +:101F0000C0F3062002900498C0F34160019001994B +:101F1000022000EB41000090049800F00300032829 +:101F200006D1FFE741F20020C0F27A000590FFE7FA +:101F300005980399B0FBF1F0029948430099B0FB72 +:101F4000F1F007900AE00698082806D1FFE741F271 +:101F50000020C0F27A000790FFE7FFE7079841F200 +:101F60000801C4F202010968C9B20A0943F2183132 +:101F7000C0F60001895CC84040F20001C2F20001D5 +:101F8000086008B0704700004EF68851CEF200019C +:101F9000086840F4700008604EF60851CEF2000167 +:101FA0004FF000600860704782B08DF80700009124 +:101FB0009DF9070000280AD4FFE7009800019DF969 +:101FC00007104EF20042CEF2000288540BE0009857 +:101FD00000019DF8071001F00F014EF61452CEF2E9 +:101FE00000028854FFE702B07047000081B0009003 +:101FF000FFE700BFFDE7000080B582B041F24C0072 +:10200000C4F20200016841F400510160006840F22E +:102010000831C5F20001086840F44030086008212A +:10202000C5F200010191086820F0005008600868BE +:1020300040F0805008600120FFF7A0FA019908687D +:1020400040F000400860FFE70820C5F2000000688B +:10205000C00F10B1FFE700BFF6E70C21C5F2000189 +:102060004FF4805008601421C5F2000145F640305D +:1020700008604FF0A041012008600821C5F200016E +:10208000086840F001000860FFE74FF0A0400068DA +:10209000C00710B9FFE700BFF7E702B080BD00003E +:1020A00081B00090009880013021C5F200010860E5 +:1020B0004FF0A0410C2008600821C5F2000108681B +:1020C00040F004000860FFE74FF0A04000684007C0 +:1020D000002802D4FFE700BFF6E74020C5F2000069 +:1020E00000686FF31F3001B07047000081B0ADF899 +:1020F0000200BDF8020040F6E44148431121C1F25C +:102100000101A0FB0110000A01B0704784B00290E9 +:102110000191009202980199884203D2FFE7019849 +:1021200003900AE002980099884203D9FFE70098DB +:10213000039002E002980390FFE7039804B0704711 +:1021400080B582B00190009101980A2804D1FFE780 +:102150000D20FFF7DDFDFFE79DF80400FFF7D8FD38 +:10216000019802B080BD000041F24C00C4F20200B0 +:10217000016841F00701016000684FF09041086874 +:1021800040F0FC0008600C21C4F60001086820F053 +:10219000FC00086040F20041C4F60001086820F02D +:1021A00070600860086840F02060086040F20441F8 +:1021B000C4F60001086820F44050086040F208416D +:1021C000C4F60001086840F07060086040F20C41FD +:1021D000C4F60001086820F07060086040F22441F5 +:1021E000C4F60001086820F47F000860086840F425 +:1021F0005D00086040F60001C4F6000108684FF673 +:102200003F72C0F6FF721040086008684023C5F2B4 +:1022100000031843086040F60401C4F60001086892 +:102220004CF208039843086040F60801C4F6000128 +:1022300008688023CAF200031843086040F60C01C6 +:10224000C4F60001086810400860704741F24C0075 +:10225000C4F20200016841F004010160006840F628 +:102260000001C4F60001086820F4700008600868E6 +:1022700040F42000086040F60401C4F6000108683C +:1022800020F44060086040F60801C4F600010868C8 +:1022900040F47000086040F60C01C4F600010868C4 +:1022A00020F47000086040F62401C4F600010868BC +:1022B00020F47F400860086840F4EE4008607047F2 +:1022C00080B588B046F68010C4F20100079040F255 +:1022D0000400C2F200000390806800F05DF901463E +:1022E0000398069180690021019140F2FF12029249 +:1022F000FFF70CFF0199029A034603980593C06902 +:10230000FFF704FF014603980491069940F2480242 +:10231000C2F2000211600699079A51610599049A68 +:1023200041EA024141F44061079A9163406930B14A +:10233000FFE70799486E40F48070486605E007990A +:10234000486E20F480704866FFE708B080BD00004A +:1023500081B08DF803009DF80300C00738B1FFE796 +:1023600046F69431C4F201013020086006E046F6DA +:102370009831C4F2010130200860FFE701B07047D6 +:1023800080B582B001900198002803D2FFE70020B9 +:1023900001900DE00198009000F0D0F801460098FF +:1023A000884204D9FFE700F0C9F80190FFE7FFE792 +:1023B000019846F69C11C4F201010860019840F2B0 +:1023C0004401C2F20001086002B080BD80B584B053 +:1023D00046F68010C4F20100029041F26000C4F29F +:1023E0000200016841F080610160006841F2400133 +:1023F000C4F20201086840F080600860086820F0BC +:102400008060086046F69831C4F20101302008600F +:1024100040F20400C2F20000806800F0BDF840F213 +:102420004801C2F20001086046F68C31C4F2010195 +:102430004FF48030086046F6CC31C4F201010B2025 +:10244000086000F055F890B9FFE746F69831C4F2FD +:1024500001013020086046F60001C4F2010108685D +:1024600020F40020086000208DF80F003BE0029966 +:1024700008200090086040F24800C2F200000068A6 +:102480000299486102990020019088610299C8610F +:1024900000F054F8009A01460198029B5962029B91 +:1024A0004FF47A719962029B0421D963029B1A64EA +:1024B000029B5A64029A916402994866FFF700FFF2 +:1024C00046F6BC31C4F201014FF40010086046F634 +:1024D0000001C4F20101086820F400200860012016 +:1024E0008DF80F00FFE79DF80F0004B080BD0000DD +:1024F00082B044F24020C0F20F000190FFE746F6A0 +:102500008830C4F2010001680020C903002900904E +:1025100006D4FFE70198002818BF01200090FFE7CC +:102520000098C00720B1FFE7019801380190E6E765 +:102530000198002818BF012002B0704780B582B012 +:1025400040F20400C2F20000006901214FF47A72E7 +:10255000FFF7DCFD0190019800F068F9009040F26F +:102560004800C2F2000000680B2812D3FFE7009871 +:1025700040F24801C2F2000109680139884208D3DB +:10258000FFE740F24800C2F2000000680138009006 +:10259000FFE7009802B080BD80B586B00590059831 +:1025A00030B9FFE740F64050C0F203000590FFE766 +:1025B00040F20000C2F20000D0F800E04FEADE6115 +:1025C000059A002300935FEA530C4FEA320010EBA8 +:1025D0004E1041EB0C01FDF7DCFE02460098019223 +:1025E0000A46019903920291029A0399D2F1630279 +:1025F000884105D3FFE700200390642002900EE09D +:1026000002990398B1F5803170F1000006D3FFE71D +:10261000002003904FF6FF700290FFE7FFE702985B +:1026200006B080BD80B582B08DF807000020009014 +:10263000FFF78EFE0098FFF7A3FE009846F6000213 +:10264000C4F20102116821F40021116000F032F996 +:102650009DF8070040F20411C2F20001087040F238 +:102660001011C2F200010420087002B080BD000009 +:102670002DE9F04399B00020189017901690FEF7BE +:1026800095FF4FF4E1300F90FFF710FBFFF71EF9B5 +:1026900043F24340C0F60000FDF7F4FE0F9943F209 +:1026A000A130C0F60000FDF7EDFE40F20000C2F2DE +:1026B0000000016843F2C340C0F60000FDF7E2FEEF +:1026C000FFF7F8F8024643F2D230C0F6000040F6B9 +:1026D0004051C0F20301FDF7D5FEFFF71FF9024696 +:1026E00043F2EA40C0F6000043F2DC41C0F60001CC +:1026F000002A18BF014643F2C330C0F60000FDF7C0 +:10270000C1FEFFF7BDF8FFF711F9014643F228308B +:10271000C0F60000FDF7B6FE40F2040CC2F2000C59 +:10272000DCF80810DCF80C20DCF81430DCF81800B9 +:10273000DCF81CE0EC46CCF804E0CCF8000043F2F6 +:10274000F730C0F60000FDF79DFE43F25D30C0F6A5 +:102750000000FDF797FEFFE7FEF740FF1590159884 +:102760001799401A28B1FFE715981790FFF742F91B +:10277000FFE715981699401AB0F5FA7F55D3FFE791 +:102780001598169010A8FFF7FDF8FFF779F8FFF7F6 +:10279000CDF80990FFF794F8FFF702FA0A90FFF7D7 +:1027A00069F8FFF72BF80B90FFF7B8F8024643F2F1 +:1027B000EA41C0F6000143F2E640C0F60000002AFC +:1027C00018BF08460D9012980C90139C149DFFF7AB +:1027D0004BF80646FFF76EF809990A9A0B9BDDF84D +:1027E00030E007460D9840F2040CC2F2000CDCF811 +:1027F0001880DCF81C90EC46CDF838C0CCF81C9062 +:10280000CCF81880CCF81470CCF81060CCF80C50D0 +:10281000CCF80840CCF804E0CCF8000043F2684063 +:10282000C0F60000FDF72EFEFFE795E780B584B007 +:1028300003900398002102914FF47A720192FFF7FE +:1028400065FC019A029B039040F24800C2F200002E +:1028500000680399A0FB0101FDF79BFD04B080BD5A +:1028600081B0009000984FF47A7148434BF69B5129 +:10287000CBF2CA51A0FB0110400A01B07047000022 +:1028800080B582B001900091019844F24021C0F2DD +:102890000F01A0FB0101009A0023FDF77AFD02B0B1 +:1028A00080BD000040F62801C4F600014FF440400E +:1028B0000860704781B08DF803009DF80300C007E1 +:1028C00038B1FFE740F61801C4F60001082008609F +:1028D00006E040F62801C4F6000108200860FFE782 +:1028E00001B0704784B00390029144F24020C0F2DE +:1028F0000F000190FFE703980168029A002011423F +:10290000009006D0FFE70198002818BF0120009032 +:10291000FFE70098C00720B1FFE701980138019058 +:10292000E9E70198002818BF012004B070470000B3 +:1029300084B00390029144F24020C0F20F00019055 +:10294000FFE703980068029A00EA02010020914222 +:10295000009006D0FFE70198002818BF01200090E2 +:10296000FFE70098C00720B1FFE701980138019008 +:10297000E7E70198002818BF012004B07047000065 +:1029800085B004900391029244F24020C0F20F00FF +:102990000190FFE70498006803990140029A002023 +:1029A0009142009006D0FFE70198002818BF01204F +:1029B0000090FFE70098C00720B1FFE701980138B9 +:1029C0000190E7E70198002818BF012005B0704783 +:1029D0005FEA400C08BF91F0000F4FEA8C234FEAEA +:1029E000C12243EA51514FEA1C5018BF00F5F04094 +:1029F0004FEA300018BF41F000415FEA6C5C00F024 +:102A00002980BCF1FF3F08BF40F080407047130CA5 +:102A100006BF12044FF0100C4FF0000C130E04BF51 +:102A200012020CF1080C130F04BF12010CF1040C7C +:102A3000930F04BF92000CF1020CD30F04BF52009D +:102A40000CF1010C11464FF00002A0F11F00A0EBA9 +:102A50000C00704711F0004F08BF704731F0004183 +:102A60003FF4D5AF0B0C06BF09044FF0100C4FF02C +:102A7000000C0B0E04BF09020CF1080C0B0F04BF75 +:102A800009010CF1040C8B0F04BF89000CF1020C3E +:102A9000CB0F04BF49000CF1010CCCF1200322FA4A +:102AA00003F341EA030102FA0CF2A0EB0C0000F17F +:102AB0000100704723F07F4720F07F4C80EA03003D +:102AC00000F00040ACEB070303F57C5303F1FF0378 +:102AD0002DE9804909B44FEA144324EA03484FEA38 +:102AE000154B25EA0B4E0FF2042606EB13273E7812 +:102AF00003FB0667C7F5000707FB06F64FEAD64655 +:102B000006F102064FEA543707FB066CCCF1005C75 +:102B10004FEA1C472CEA074C0CFB06F507FB06F4B2 +:102B200004EB15464FEA961649085FEA320234BFB5 +:102B300000204FF000404FEAD13706FB07FC4FEA78 +:102B40001C4C0CFB0BF7D21B03FB0CF761EB0701D2 +:102B50000CFB0EF7B0EB074072EB17420CFB08F7CB +:102B600034BFA2EB0742B2EB074261EB17414FEAD9 +:102B70000C444FEA910706FB07FC4FEA1C4C0CFB88 +:102B80000BF7B0EBC74072EB573203FB0CF734BFC7 +:102B9000A2EBC742B2EBC74261EB57310CFB0EF719 +:102BA000B0EBC70072EB57720CFB08F734BFA2EB17 +:102BB000C702B2EBC70261EB57714FEA816141EA8C +:102BC00092114FEA826242EA90124FEA806004EB6F +:102BD000CC04039F4FEAD13706FB07FC4FEA1C4C9D +:102BE0000CFB0BF7D21B03FB0CF761EB07010CFB93 +:102BF0000EF7B0EB074072EB17420CFB08F734BF3F +:102C0000A2EB0742B2EB074261EB17414FEA8C554A +:102C100004EB9C244FEA910706FB07FC4FEA1C4C8F +:102C20000CFB0BF7B0EBC74072EB573203FB0CF712 +:102C300034BFA2EBC742B2EBC74261EB57310CFB8A +:102C40000EF7B0EBC70072EB57720CFB08F734BFFE +:102C5000A2EBC702B2EBC70261EB57714FEA816189 +:102C600041EA92114FEA826242EA90124FEA806092 +:102C700015EB4C2544F100044FEAD13706FB07FC65 +:102C80004FEA1C4C0CFB0BF7D21B03FB0CF761EB60 +:102C900007010CFB0EF7B0EB074072EB17420CFB81 +:102CA00008F734BFA2EB0742B2EB074261EB1741D2 +:102CB0004FEA813141EA92414FEA823242EA904240 +:102CC0004FEA80304FEA0C7615EB1C1544F10004F6 +:102CD00048EA03434EEA0B484FF0000EB2EB080CF3 +:102CE00071EB030724BF624639464EEB0E0E4FF0E0 +:102CF000000B0018524149414BEB0B0BB2EB080C97 +:102D000071EB03077BF1000B24BF624639464EEBA3 +:102D10000E0E4FF0000B0018524149414BEB0B0BCC +:102D2000B2EB080C71EB03077BF1000B24BF62468A +:102D300039464EEB0E0E51EA020718BF46F0010667 +:102D400016EB0E7655F1000254F1000103D5BDE8F3 +:102D50008901BDE80088BDE88901BDE80048B619D1 +:102D6000524141EB0101A3F10103704780807F7E56 +:102D70007D7C7B7A797877767675747372717170F1 +:102D80006F6E6E6D6C6C6B6A6A69686867666665A3 +:102D90006464636362616160605F5F5E5E5D5D5C31 +:102DA0005C5B5B5A5A5959585857575656555555A2 +:102DB0005454535352525251515050504F4F4F4E02 +:102DC0004E4D4D4D4C4C4C4B4B4B4A4A4A49494950 +:102DD0004848484747474746464645454544444492 +:102DE0004443434343424242424141419C46002BBB +:102DF00030D477002BD04FEA37071CB503B44FF01F +:102E000010004FF01001BAF1000F06D0BCF1000F16 +:102E1000DCBF40F0080040F008014FF000000FBC9C +:102E2000BDE810400BF1010BBBF1010F08BF5FEAD9 +:102E3000170722BF12F1010211F101014FF0004109 +:102E400043F1000300F0004043EA00007047F9D36B +:102E50005708D0E746EA06464FEA164613F1400FF8 +:102E60001FDD13F1200FDFBF16430A460021203378 +:102E70005B42BED0C3F1200746EA06464FEA16463B +:102E800002FA07F746EA070622FA03F2C3F120071F +:102E900001FA07F742EA070221FA03F14FF00003B3 +:102EA000A7E746EA020646EA06464FEA164646EA1B +:102EB0000106BCBF46EA0646360C4FF000034FF051 +:102EC00000024FF0000194E72DE9804C70B49A465F +:102ED000934691E8380007C831EA400C48BF34EA0D +:102EE000430C03D5FFF7E6FDFFF780FFF0BCBDE81C +:102EF000008C2DE9804C70B49A46934691E83800D6 +:102F000007C810F0804F08BF13F0804F03D100F0C6 +:102F100005F8FFF76BFFF0BCBDE8008C20F07F47A1 +:102F200023F07F4C80EA030000F0004007EB0C0325 +:102F3000A3F57C53A3F1FE0392F0000F00F0B380E1 +:102F400095F0000F00F077802DE901494FEA11401C +:102F500021EA00484FEA144624EA064700FB06FC33 +:102F600008FB06F607FB08F818EB06484CEB164C76 +:102F700000FB07F718EB07484CEB17404FEA124BE2 +:102F800022EA0B4E4FEA154625EA06470BFB06FCE4 +:102F90000EFB06F607FB0EFE1EEB064E4CEB164C28 +:102FA0000BFB07F71EEB074E4CEB174B18EB0B0810 +:102FB00040F1000018EB0E0B58EB000840F1000048 +:102FC0008F1A4FF000014FF000063CBFC943661B4B +:102FD00014BFB5EB040C00213CBFC943F61B4FEAFC +:102FE000174427EA04454FEA1C472CEA074C04FB28 +:102FF000076205FB07F70CFB05F616EB074642EBED +:10300000174204FB0CFC16EB0C4642EB1C421BEB7C +:10301000060658EB020241414EEA8E0E46EA9E0633 +:1030200001D5BDE80189B619524141EB0101A3F177 +:103030000103BDE801894FEA144524EA05464FEA39 +:10304000114721EA074C05FB07F406FB07F70CFBC9 +:1030500006F111EB074144EB174405FB0CFC11EBA7 +:103060000C4144EB1C444FEA124722EA074C05FB93 +:1030700007F206FB07F70CFB06F616EB074642EBDA +:10308000174205FB0CFC16EB0C4642EB1C456A187C +:1030900054F1000148BF7047B619524141EB01019C +:1030A000A3F10103704795F0000F37D04FEA1142AA +:1030B00021EA02464FEA144724EA074C02FB07F1D3 +:1030C00006FB07F70CFB06F414EB074441EB174132 +:1030D00002FB0CFC14EB0C4441EB1C414FEA15477E +:1030E00025EA074C02FB07F506FB07F70CFB06F683 +:1030F00016EB074645EB174502FB0CFC16EB0C469E +:1031000045EB1C42121951F1000148BF7047B61936 +:10311000524141EB0101A3F1010370474FEA14450D +:1031200024EA05464FEA114721EA074C05FB07F15F +:1031300006FB07F70CFB06F212EB074241EB1741C7 +:1031400005FB0CFC12EB0C4251EB1C414FF000064E +:1031500048BF7047921841EB0101A3F1010370478A +:1031600003B401984100009850EAC12018BF042020 +:103170004A0D18BF40F0010040F2FF72B2EB515F00 +:1031800008BF40F00200012808BF052002B07047C8 +:1031900030380A2801D20120704700207047000013 +:1031A00010B500290AD00878002807D005487844CF +:1031B000FEF7A6F9002801D0002010BD024878448F +:1031C00010BD0000EA030000E203000010B5002972 +:1031D0000AD00878002807D005487844FEF790F90F +:1031E000002801D0002010BD0248784410BD000026 +:1031F000DA030000D2030000F1EE100A4FF6FF716F +:10320000C0F2C03120EA010040F04070E1EE100A47 +:103210007047FDF763BDFDF797BE0000000000009A +:10322000000000003031323334353637383941420E +:103230004344454640305800303132333435363718 +:1032400038396162636465664030780004000008C4 +:1032500000000000000000020001000010303132C8 +:1032600033343536373839616263646566787000A7 +:1032700030313233343536373839414243444546AC +:103280005850000002400000000000A000000000B4 +:1032900005400000000000C8000000000C400000D5 +:1032A0000000409C00000000194000000020BCBE4F +:1032B0000000000034400000BFC91B8E0000000465 +:1032C000B5400000504BCFD06607E2CF01000000B0 +:1032D0006C4100003E8251AADFEEA73401000000DD +:1032E000D9420000DCB5A0E23A301F97FFFFFFFF94 +:1032F000B4450000FD25A0C8E9A3C14FFFFFFFFFB3 +:10330000FF3F00000000008000000000FF3F0000C1 +:10331000000000800000000000000000000000002D +:10332000010203040607080952756E74696D652071 +:103330006D6F64653A2025733B206564697420676E +:103340005F646364635F636F6E66696720696E20A4 +:103350004B65696C2057617463682E0A0052756E64 +:1033600074696D6520736572766963652061637445 +:103370006976652E206D6F64653D30206D6F6E69D6 +:10338000746F722C20312070776D2D746573742CDE +:10339000203220636C6F7365642D6C6F6F702E0A22 +:1033A00000555341525433207265746172676574DD +:1033B000207072696E74663A20256C7520626175A2 +:1033C000640A00485254494D20444C4C3A2025731D +:1033D0000A0050574D3A20256C7520487A2C2070F1 +:1033E0006572696F643D256C7520485254494D20C3 +:1033F0007469636B730A0052756E74696D65205051 +:10340000574D3A20667265713D256C75487A206487 +:103410007574793D256C752F3130303020646561CD +:103420006474696D653D256C7520726973653D2511 +:103430006C752066616C6C3D256C75207469636BDE +:10344000730A000A422D47343734452D44504F57F4 +:103450003120444344432073746172746572207058 +:10346000726F6A6563740A006D6F64653D25732031 +:1034700073746174653D2573206661756C743D25B8 +:103480007320687274696D3D25732076696E3D25E1 +:103490006C756D562069696E3D256C756D412076A1 +:1034A0006F75743D256C756D5620647574793D2576 +:1034B0006C752F256C752064743D256C752F256CFB +:1034C000750A0053797374656D436F7265436C6F51 +:1034D000636B3A20256C7520487A0A006E6F742061 +:1034E0007265616479006E6F742D72656164790034 +:1034F00073746F707065640076696E20756E6465B4 +:1035000072766F6C7461676500766F7574206F7684 +:103510006572766F6C74616765006E6F6E650072C0 +:10352000756E6E696E6700756E6B6E6F776E006399 +:103530006C6F7365642D6C6F6F70006D6F6E697466 +:103540006F72006661756C7400696E707574206FBF +:1035500076657263757272656E740070776D2D7426 +:1035600065737400687274696D20646C6C20746992 +:103570006D656F7574000000C836000800000020FB +:10358000500000003C0200081837000850000020DE +:10359000C80600005C0200081C0000004300000098 +:1035A000F8FFFFFF0C0000000E0000000F000000FD +:1035B0002E0000001001000043000000F8FFFFFF94 +:1035C0000040404040404040404041414141414036 +:1035D00040404040404040404040404040404040EB +:1035E000400502020202020202020202020202027A +:1035F000022020202020202020202002020202027F +:1036000002029090909090901010101010101010D6 +:1036100010101010101010101010101002020202E2 +:103620000202888888888888080808080808080826 +:103630000808080808080808080808080202020222 +:10364000400000000000000000000000000000003A +:10365000000000000000000000000000000000006A +:10366000000000000000000000000000000000005A +:10367000000000000000000000000000000000004A +:10368000000000000000000000000000000000003A +:10369000000000000000000000000000000000002A +:1036A000000000000000000000000000000000001A +:1036B000000000000000000000000000000000000A +:1036C00000000000000000000024F40001000000E1 +:1036D00000000000400D03006400000084030000AF +:1036E000010000002200000022000000E40C0000A5 +:1036F00094110000D80E00002C010000C20100004F +:103700005A000000030000003C000000900100008F +:08371000406A00000000000007 :04000005080001D915 :00000001FF diff --git a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.htm b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.htm index 9f9d625..de3605d 100644 --- a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.htm +++ b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC.htm @@ -3,7 +3,7 @@ Static Call Graph - [Objects\B-G474E-DPOW1_DCDC.axf]

Static Call Graph for image Objects\B-G474E-DPOW1_DCDC.axf


-

#<CALLGRAPH># ARM Linker, 6220000: Last Updated: Sat May 23 17:51:30 2026 +

#<CALLGRAPH># ARM Linker, 6220000: Last Updated: Sat May 23 18:42:21 2026

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

Call chain for Maximum Stack Depth:

@@ -167,9 +167,9 @@ Global Symbols

[Calls]
  • >>   __rt_entry
-

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

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

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

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

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

[Calls]

  • >>   __scatterload_copy @@ -177,9 +177,9 @@ Global Symbols
    [Called By]
    • >>   __scatterload_copy
    -

    __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED) +

    __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED) -

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

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

    _printf_n (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001))

    [Calls]

    • >>   _printf_charcount @@ -224,7 +224,7 @@ Global Symbols
      [Calls]
      • >>   _printf_fp_hex
      -

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

      _printf_ll (Thumb, 0 bytes, Stack size unknown bytes, _printf_ll.o(.ARM.Collect$$_printf_percent$$00000007))

      _printf_i (Thumb, 0 bytes, Stack size unknown bytes, _printf_i.o(.ARM.Collect$$_printf_percent$$00000008))

      [Stack]

      • Max Depth = 72 + Unknown Stack Size @@ -296,7 +296,7 @@ Global Symbols
        [Calls]
        • >>   _printf_ll_hex
        -

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

        _printf_l (Thumb, 0 bytes, Stack size unknown bytes, _printf_l.o(.ARM.Collect$$_printf_percent$$00000012))

        _printf_c (Thumb, 0 bytes, Stack size unknown bytes, _printf_c.o(.ARM.Collect$$_printf_percent$$00000013))

        [Stack]

        • Max Depth = 40 + Unknown Stack Size @@ -326,7 +326,7 @@ Global Symbols
          [Calls]
          • >>   _printf_wstring
          -

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

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

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

          [Called By]

          • >>   __rt_entry_li @@ -336,21 +336,21 @@ Global Symbols

            [Calls]
            • >>   _fp_init
            -

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

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

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

            [Calls]

            • >>   __rt_locale
            -

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

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

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

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

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

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

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

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

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

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

            __rt_lib_init_lc_ctype_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000014))

            [Stack]

            • Max Depth = 16 + Unknown Stack Size @@ -359,9 +359,9 @@ Global Symbols
              [Calls]
              • >>   _get_lc_ctype
              -

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

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

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

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

              __rt_lib_init_lc_numeric_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000018))

              [Stack]

              • Max Depth = 16 + Unknown Stack Size @@ -370,56 +370,56 @@ Global Symbols
                [Calls]
                • >>   _get_lc_numeric
                -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                [Called By]

                • >>   __rt_exit_ls
                -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                [Called By]

                • >>   __main
                • >>   __scatterload_rt2
                -

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

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

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

                [Stack]

                • Max Depth = 8 + Unknown Stack Size @@ -432,17 +432,17 @@ Global Symbols

                  [Calls]
                  • >>   __rt_lib_init
                  -

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

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

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

                  [Stack]

                  • Max Depth = 248 + Unknown Stack Size -
                  • Call Chain = __rt_entry_main ⇒ main ⇒ printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf +

                    [Stack]
                    • Max Depth = 312 + Unknown Stack Size +
                    • Call Chain = __rt_entry_main ⇒ main ⇒ DCDC_Service1ms ⇒ DCDC_ControlStep ⇒ latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod

                    [Calls]
                    • >>   exit
                    • >>   main
                    -

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

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

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

                    [Called By]

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

                      [Calls]
                      • >>   __rt_lib_shutdown
                      -

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

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

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

                      [Stack]

                      • Max Depth = 4 + Unknown Stack Size @@ -831,17 +831,18 @@ Global Symbols

                        [Called By]
                        • >>   __user_setup_stackheap
                        -

                        __use_no_semihosting (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED) +

                        __use_no_semihosting (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED) -

                        __aeabi_uldivmod (Thumb, 0 bytes, Stack size 48 bytes, lludivv7m.o(.text)) +

                        __aeabi_uldivmod (Thumb, 0 bytes, Stack size 48 bytes, lludivv7m.o(.text))

                        [Stack]

                        • Max Depth = 48
                        • Call Chain = __aeabi_uldivmod
                        -
                        [Called By]
                        • >>   sense_mv_to_voltage_mv -
                        • >>   hrtim_period_from_clock -
                        • >>   DCDC_ControlStep +
                          [Called By]
                          • >>   DCDC_ControlStep +
                          • >>   sense_mv_to_voltage_mv +
                          • >>   permille_to_ticks +
                          • >>   hrtim_period_from_frequency
                          -

                          _ll_udiv (Thumb, 240 bytes, Stack size 48 bytes, lludivv7m.o(.text), UNUSED) +

                          _ll_udiv (Thumb, 240 bytes, Stack size 48 bytes, lludivv7m.o(.text), UNUSED)

                          printf (Thumb, 20 bytes, Stack size 24 bytes, printf.o(.text))

                          [Stack]

                          • Max Depth = 144 + Unknown Stack Size @@ -852,15 +853,15 @@ Global Symbols
                            [Called By]
                            • >>   main
                            -

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

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

                            __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

                            __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

                            __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

                            __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

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

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

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

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

                            _printf_pre_padding (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text))

                            [Stack]

                            • Max Depth = 16
                            • Call Chain = _printf_pre_padding @@ -1187,15 +1188,15 @@ Global Symbols
                              [Called By]
                              • >>   __rt_entry_main
                              -

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

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

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

                              [Called By]

                              • >>   __user_setup_stackheap
                              -

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

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

                              strcmp (Thumb, 124 bytes, Stack size 8 bytes, strcmpv7em.o(.text)) +

                              strcmp (Thumb, 124 bytes, Stack size 8 bytes, strcmpv7em.o(.text))

                              [Stack]

                              • Max Depth = 8
                              • Call Chain = strcmp

                              [Called By]
                              • >>   _get_lc_ctype @@ -1207,7 +1208,7 @@ Global Symbols

                              [Calls]
                              • >>   Board_Millis
                              -
                              [Called By]
                              • >>   adc1_init +
                                [Called By]
                                • >>   adc1_init

                                Board_FatalError (Thumb, 8 bytes, Stack size 0 bytes, board.o(.text.Board_FatalError)) @@ -1229,84 +1230,155 @@ Global Symbols

                              • >>   main
                              -

                              DCDC_ControlStep (Thumb, 366 bytes, Stack size 48 bytes, dcdc.o(.text.DCDC_ControlStep)) -

                              [Stack]

                              • Max Depth = 144
                              • Call Chain = DCDC_ControlStep ⇒ DCDC_ReadMeasurements ⇒ sense_mv_to_voltage_mv ⇒ __aeabi_uldivmod +

                                DCDC_ApplyRuntimeConfig (Thumb, 62 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_ApplyRuntimeConfig)) +

                                [Stack]

                                • Max Depth = 128
                                • Call Chain = DCDC_ApplyRuntimeConfig ⇒ hrtim1_apply_pwm_config ⇒ hrtim_period_from_frequency ⇒ __aeabi_uldivmod
                                -
                                [Calls]
                                • >>   __aeabi_uldivmod -
                                • >>   hrtim1_set_duty -
                                • >>   latch_fault -
                                • >>   hrtim_max_duty_ticks -
                                • >>   DCDC_ReadMeasurements +
                                  [Calls]
                                  • >>   permille_to_ticks +
                                  • >>   hrtim1_set_duty +
                                  • >>   hrtim1_apply_pwm_config
                                  -
                                  [Called By]
                                  • >>   main +
                                    [Called By]
                                    • >>   DCDC_Service1ms
                                    -

                                    DCDC_FaultText (Thumb, 108 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_FaultText)) +

                                    DCDC_ControlStep (Thumb, 406 bytes, Stack size 48 bytes, dcdc.o(.text.DCDC_ControlStep)) +

                                    [Stack]

                                    • Max Depth = 168
                                    • Call Chain = DCDC_ControlStep ⇒ latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod +
                                    +
                                    [Calls]
                                    • >>   __aeabi_uldivmod +
                                    • >>   hrtim1_set_duty +
                                    • >>   latch_fault +
                                    • >>   hrtim_max_duty_ticks +
                                    • >>   DCDC_ReadMeasurements +
                                    +
                                    [Called By]
                                    • >>   DCDC_Service1ms +
                                    + +

                                    DCDC_FaultText (Thumb, 108 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_FaultText))

                                    [Stack]

                                    • Max Depth = 12
                                    • Call Chain = DCDC_FaultText

                                    [Called By]
                                    • >>   main
                                    -

                                    DCDC_GetDutyTicks (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetDutyTicks)) +

                                    DCDC_GetDutyTicks (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetDutyTicks))

                                    [Called By]

                                    • >>   main
                                    -

                                    DCDC_GetFault (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetFault)) +

                                    DCDC_GetFault (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetFault))

                                    [Called By]

                                    • >>   main
                                    -

                                    DCDC_GetPeriodTicks (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetPeriodTicks)) +

                                    DCDC_GetMode (Thumb, 52 bytes, Stack size 4 bytes, dcdc.o(.text.DCDC_GetMode)) +

                                    [Stack]

                                    • Max Depth = 4
                                    • Call Chain = DCDC_GetMode +
                                    +
                                    [Called By]
                                    • >>   DCDC_Service1ms +
                                    • >>   main +
                                    + +

                                    DCDC_GetPeriodTicks (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetPeriodTicks))

                                    [Called By]

                                    • >>   main
                                    -

                                    DCDC_GetState (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetState)) +

                                    DCDC_GetState (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetState))

                                    [Called By]

                                    • >>   main
                                    -

                                    DCDC_Init (Thumb, 78 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_Init)) -

                                    [Stack]

                                    • Max Depth = 104
                                    • Call Chain = DCDC_Init ⇒ hrtim1_timer_c_init ⇒ hrtim_period_from_clock ⇒ __aeabi_uldivmod +

                                      DCDC_Init (Thumb, 78 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_Init)) +

                                      [Stack]

                                      • Max Depth = 152
                                      • Call Chain = DCDC_Init ⇒ hrtim1_timer_c_init ⇒ hrtim1_apply_pwm_config ⇒ hrtim_period_from_frequency ⇒ __aeabi_uldivmod
                                      -
                                      [Calls]
                                      • >>   hrtim1_outputs_enable -
                                      • >>   hrtim1_timer_c_init -
                                      • >>   adc1_init -
                                      • >>   set_loads_off -
                                      • >>   set_usbpd_input_switch -
                                      • >>   gpio_init_for_dcdc +
                                        [Calls]
                                        • >>   hrtim1_outputs_enable +
                                        • >>   hrtim1_timer_c_init +
                                        • >>   adc1_init +
                                        • >>   set_loads_off +
                                        • >>   set_usbpd_input_switch +
                                        • >>   gpio_init_for_dcdc

                                        [Called By]
                                        • >>   main
                                        -

                                        DCDC_IsHrtimReady (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_IsHrtimReady)) +

                                        DCDC_IsHrtimReady (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_IsHrtimReady))

                                        [Called By]

                                        • >>   main
                                        -

                                        DCDC_ReadMeasurements (Thumb, 112 bytes, Stack size 32 bytes, dcdc.o(.text.DCDC_ReadMeasurements)) +

                                        DCDC_ModeText (Thumb, 88 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_ModeText)) +

                                        [Stack]

                                        • Max Depth = 12
                                        • Call Chain = DCDC_ModeText +
                                        +
                                        [Called By]
                                        • >>   main +
                                        + +

                                        DCDC_ReadMeasurements (Thumb, 112 bytes, Stack size 32 bytes, dcdc.o(.text.DCDC_ReadMeasurements))

                                        [Stack]

                                        • Max Depth = 96
                                        • Call Chain = DCDC_ReadMeasurements ⇒ sense_mv_to_voltage_mv ⇒ __aeabi_uldivmod
                                        -
                                        [Calls]
                                        • >>   sense_mv_to_current_ma -
                                        • >>   sense_mv_to_voltage_mv -
                                        • >>   adc_raw_to_mv -
                                        • >>   adc1_read_channel +
                                          [Calls]
                                          • >>   sense_mv_to_current_ma +
                                          • >>   sense_mv_to_voltage_mv +
                                          • >>   adc_raw_to_mv +
                                          • >>   adc1_read_channel
                                          -
                                          [Called By]
                                          • >>   DCDC_ControlStep +
                                            [Called By]
                                            • >>   DCDC_ControlStep
                                            • >>   main
                                            -

                                            DCDC_StateText (Thumb, 94 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_StateText)) +

                                            DCDC_Service1ms (Thumb, 160 bytes, Stack size 16 bytes, dcdc.o(.text.DCDC_Service1ms)) +

                                            [Stack]

                                            • Max Depth = 184
                                            • Call Chain = DCDC_Service1ms ⇒ DCDC_ControlStep ⇒ latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod +
                                            +
                                            [Calls]
                                            • >>   DCDC_ControlStep +
                                            • >>   DCDC_ApplyRuntimeConfig +
                                            • >>   DCDC_Stop +
                                            • >>   DCDC_StartPwmTest +
                                            • >>   DCDC_Start +
                                            • >>   DCDC_GetMode +
                                            +
                                            [Called By]
                                            • >>   main +
                                            + +

                                            DCDC_Start (Thumb, 124 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_Start)) +

                                            [Stack]

                                            • Max Depth = 128
                                            • Call Chain = DCDC_Start ⇒ latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod +
                                            +
                                            [Calls]
                                            • >>   hrtim1_set_duty +
                                            • >>   latch_fault +
                                            • >>   hrtim1_apply_pwm_config +
                                            • >>   hrtim1_outputs_enable +
                                            • >>   set_usbpd_input_switch +
                                            +
                                            [Called By]
                                            • >>   DCDC_Service1ms +
                                            + +

                                            DCDC_StartPwmTest (Thumb, 142 bytes, Stack size 16 bytes, dcdc.o(.text.DCDC_StartPwmTest)) +

                                            [Stack]

                                            • Max Depth = 136
                                            • Call Chain = DCDC_StartPwmTest ⇒ latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod +
                                            +
                                            [Calls]
                                            • >>   permille_to_ticks +
                                            • >>   hrtim1_set_duty +
                                            • >>   latch_fault +
                                            • >>   hrtim1_apply_pwm_config +
                                            • >>   hrtim1_outputs_enable +
                                            • >>   set_usbpd_input_switch +
                                            +
                                            [Called By]
                                            • >>   DCDC_Service1ms +
                                            + +

                                            DCDC_StateText (Thumb, 108 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_StateText))

                                            [Stack]

                                            • Max Depth = 12
                                            • Call Chain = DCDC_StateText

                                            [Called By]
                                            • >>   main
                                            -

                                            Retarget_Init (Thumb, 98 bytes, Stack size 16 bytes, retarget.o(.text.Retarget_Init)) +

                                            DCDC_Stop (Thumb, 56 bytes, Stack size 16 bytes, dcdc.o(.text.DCDC_Stop)) +

                                            [Stack]

                                            • Max Depth = 120
                                            • Call Chain = DCDC_Stop ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod +
                                            +
                                            [Calls]
                                            • >>   hrtim1_set_duty +
                                            • >>   hrtim1_outputs_enable +
                                            • >>   set_usbpd_input_switch +
                                            +
                                            [Called By]
                                            • >>   DCDC_Service1ms +
                                            + +

                                            Retarget_Init (Thumb, 98 bytes, Stack size 16 bytes, retarget.o(.text.Retarget_Init))

                                            [Stack]

                                            • Max Depth = 16
                                            • Call Chain = Retarget_Init
                                            -
                                            [Calls]
                                            • >>   gpio_pc10_pc11_to_usart3 +
                                              [Calls]
                                              • >>   gpio_pc10_pc11_to_usart3

                                              [Called By]
                                              • >>   main
                                              -

                                              Retarget_PutChar (Thumb, 48 bytes, Stack size 4 bytes, retarget.o(.text.Retarget_PutChar)) +

                                              Retarget_PutChar (Thumb, 48 bytes, Stack size 4 bytes, retarget.o(.text.Retarget_PutChar))

                                              [Stack]

                                              • Max Depth = 4
                                              • Call Chain = Retarget_PutChar

                                              [Called By]
                                              • >>   fputc @@ -1334,55 +1406,57 @@ Global Symbols

                                                fputc (Thumb, 38 bytes, Stack size 16 bytes, retarget.o(.text.fputc))

                                                [Stack]

                                                • Max Depth = 20
                                                • Call Chain = fputc ⇒ Retarget_PutChar
                                                -
                                                [Calls]
                                                • >>   Retarget_PutChar +
                                                  [Calls]
                                                  • >>   Retarget_PutChar

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

                                                  main (Thumb, 362 bytes, Stack size 104 bytes, main.o(.text.main)) -

                                                  [Stack]

                                                  • Max Depth = 248 + Unknown Stack Size -
                                                  • Call Chain = main ⇒ printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf +

                                                    main (Thumb, 444 bytes, Stack size 128 bytes, main.o(.text.main)) +

                                                    [Stack]

                                                    • Max Depth = 312 + Unknown Stack Size +
                                                    • Call Chain = main ⇒ DCDC_Service1ms ⇒ DCDC_ControlStep ⇒ latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod

                                                    [Calls]
                                                    • >>   printf -
                                                    • >>   DCDC_GetDutyTicks -
                                                    • >>   DCDC_FaultText -
                                                    • >>   DCDC_GetFault -
                                                    • >>   DCDC_StateText -
                                                    • >>   DCDC_GetState -
                                                    • >>   DCDC_ReadMeasurements -
                                                    • >>   DCDC_ControlStep +
                                                    • >>   DCDC_GetDutyTicks +
                                                    • >>   DCDC_FaultText +
                                                    • >>   DCDC_GetFault +
                                                    • >>   DCDC_StateText +
                                                    • >>   DCDC_GetState +
                                                    • >>   DCDC_ReadMeasurements +
                                                    • >>   DCDC_Service1ms
                                                    • >>   Board_Millis -
                                                    • >>   DCDC_IsHrtimReady -
                                                    • >>   DCDC_GetPeriodTicks -
                                                    • >>   DCDC_Init -
                                                    • >>   Retarget_Init +
                                                    • >>   DCDC_ModeText +
                                                    • >>   DCDC_GetMode +
                                                    • >>   DCDC_IsHrtimReady +
                                                    • >>   DCDC_GetPeriodTicks +
                                                    • >>   DCDC_Init +
                                                    • >>   Retarget_Init
                                                    • >>   Board_Init

                                                    [Called By]
                                                    • >>   __rt_entry_main

                                                    _btod_d2e (Thumb, 62 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e)) -

                                                    [Calls]

                                                    • >>   _d2e_norm_op1 +

                                                      [Calls]
                                                      • >>   _d2e_norm_op1

                                                      [Called By]
                                                      • >>   _fp_digits
                                                      -

                                                      _d2e_denorm_low (Thumb, 70 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_denorm_low)) -

                                                      [Called By]

                                                      • >>   _d2e_norm_op1 +

                                                        _d2e_denorm_low (Thumb, 70 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_denorm_low)) +

                                                        [Called By]

                                                        • >>   _d2e_norm_op1
                                                        -

                                                        _d2e_norm_op1 (Thumb, 96 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_norm_op1)) -

                                                        [Calls]

                                                        • >>   _d2e_denorm_low +

                                                          _d2e_norm_op1 (Thumb, 96 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_norm_op1)) +

                                                          [Calls]

                                                          • >>   _d2e_denorm_low

                                                          [Called By]
                                                          • >>   _btod_d2e
                                                          -

                                                          __btod_div_common (Thumb, 696 bytes, Stack size 24 bytes, btod.o(CL$$btod_div_common)) +

                                                          __btod_div_common (Thumb, 696 bytes, Stack size 24 bytes, btod.o(CL$$btod_div_common))

                                                          [Stack]

                                                          • Max Depth = 24
                                                          • Call Chain = __btod_div_common

                                                          [Called By]
                                                          • >>   _btod_ediv
                                                          -

                                                          _e2e (Thumb, 220 bytes, Stack size 24 bytes, btod.o(CL$$btod_e2e)) +

                                                          _e2e (Thumb, 220 bytes, Stack size 24 bytes, btod.o(CL$$btod_e2e))

                                                          [Stack]

                                                          • Max Depth = 24
                                                          • Call Chain = _e2e

                                                          [Called By]
                                                          • >>   _btod_emul @@ -1392,8 +1466,8 @@ Global Symbols

                                                            _btod_ediv (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_ediv))

                                                            [Stack]

                                                            • Max Depth = 52
                                                            • Call Chain = _btod_ediv ⇒ _e2e
                                                            -
                                                            [Calls]
                                                            • >>   _e2e -
                                                            • >>   __btod_div_common +
                                                              [Calls]
                                                              • >>   _e2e +
                                                              • >>   __btod_div_common

                                                              [Called By]
                                                              • >>   _btod_etento
                                                              • >>   _fp_digits @@ -1402,14 +1476,14 @@ Global Symbols

                                                                _btod_emul (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_emul))

                                                                [Stack]

                                                                • Max Depth = 52
                                                                • Call Chain = _btod_emul ⇒ _e2e
                                                                -
                                                                [Calls]
                                                                • >>   __btod_mult_common -
                                                                • >>   _e2e +
                                                                  [Calls]
                                                                  • >>   __btod_mult_common +
                                                                  • >>   _e2e

                                                                  [Called By]
                                                                  • >>   _btod_etento
                                                                  • >>   _fp_digits
                                                                  -

                                                                  __btod_mult_common (Thumb, 580 bytes, Stack size 16 bytes, btod.o(CL$$btod_mult_common)) +

                                                                  __btod_mult_common (Thumb, 580 bytes, Stack size 16 bytes, btod.o(CL$$btod_mult_common))

                                                                  [Stack]

                                                                  • Max Depth = 16
                                                                  • Call Chain = __btod_mult_common

                                                                  [Called By]
                                                                  • >>   _btod_emul @@ -1429,7 +1503,7 @@ Global Symbols

                                                                    _get_lc_numeric (Thumb, 44 bytes, Stack size 8 bytes, lc_numeric_c.o(locale$$code))

                                                                    [Stack]

                                                                    • Max Depth = 16
                                                                    • Call Chain = _get_lc_numeric ⇒ strcmp
                                                                    -
                                                                    [Calls]
                                                                    • >>   strcmp +
                                                                      [Calls]
                                                                      • >>   strcmp

                                                                      [Called By]
                                                                      • >>   __rt_lib_init_lc_numeric_2
                                                                      @@ -1437,7 +1511,7 @@ Global Symbols

                                                                      _get_lc_ctype (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code))

                                                                      [Stack]

                                                                      • Max Depth = 16
                                                                      • Call Chain = _get_lc_ctype ⇒ strcmp
                                                                      -
                                                                      [Calls]
                                                                      • >>   strcmp +
                                                                        [Calls]
                                                                        • >>   strcmp

                                                                        [Called By]
                                                                        • >>   __rt_lib_init_lc_ctype_2
                                                                        @@ -1447,9 +1521,9 @@ Global Symbols

                                                                        [Called By]
                                                                        • >>   __rt_lib_init_fp_1
                                                                        -

                                                                        __fplib_config_fpu_vfp (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) +

                                                                        __fplib_config_fpu_vfp (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) -

                                                                        __fplib_config_pureend_doubles (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) +

                                                                        __fplib_config_pureend_doubles (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED)

                                                                        _printf_fp_dec (Thumb, 4 bytes, Stack size 0 bytes, printf1.o(x$fpl$printf1))

                                                                        [Stack]

                                                                        • Max Depth = 324
                                                                        • Call Chain = _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e @@ -1479,7 +1553,7 @@ Local Symbols
                                                                        • >>   wait_mask_value
                                                                        • >>   wait_mask_set
                                                                        • >>   Flash_SetLatency -
                                                                        • >>   wait_mask_clear +
                                                                        • >>   wait_mask_clear
                                                                        • >>   Clock_UseHsi16

                                                                        [Called By]
                                                                        • >>   Board_Init @@ -1488,7 +1562,7 @@ Local Symbols

                                                                          SysTick_Config (Thumb, 82 bytes, Stack size 16 bytes, board.o(.text.SysTick_Config))

                                                                          [Stack]

                                                                          • Max Depth = 24
                                                                          • Call Chain = SysTick_Config ⇒ __NVIC_SetPriority
                                                                          -
                                                                          [Calls]
                                                                          • >>   __NVIC_SetPriority +
                                                                            [Calls]
                                                                            • >>   __NVIC_SetPriority

                                                                            [Called By]
                                                                            • >>   Board_Init
                                                                            @@ -1504,7 +1578,7 @@ Local Symbols
                                                                            [Called By]
                                                                            • >>   SystemClock_Config
                                                                            -

                                                                            wait_mask_clear (Thumb, 74 bytes, Stack size 16 bytes, board.o(.text.wait_mask_clear)) +

                                                                            wait_mask_clear (Thumb, 74 bytes, Stack size 16 bytes, board.o(.text.wait_mask_clear))

                                                                            [Stack]

                                                                            • Max Depth = 16
                                                                            • Call Chain = wait_mask_clear

                                                                            [Called By]
                                                                            • >>   SystemClock_Config @@ -1531,121 +1605,169 @@ Local Symbols
                                                                            • >>   SystemClock_Config
                                                                            -

                                                                            __NVIC_SetPriority (Thumb, 66 bytes, Stack size 8 bytes, board.o(.text.__NVIC_SetPriority)) +

                                                                            __NVIC_SetPriority (Thumb, 66 bytes, Stack size 8 bytes, board.o(.text.__NVIC_SetPriority))

                                                                            [Stack]

                                                                            • Max Depth = 8
                                                                            • Call Chain = __NVIC_SetPriority

                                                                            [Called By]
                                                                            • >>   SysTick_Config
                                                                            -

                                                                            gpio_init_for_dcdc (Thumb, 228 bytes, Stack size 0 bytes, dcdc.o(.text.gpio_init_for_dcdc)) -

                                                                            [Called By]

                                                                            • >>   DCDC_Init +

                                                                              gpio_init_for_dcdc (Thumb, 228 bytes, Stack size 0 bytes, dcdc.o(.text.gpio_init_for_dcdc)) +

                                                                              [Called By]

                                                                              • >>   DCDC_Init
                                                                              -

                                                                              set_usbpd_input_switch (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.set_usbpd_input_switch)) +

                                                                              set_usbpd_input_switch (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.set_usbpd_input_switch))

                                                                              [Stack]

                                                                              • Max Depth = 4
                                                                              • Call Chain = set_usbpd_input_switch
                                                                              -
                                                                              [Called By]
                                                                              • >>   latch_fault -
                                                                              • >>   DCDC_Init +
                                                                                [Called By]
                                                                                • >>   DCDC_Stop +
                                                                                • >>   DCDC_StartPwmTest +
                                                                                • >>   DCDC_Start +
                                                                                • >>   latch_fault +
                                                                                • >>   DCDC_Init
                                                                                -

                                                                                set_loads_off (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.set_loads_off)) -

                                                                                [Called By]

                                                                                • >>   DCDC_Init +

                                                                                  set_loads_off (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.set_loads_off)) +

                                                                                  [Called By]

                                                                                  • >>   DCDC_Init
                                                                                  -

                                                                                  adc1_init (Thumb, 166 bytes, Stack size 16 bytes, dcdc.o(.text.adc1_init)) +

                                                                                  adc1_init (Thumb, 166 bytes, Stack size 16 bytes, dcdc.o(.text.adc1_init))

                                                                                  [Stack]

                                                                                  • Max Depth = 32
                                                                                  • Call Chain = adc1_init ⇒ Board_DelayMs

                                                                                  [Calls]
                                                                                  • >>   Board_DelayMs
                                                                                  -
                                                                                  [Called By]
                                                                                  • >>   DCDC_Init +
                                                                                    [Called By]
                                                                                    • >>   DCDC_Init
                                                                                    -

                                                                                    hrtim1_timer_c_init (Thumb, 266 bytes, Stack size 24 bytes, dcdc.o(.text.hrtim1_timer_c_init)) -

                                                                                    [Stack]

                                                                                    • Max Depth = 96
                                                                                    • Call Chain = hrtim1_timer_c_init ⇒ hrtim_period_from_clock ⇒ __aeabi_uldivmod +

                                                                                      hrtim1_timer_c_init (Thumb, 290 bytes, Stack size 24 bytes, dcdc.o(.text.hrtim1_timer_c_init)) +

                                                                                      [Stack]

                                                                                      • Max Depth = 144
                                                                                      • Call Chain = hrtim1_timer_c_init ⇒ hrtim1_apply_pwm_config ⇒ hrtim_period_from_frequency ⇒ __aeabi_uldivmod
                                                                                      -
                                                                                      [Calls]
                                                                                      • >>   hrtim_max_duty_ticks -
                                                                                      • >>   hrtim1_wait_dll_ready -
                                                                                      • >>   hrtim_period_from_clock +
                                                                                        [Calls]
                                                                                        • >>   hrtim1_apply_pwm_config +
                                                                                        • >>   hrtim_max_duty_ticks +
                                                                                        • >>   hrtim1_wait_dll_ready +
                                                                                        • >>   hrtim_period_from_frequency
                                                                                        -
                                                                                        [Called By]
                                                                                        • >>   DCDC_Init +
                                                                                          [Called By]
                                                                                          • >>   DCDC_Init
                                                                                          -

                                                                                          hrtim1_outputs_enable (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.hrtim1_outputs_enable)) +

                                                                                          hrtim1_outputs_enable (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.hrtim1_outputs_enable))

                                                                                          [Stack]

                                                                                          • Max Depth = 4
                                                                                          • Call Chain = hrtim1_outputs_enable
                                                                                          -
                                                                                          [Called By]
                                                                                          • >>   latch_fault -
                                                                                          • >>   DCDC_Init +
                                                                                            [Called By]
                                                                                            • >>   DCDC_Stop +
                                                                                            • >>   DCDC_StartPwmTest +
                                                                                            • >>   DCDC_Start +
                                                                                            • >>   latch_fault +
                                                                                            • >>   DCDC_Init
                                                                                            -

                                                                                            hrtim_period_from_clock (Thumb, 122 bytes, Stack size 24 bytes, dcdc.o(.text.hrtim_period_from_clock)) -

                                                                                            [Stack]

                                                                                            • Max Depth = 72
                                                                                            • Call Chain = hrtim_period_from_clock ⇒ __aeabi_uldivmod +

                                                                                              hrtim_period_from_frequency (Thumb, 140 bytes, Stack size 32 bytes, dcdc.o(.text.hrtim_period_from_frequency)) +

                                                                                              [Stack]

                                                                                              • Max Depth = 80
                                                                                              • Call Chain = hrtim_period_from_frequency ⇒ __aeabi_uldivmod
                                                                                              -
                                                                                              [Calls]
                                                                                              • >>   __aeabi_uldivmod +
                                                                                                [Calls]
                                                                                                • >>   __aeabi_uldivmod
                                                                                                -
                                                                                                [Called By]
                                                                                                • >>   hrtim1_timer_c_init +
                                                                                                  [Called By]
                                                                                                  • >>   hrtim1_apply_pwm_config +
                                                                                                  • >>   hrtim1_timer_c_init
                                                                                                  -

                                                                                                  hrtim1_wait_dll_ready (Thumb, 76 bytes, Stack size 8 bytes, dcdc.o(.text.hrtim1_wait_dll_ready)) +

                                                                                                  hrtim1_wait_dll_ready (Thumb, 76 bytes, Stack size 8 bytes, dcdc.o(.text.hrtim1_wait_dll_ready))

                                                                                                  [Stack]

                                                                                                  • Max Depth = 8
                                                                                                  • Call Chain = hrtim1_wait_dll_ready
                                                                                                  -
                                                                                                  [Called By]
                                                                                                  • >>   hrtim1_timer_c_init +
                                                                                                    [Called By]
                                                                                                    • >>   hrtim1_timer_c_init
                                                                                                    -

                                                                                                    hrtim_max_duty_ticks (Thumb, 66 bytes, Stack size 4 bytes, dcdc.o(.text.hrtim_max_duty_ticks)) -

                                                                                                    [Stack]

                                                                                                    • Max Depth = 4
                                                                                                    • Call Chain = hrtim_max_duty_ticks +

                                                                                                      hrtim_max_duty_ticks (Thumb, 92 bytes, Stack size 16 bytes, dcdc.o(.text.hrtim_max_duty_ticks)) +

                                                                                                      [Stack]

                                                                                                      • Max Depth = 88
                                                                                                      • Call Chain = hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod
                                                                                                      -
                                                                                                      [Called By]
                                                                                                      • >>   hrtim1_set_duty -
                                                                                                      • >>   hrtim1_timer_c_init -
                                                                                                      • >>   DCDC_ControlStep +
                                                                                                        [Calls]
                                                                                                        • >>   permille_to_ticks +
                                                                                                        • >>   clamp_u32 +
                                                                                                        +
                                                                                                        [Called By]
                                                                                                        • >>   DCDC_ControlStep +
                                                                                                        • >>   hrtim1_set_duty +
                                                                                                        • >>   hrtim1_timer_c_init
                                                                                                        -

                                                                                                        latch_fault (Thumb, 74 bytes, Stack size 16 bytes, dcdc.o(.text.latch_fault)) -

                                                                                                        [Stack]

                                                                                                        • Max Depth = 36
                                                                                                        • Call Chain = latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks +

                                                                                                          hrtim1_apply_pwm_config (Thumb, 142 bytes, Stack size 40 bytes, dcdc.o(.text.hrtim1_apply_pwm_config)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 120
                                                                                                          • Call Chain = hrtim1_apply_pwm_config ⇒ hrtim_period_from_frequency ⇒ __aeabi_uldivmod
                                                                                                          -
                                                                                                          [Calls]
                                                                                                          • >>   hrtim1_set_duty -
                                                                                                          • >>   hrtim1_outputs_enable -
                                                                                                          • >>   set_usbpd_input_switch +
                                                                                                            [Calls]
                                                                                                            • >>   clamp_u32 +
                                                                                                            • >>   hrtim_period_from_frequency
                                                                                                            -
                                                                                                            [Called By]
                                                                                                            • >>   DCDC_ControlStep +
                                                                                                              [Called By]
                                                                                                              • >>   DCDC_ApplyRuntimeConfig +
                                                                                                              • >>   DCDC_StartPwmTest +
                                                                                                              • >>   DCDC_Start +
                                                                                                              • >>   hrtim1_timer_c_init
                                                                                                              -

                                                                                                              hrtim1_set_duty (Thumb, 76 bytes, Stack size 16 bytes, dcdc.o(.text.hrtim1_set_duty)) -

                                                                                                              [Stack]

                                                                                                              • Max Depth = 20
                                                                                                              • Call Chain = hrtim1_set_duty ⇒ hrtim_max_duty_ticks +

                                                                                                                latch_fault (Thumb, 74 bytes, Stack size 16 bytes, dcdc.o(.text.latch_fault)) +

                                                                                                                [Stack]

                                                                                                                • Max Depth = 120
                                                                                                                • Call Chain = latch_fault ⇒ hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod
                                                                                                                -
                                                                                                                [Calls]
                                                                                                                • >>   hrtim_max_duty_ticks +
                                                                                                                  [Calls]
                                                                                                                  • >>   hrtim1_set_duty +
                                                                                                                  • >>   hrtim1_outputs_enable +
                                                                                                                  • >>   set_usbpd_input_switch
                                                                                                                  -
                                                                                                                  [Called By]
                                                                                                                  • >>   latch_fault -
                                                                                                                  • >>   DCDC_ControlStep +
                                                                                                                    [Called By]
                                                                                                                    • >>   DCDC_ControlStep +
                                                                                                                    • >>   DCDC_StartPwmTest +
                                                                                                                    • >>   DCDC_Start
                                                                                                                    -

                                                                                                                    adc1_read_channel (Thumb, 74 bytes, Stack size 4 bytes, dcdc.o(.text.adc1_read_channel)) +

                                                                                                                    hrtim1_set_duty (Thumb, 76 bytes, Stack size 16 bytes, dcdc.o(.text.hrtim1_set_duty)) +

                                                                                                                    [Stack]

                                                                                                                    • Max Depth = 104
                                                                                                                    • Call Chain = hrtim1_set_duty ⇒ hrtim_max_duty_ticks ⇒ permille_to_ticks ⇒ __aeabi_uldivmod +
                                                                                                                    +
                                                                                                                    [Calls]
                                                                                                                    • >>   hrtim_max_duty_ticks +
                                                                                                                    +
                                                                                                                    [Called By]
                                                                                                                    • >>   DCDC_ControlStep +
                                                                                                                    • >>   DCDC_ApplyRuntimeConfig +
                                                                                                                    • >>   DCDC_Stop +
                                                                                                                    • >>   DCDC_StartPwmTest +
                                                                                                                    • >>   DCDC_Start +
                                                                                                                    • >>   latch_fault +
                                                                                                                    + +

                                                                                                                    clamp_u32 (Thumb, 52 bytes, Stack size 16 bytes, dcdc.o(.text.clamp_u32)) +

                                                                                                                    [Stack]

                                                                                                                    • Max Depth = 16
                                                                                                                    • Call Chain = clamp_u32 +
                                                                                                                    +
                                                                                                                    [Called By]
                                                                                                                    • >>   permille_to_ticks +
                                                                                                                    • >>   hrtim1_apply_pwm_config +
                                                                                                                    • >>   hrtim_max_duty_ticks +
                                                                                                                    + +

                                                                                                                    permille_to_ticks (Thumb, 52 bytes, Stack size 24 bytes, dcdc.o(.text.permille_to_ticks)) +

                                                                                                                    [Stack]

                                                                                                                    • Max Depth = 72
                                                                                                                    • Call Chain = permille_to_ticks ⇒ __aeabi_uldivmod +
                                                                                                                    +
                                                                                                                    [Calls]
                                                                                                                    • >>   __aeabi_uldivmod +
                                                                                                                    • >>   clamp_u32 +
                                                                                                                    +
                                                                                                                    [Called By]
                                                                                                                    • >>   DCDC_ApplyRuntimeConfig +
                                                                                                                    • >>   DCDC_StartPwmTest +
                                                                                                                    • >>   hrtim_max_duty_ticks +
                                                                                                                    + +

                                                                                                                    adc1_read_channel (Thumb, 74 bytes, Stack size 4 bytes, dcdc.o(.text.adc1_read_channel))

                                                                                                                    [Stack]

                                                                                                                    • Max Depth = 4
                                                                                                                    • Call Chain = adc1_read_channel
                                                                                                                    -
                                                                                                                    [Called By]
                                                                                                                    • >>   DCDC_ReadMeasurements +
                                                                                                                      [Called By]
                                                                                                                      • >>   DCDC_ReadMeasurements
                                                                                                                      -

                                                                                                                      adc_raw_to_mv (Thumb, 32 bytes, Stack size 4 bytes, dcdc.o(.text.adc_raw_to_mv)) +

                                                                                                                      adc_raw_to_mv (Thumb, 32 bytes, Stack size 4 bytes, dcdc.o(.text.adc_raw_to_mv))

                                                                                                                      [Stack]

                                                                                                                      • Max Depth = 4
                                                                                                                      • Call Chain = adc_raw_to_mv
                                                                                                                      -
                                                                                                                      [Called By]
                                                                                                                      • >>   DCDC_ReadMeasurements +
                                                                                                                        [Called By]
                                                                                                                        • >>   DCDC_ReadMeasurements
                                                                                                                        -

                                                                                                                        sense_mv_to_voltage_mv (Thumb, 34 bytes, Stack size 16 bytes, dcdc.o(.text.sense_mv_to_voltage_mv)) +

                                                                                                                        sense_mv_to_voltage_mv (Thumb, 34 bytes, Stack size 16 bytes, dcdc.o(.text.sense_mv_to_voltage_mv))

                                                                                                                        [Stack]

                                                                                                                        • Max Depth = 64
                                                                                                                        • Call Chain = sense_mv_to_voltage_mv ⇒ __aeabi_uldivmod
                                                                                                                        -
                                                                                                                        [Calls]
                                                                                                                        • >>   __aeabi_uldivmod +
                                                                                                                          [Calls]
                                                                                                                          • >>   __aeabi_uldivmod
                                                                                                                          -
                                                                                                                          [Called By]
                                                                                                                          • >>   DCDC_ReadMeasurements +
                                                                                                                            [Called By]
                                                                                                                            • >>   DCDC_ReadMeasurements
                                                                                                                            -

                                                                                                                            sense_mv_to_current_ma (Thumb, 30 bytes, Stack size 4 bytes, dcdc.o(.text.sense_mv_to_current_ma)) +

                                                                                                                            sense_mv_to_current_ma (Thumb, 30 bytes, Stack size 4 bytes, dcdc.o(.text.sense_mv_to_current_ma))

                                                                                                                            [Stack]

                                                                                                                            • Max Depth = 4
                                                                                                                            • Call Chain = sense_mv_to_current_ma
                                                                                                                            -
                                                                                                                            [Called By]
                                                                                                                            • >>   DCDC_ReadMeasurements +
                                                                                                                              [Called By]
                                                                                                                              • >>   DCDC_ReadMeasurements
                                                                                                                              -

                                                                                                                              gpio_pc10_pc11_to_usart3 (Thumb, 116 bytes, Stack size 0 bytes, retarget.o(.text.gpio_pc10_pc11_to_usart3)) -

                                                                                                                              [Called By]

                                                                                                                              • >>   Retarget_Init +

                                                                                                                                gpio_pc10_pc11_to_usart3 (Thumb, 116 bytes, Stack size 0 bytes, retarget.o(.text.gpio_pc10_pc11_to_usart3)) +

                                                                                                                                [Called By]

                                                                                                                                • >>   Retarget_Init

                                                                                                                                _fp_digits (Thumb, 432 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text)) diff --git a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC_B-G474E-DPOW1_DCDC.dep b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC_B-G474E-DPOW1_DCDC.dep index 5f2147e..17d72ae 100644 --- a/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC_B-G474E-DPOW1_DCDC.dep +++ b/B-G474E-DPOW1_Keil/Objects/B-G474E-DPOW1_DCDC_B-G474E-DPOW1_DCDC.dep @@ -1,30 +1,30 @@ Dependencies for Project 'B-G474E-DPOW1_DCDC', Target 'B-G474E-DPOW1_DCDC': (DO NOT MODIFY !) CompilerVersion: 6220000::V6.22::ARMCLANG F (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\arm\startup_stm32g474xx.s)(0x65DDA5FC)(--target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -IC:/Keil_v5_41/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 541" -Wa,armasm,--pd,"STM32G474xx SETA 1" -o objects/startup_stm32g474xx.o) -F (Core\Src\main.c)(0x6A11BEDB)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I Core/Inc -I C:/Keil_v5/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -I C:/Keil_v5/ARM/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Keil_v5_41/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -D__UVISION_VERSION="541" -DSTM32G474xx -DSTM32G474xx -o objects/main.o -MMD) -I (Core\Inc\app_config.h)(0x6A11BECA) +F (Core\Src\main.c)(0x6A11CA4D)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I Core/Inc -I C:/Keil_v5/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -I C:/Keil_v5/ARM/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Keil_v5_41/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -D__UVISION_VERSION="541" -DSTM32G474xx -DSTM32G474xx -o objects/main.o -MMD) +I (Core\Inc\app_config.h)(0x6A11CA6B) I (Core\Inc\board.h)(0x6A1198E7) -I (Core\Inc\dcdc.h)(0x6A11BECE) +I (Core\Inc\dcdc.h)(0x6A11C9CD) I (Core\Inc\retarget.h)(0x6A1198E7) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g474xx.h)(0x65DDA5FC) I (C:\Keil_v5\ARM\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm4.h)(0x664C1ED8) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h)(0x65DDA5FC) F (Core\Src\board.c)(0x6A11B765)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I Core/Inc -I C:/Keil_v5/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -I C:/Keil_v5/ARM/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Keil_v5_41/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -D__UVISION_VERSION="541" -DSTM32G474xx -DSTM32G474xx -o objects/board.o -MMD) I (Core\Inc\board.h)(0x6A1198E7) -I (Core\Inc\app_config.h)(0x6A11BECA) +I (Core\Inc\app_config.h)(0x6A11CA6B) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g474xx.h)(0x65DDA5FC) I (C:\Keil_v5\ARM\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm4.h)(0x664C1ED8) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h)(0x65DDA5FC) -F (Core\Src\dcdc.c)(0x6A11BED2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I Core/Inc -I C:/Keil_v5/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -I C:/Keil_v5/ARM/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Keil_v5_41/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -D__UVISION_VERSION="541" -DSTM32G474xx -DSTM32G474xx -o objects/dcdc.o -MMD) -I (Core\Inc\dcdc.h)(0x6A11BECE) -I (Core\Inc\app_config.h)(0x6A11BECA) +F (Core\Src\dcdc.c)(0x6A11CA88)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I Core/Inc -I C:/Keil_v5/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -I C:/Keil_v5/ARM/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Keil_v5_41/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -D__UVISION_VERSION="541" -DSTM32G474xx -DSTM32G474xx -o objects/dcdc.o -MMD) +I (Core\Inc\dcdc.h)(0x6A11C9CD) +I (Core\Inc\app_config.h)(0x6A11CA6B) I (Core\Inc\board.h)(0x6A1198E7) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g474xx.h)(0x65DDA5FC) I (C:\Keil_v5\ARM\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm4.h)(0x664C1ED8) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h)(0x65DDA5FC) F (Core\Src\retarget.c)(0x6A11B63D)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I Core/Inc -I C:/Keil_v5/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -I C:/Keil_v5/ARM/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Keil_v5_41/ARM/Packs/Keil/STM32G4xx_DFP/1.6.0/Drivers/CMSIS/Device/ST/STM32G4xx/Include -D__UVISION_VERSION="541" -DSTM32G474xx -DSTM32G474xx -o objects/retarget.o -MMD) I (Core\Inc\retarget.h)(0x6A1198E7) -I (Core\Inc\app_config.h)(0x6A11BECA) +I (Core\Inc\app_config.h)(0x6A11CA6B) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g474xx.h)(0x65DDA5FC) I (C:\Keil_v5\ARM\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm4.h)(0x664C1ED8) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h)(0x65DDA5FC) @@ -32,4 +32,4 @@ F (Core\Src\system_stm32g4xx.c)(0x6A1198E7)(-xc -std=c99 --target=arm-arm-none-e I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g474xx.h)(0x65DDA5FC) I (C:\Keil_v5\ARM\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm4.h)(0x664C1ED8) I (C:\Keil_v5\ARM\Packs\Keil\STM32G4xx_DFP\1.6.0\Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h)(0x65DDA5FC) -I (Core\Inc\app_config.h)(0x6A11BECA) +I (Core\Inc\app_config.h)(0x6A11CA6B) diff --git a/B-G474E-DPOW1_Keil/Objects/dcdc.o b/B-G474E-DPOW1_Keil/Objects/dcdc.o index 80573fd..6d6f882 100644 Binary files a/B-G474E-DPOW1_Keil/Objects/dcdc.o and b/B-G474E-DPOW1_Keil/Objects/dcdc.o differ diff --git a/B-G474E-DPOW1_Keil/Objects/main.o b/B-G474E-DPOW1_Keil/Objects/main.o index f09fb19..00dd099 100644 Binary files a/B-G474E-DPOW1_Keil/Objects/main.o and b/B-G474E-DPOW1_Keil/Objects/main.o differ diff --git a/B-G474E-DPOW1_Keil/rebuild_541.log b/B-G474E-DPOW1_Keil/rebuild_541.log index 3a9778e..26f3fa2 100644 --- a/B-G474E-DPOW1_Keil/rebuild_541.log +++ b/B-G474E-DPOW1_Keil/rebuild_541.log @@ -1,13 +1,13 @@ *** Using Compiler 'V6.22', folder: 'C:\Keil_v5_41\ARM\ARMCLANG\Bin' Rebuild target 'B-G474E-DPOW1_DCDC' compiling retarget.c... +compiling board.c... +assembling startup_stm32g474xx.s... compiling main.c... compiling system_stm32g4xx.c... compiling dcdc.c... -assembling startup_stm32g474xx.s... -compiling board.c... linking... -Program Size: Code=11224 RO-data=1476 RW-data=12 ZI-data=1740 +Program Size: Code=12356 RO-data=1664 RW-data=76 ZI-data=1740 FromELF: creating hex file... "Objects\B-G474E-DPOW1_DCDC.axf" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:00:01