проект запущен шим идет, нужно запустить с пид регулятором вывести все измерения в структуру

This commit is contained in:
2026-05-23 19:07:50 +03:00
parent b85718ccf2
commit 223841301e
16 changed files with 2066 additions and 1319 deletions

File diff suppressed because one or more lines are too long

View File

@@ -148,46 +148,13 @@
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0STM32G47x-8x_512 -FS08000000 -FL080000 -FP0($$Device:STM32G474RETx$CMSIS\Flash\STM32G47x-8x_512.FLM))</Name> <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0STM32G47x-8x_512 -FS08000000 -FL080000 -FP0($$Device:STM32G474RETx$CMSIS\Flash\STM32G47x-8x_512.FLM))</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint> <Breakpoint/>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>12</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>Core\Src\board.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>24</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>Core\Src\main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<Tracepoint> <Tracepoint>
<THDelay>0</THDelay> <THDelay>0</THDelay>
</Tracepoint> </Tracepoint>
<DebugFlag> <DebugFlag>
<trace>0</trace> <trace>0</trace>
<periodic>0</periodic> <periodic>1</periodic>
<aLwin>1</aLwin> <aLwin>1</aLwin>
<aCover>0</aCover> <aCover>0</aCover>
<aSer1>0</aSer1> <aSer1>0</aSer1>
@@ -224,6 +191,16 @@
<pszMrulep></pszMrulep> <pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp> <pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp> <pMultCmdsp></pMultCmdsp>
<SystemViewers>
<Entry>
<Name>System Viewer\GPIOB</Name>
<WinId>35905</WinId>
</Entry>
<Entry>
<Name>System Viewer\HRTIM_TIMA</Name>
<WinId>35904</WinId>
</Entry>
</SystemViewers>
<DebugDescription> <DebugDescription>
<Enable>1</Enable> <Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq> <EnableFlashSeq>0</EnableFlashSeq>

View File

@@ -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.

View File

@@ -4,76 +4,84 @@
#include <stdint.h> #include <stdint.h>
/* /*
* B-G474E-DPOW1 quick configuration. ## B-G474E-DPOW1 build-time defaults
*
* SAFETY: These macros are now **boot defaults**. Runtime values live in
* - The project configures the buck half-bridge on PB12/PB13. `g_dcdc_config` and can be edited while the firmware is running.
* - Keep DCDC_POWER_STAGE_ENABLE at 0 until VIN, load and oscilloscope
* probes are ready. With 0 the firmware prints ADC values and prepares ### Safety
* HRTIM, but does not enable HRTIM outputs.
* - If VIN comes from USB-C/USB-PD through JP1, set - `DCDC_POWER_STAGE_ENABLE = 0` keeps the real closed-loop power stage off.
* DCDC_CONNECT_USBPD_INPUT to 1 only after checking the board jumpers. - `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_POWER_STAGE_ENABLE 0U
#define DCDC_PWM_TEST_ENABLE 1U
#define DCDC_GPIO_PIN_TEST_ENABLE 0U
#define DCDC_CONNECT_USBPD_INPUT 0U #define DCDC_CONNECT_USBPD_INPUT 0U
/* /*
* Clock startup. ## Clock startup
* 0 = safest rescue mode: run directly from HSI16, no PLL switch.
* 1 = normal performance mode: HSI16 -> PLL -> 170 MHz. - `0`: rescue mode, direct HSI16, no PLL switch.
* - `1`: normal 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.
*/
#define CLOCK_USE_PLL_170MHZ 1U #define CLOCK_USE_PLL_170MHZ 1U
#define SYSCLK_HZ 170000000UL #define SYSCLK_HZ 170000000UL
#define HSI16_HZ 16000000UL #define HSI16_HZ 16000000UL
#define USART3_BAUDRATE 115200UL #define USART3_BAUDRATE 115200UL
#define DEBUG_ATTACH_DELAY_LOOPS 8000000UL
/* /*
* HRTIM Timer C drives the onboard buck leg: ## HRTIM Timer C defaults
* PB12 = BUCKBOOST_P1_DRIVE = HRTIM1_CHC1, high-side buck MOSFET
* PB13 = BUCKBOOST_N1_DRIVE = HRTIM1_CHC2, low-side buck MOSFET - `PB12`: `HRTIM1_CHC1`
* - `PB13`: `HRTIM1_CHC2`
* fHRCK = fHRTIM * 32. The firmware calculates the actual period from - `fHRCK = fHRTIM * 32`
* SystemCoreClock, so rescue HSI16 mode still works.
*/ 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_HRTIM_PERIOD_TICKS 27200U
#define DCDC_PWM_FREQUENCY_HZ 200000UL #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_MIN_DUTY_TICKS 0U
#define DCDC_MAX_DUTY_TICKS 24000U #define DCDC_MAX_DUTY_TICKS 24000U
#define DCDC_START_DUTY_TICKS 400U #define DCDC_START_DUTY_TICKS 400U
/* /*
* Dead-time values are expressed in HRTIM dead-time ticks. ## Closed-loop dead-time defaults
* They are intentionally conservative starter values; verify PB12/PB13
* with an oscilloscope before enabling the power stage. 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_RISING_TICKS 110U
#define DCDC_DEADTIME_FALLING_TICKS 350U #define DCDC_DEADTIME_FALLING_TICKS 350U
/* /*
* ADC measurement pins on B-G474E-DPOW1: ## ADC measurement defaults
* PA1 = BUCKBOOST_VIN (ADC1_IN2)
* PA2 = BUCKBOOST_I_IN_AVG (ADC1_IN3) - `PA1 / ADC1_IN2`: `BUCKBOOST_VIN`
* PA3 = BUCKBOOST_VOUT (ADC1_IN4) - `PA2 / ADC1_IN3`: `BUCKBOOST_I_IN_AVG`
* - `PA3 / ADC1_IN4`: `BUCKBOOST_VOUT`
* ST X-CUBE-DPower reference values for this board use:
* Vout_Scaling = 0.198795180 -> ADC pin voltage = VOUT * 0.198795180 Scaling starts from ST X-CUBE-DPower board values and can be adjusted after
* Iin_Scaling = 0.721543408 -> ADC pin voltage = IIN * 0.721543408 V/A multimeter comparison.
* */
* 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.
*/
#define ADC_REFERENCE_MV 3300U #define ADC_REFERENCE_MV 3300U
#define ADC_FULL_SCALE_COUNTS 4095U #define ADC_FULL_SCALE_COUNTS 4095U
#define DCDC_VOUT_SCALE_PPM 198795UL #define DCDC_VOUT_SCALE_PPM 198795UL
#define DCDC_VIN_SCALE_PPM 198795UL #define DCDC_VIN_SCALE_PPM 198795UL
#define DCDC_IIN_UV_PER_MA 721UL #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_TARGET_VOUT_MV 3300U
#define DCDC_MIN_VIN_MV 4500U #define DCDC_MIN_VIN_MV 4500U
#define DCDC_MAX_VOUT_MV 3800U #define DCDC_MAX_VOUT_MV 3800U
@@ -81,10 +89,14 @@
#define DCDC_HARD_INPUT_CURRENT_MA 450U #define DCDC_HARD_INPUT_CURRENT_MA 450U
/* /*
* Simple voltage loop gains for the starter firmware. ## Starter loop gains
* Duty command = feed-forward + proportional + integral - current limiting.
* Tune these gently with a current-limited supply and a scope. 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_KP_TICKS_PER_100MV 90
#define DCDC_KI_TICKS_PER_100MV 3 #define DCDC_KI_TICKS_PER_100MV 3
#define DCDC_CURRENT_LIMIT_KP 60 #define DCDC_CURRENT_LIMIT_KP 60

View File

@@ -4,6 +4,63 @@
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
/*
## 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 typedef struct
{ {
uint16_t vin_raw; uint16_t vin_raw;
@@ -18,6 +75,7 @@ typedef enum
{ {
DCDC_STATE_STOPPED = 0, DCDC_STATE_STOPPED = 0,
DCDC_STATE_READY, DCDC_STATE_READY,
DCDC_STATE_PWM_TEST,
DCDC_STATE_RUNNING, DCDC_STATE_RUNNING,
DCDC_STATE_FAULT DCDC_STATE_FAULT
} DCDC_State; } DCDC_State;
@@ -31,17 +89,24 @@ typedef enum
DCDC_FAULT_HRTIM DCDC_FAULT_HRTIM
} DCDC_Fault; } DCDC_Fault;
extern volatile DCDC_RuntimeConfig g_dcdc_config;
void DCDC_Init(void); void DCDC_Init(void);
void DCDC_Start(void); void DCDC_Start(void);
void DCDC_StartPwmTest(void);
void DCDC_Stop(void); void DCDC_Stop(void);
void DCDC_Service1ms(void);
void DCDC_ApplyRuntimeConfig(void);
void DCDC_ControlStep(void); void DCDC_ControlStep(void);
void DCDC_ReadMeasurements(DCDC_Measurements *out); void DCDC_ReadMeasurements(DCDC_Measurements *out);
DCDC_Mode DCDC_GetMode(void);
DCDC_State DCDC_GetState(void); DCDC_State DCDC_GetState(void);
DCDC_Fault DCDC_GetFault(void); DCDC_Fault DCDC_GetFault(void);
bool DCDC_IsHrtimReady(void); bool DCDC_IsHrtimReady(void);
uint32_t DCDC_GetDutyTicks(void); uint32_t DCDC_GetDutyTicks(void);
uint32_t DCDC_GetPeriodTicks(void); uint32_t DCDC_GetPeriodTicks(void);
const char *DCDC_ModeText(DCDC_Mode mode);
const char *DCDC_StateText(DCDC_State state); const char *DCDC_StateText(DCDC_State state);
const char *DCDC_FaultText(DCDC_Fault fault); const char *DCDC_FaultText(DCDC_Fault fault);

View File

@@ -7,6 +7,48 @@
#define HRTIM_TIMER_C_INDEX 2U #define HRTIM_TIMER_C_INDEX 2U
#define ADC_SAMPLE_TIME_47CYCLES 5U #define ADC_SAMPLE_TIME_47CYCLES 5U
#define HRTIM_DLL_READY_TIMEOUT 1000000UL #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_State s_state = DCDC_STATE_STOPPED;
static DCDC_Fault s_fault = DCDC_FAULT_NONE; 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 bool hrtim1_wait_dll_ready(void);
static void hrtim1_outputs_enable(bool enable); static void hrtim1_outputs_enable(bool enable);
static void hrtim1_set_duty(uint32_t duty_ticks); 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 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 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_voltage_mv(uint32_t sense_mv, uint32_t scale_ppm);
static uint32_t sense_mv_to_current_ma(uint32_t sense_mv); static uint32_t sense_mv_to_current_ma(uint32_t sense_mv);
@@ -61,17 +106,46 @@ void DCDC_Start(void)
return; return;
} }
#if DCDC_CONNECT_USBPD_INPUT set_usbpd_input_switch(g_dcdc_config.connect_usbpd_input != 0U);
set_usbpd_input_switch(true);
#endif
s_integrator_ticks = 0; s_integrator_ticks = 0;
hrtim1_apply_pwm_config();
hrtim1_set_duty(DCDC_START_DUTY_TICKS); hrtim1_set_duty(DCDC_START_DUTY_TICKS);
HRTIM1->sMasterRegs.MCR |= HRTIM_MCR_TCCEN; HRTIM1->sMasterRegs.MCR |= HRTIM_MCR_TCCEN;
hrtim1_outputs_enable(true); hrtim1_outputs_enable(true);
s_state = DCDC_STATE_RUNNING; 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) void DCDC_Stop(void)
{ {
hrtim1_outputs_enable(false); hrtim1_outputs_enable(false);
@@ -81,6 +155,59 @@ void DCDC_Stop(void)
s_state = DCDC_STATE_STOPPED; 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) void DCDC_ControlStep(void)
{ {
DCDC_Measurements m; DCDC_Measurements m;
@@ -95,19 +222,19 @@ void DCDC_ControlStep(void)
return; 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); latch_fault(DCDC_FAULT_UNDERVOLTAGE);
return; 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); latch_fault(DCDC_FAULT_OVERVOLTAGE);
return; 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); latch_fault(DCDC_FAULT_OVERCURRENT);
return; return;
@@ -121,10 +248,10 @@ void DCDC_ControlStep(void)
* *
* This is deliberately readable, not a final compensated SMPS loop. * 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); feed_forward = (int32_t)(((uint64_t)g_dcdc_config.limits.target_vout_mv * s_period_ticks) / m.vin_mv);
error_mv = (int32_t)DCDC_TARGET_VOUT_MV - (int32_t)m.vout_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) if (s_integrator_ticks > 3000)
{ {
s_integrator_ticks = 3000; s_integrator_ticks = 3000;
@@ -135,12 +262,13 @@ void DCDC_ControlStep(void)
} }
duty = feed_forward + 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; 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) 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); 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) DCDC_State DCDC_GetState(void)
{ {
return s_state; return s_state;
@@ -205,12 +347,24 @@ const char *DCDC_StateText(DCDC_State state)
{ {
case DCDC_STATE_STOPPED: return "stopped"; case DCDC_STATE_STOPPED: return "stopped";
case DCDC_STATE_READY: return "ready"; case DCDC_STATE_READY: return "ready";
case DCDC_STATE_PWM_TEST:return "pwm-test";
case DCDC_STATE_RUNNING: return "running"; case DCDC_STATE_RUNNING: return "running";
case DCDC_STATE_FAULT: return "fault"; case DCDC_STATE_FAULT: return "fault";
default: return "unknown"; 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) const char *DCDC_FaultText(DCDC_Fault fault)
{ {
switch (fault) switch (fault)
@@ -303,9 +457,11 @@ static bool hrtim1_timer_c_init(void)
RCC->APB2ENR |= RCC_APB2ENR_HRTIM1EN; RCC->APB2ENR |= RCC_APB2ENR_HRTIM1EN;
(void)RCC->APB2ENR; (void)RCC->APB2ENR;
RCC->APB2RSTR |= RCC_APB2RSTR_HRTIM1RST;
RCC->APB2RSTR &= ~RCC_APB2RSTR_HRTIM1RST;
HRTIM1->sCommonRegs.ODISR = HRTIM_ODISR_TC1ODIS | HRTIM_ODISR_TC2ODIS; 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.ICR = HRTIM_ICR_DLLRDYC;
HRTIM1->sCommonRegs.DLLCR = HRTIM_DLLCR_CALEN | HRTIM1->sCommonRegs.DLLCR = HRTIM_DLLCR_CALEN |
@@ -326,11 +482,18 @@ static bool hrtim1_timer_c_init(void)
timer->CMP2xR = hrtim_max_duty_ticks(); timer->CMP2xR = hrtim_max_duty_ticks();
timer->CMP3xR = 1000U; timer->CMP3xR = 1000U;
timer->DTxR = #if DCDC_PWM_TEST_ENABLE
((DCDC_DEADTIME_RISING_TICKS & 0x1FFUL) << HRTIM_DTR_DTR_Pos) | /*
((DCDC_DEADTIME_FALLING_TICKS & 0x1FFUL) << HRTIM_DTR_DTF_Pos) | * Complementary HRTIM test without dead-time/fault handling:
(HRTIM_DTR_DTPRSC_1 | HRTIM_DTR_DTPRSC_0); * 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: * Complementary buck PWM:
* CHC1 goes active at period event and inactive at CMP1. * 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->SETx2R = HRTIM_SET2R_CMP1;
timer->RSTx2R = HRTIM_RST2R_PER; timer->RSTx2R = HRTIM_RST2R_PER;
timer->OUTxR = HRTIM_OUTR_DTEN | HRTIM_OUTR_FAULT1_1 | HRTIM_OUTR_FAULT2_1; 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. */ /* Trigger point for future synchronized ADC sampling. */
HRTIM1->sCommonRegs.ADC1R = HRTIM_ADC1R_AD1TCC3; HRTIM1->sCommonRegs.ADC1R = HRTIM_ADC1R_AD1TCC3;
@@ -389,26 +555,64 @@ static void hrtim1_set_duty(uint32_t duty_ticks)
s_duty_ticks = 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)) / uint64_t ticks;
DCDC_PWM_FREQUENCY_HZ;
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; 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) 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)) 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; 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) static uint32_t adc_raw_to_mv(uint16_t raw)
{ {
return ((uint32_t)raw * ADC_REFERENCE_MV) / ADC_FULL_SCALE_COUNTS; return ((uint32_t)raw * ADC_REFERENCE_MV) / ADC_FULL_SCALE_COUNTS;

View File

@@ -6,20 +6,29 @@
#include "retarget.h" #include "retarget.h"
#include "stm32g474xx.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) int main(void)
{ {
uint32_t last_control_ms = 0U; uint32_t last_control_ms = 0U;
uint32_t last_print_ms = 0U; uint32_t last_print_ms = 0U;
volatile uint32_t debug_attach_delay; #if DCDC_GPIO_PIN_TEST_ENABLE
uint32_t last_gpio_test_ms = 0U;
/* bool gpio_test_phase = false;
* Short rescue window after reset. It lets ST-LINK attach before the #endif
* firmware reconfigures clocks and power peripherals.
*/
for (debug_attach_delay = 0U; debug_attach_delay < DEBUG_ATTACH_DELAY_LOOPS; debug_attach_delay++)
{
__NOP();
}
Board_Init(); Board_Init();
Retarget_Init(USART3_BAUDRATE); Retarget_Init(USART3_BAUDRATE);
@@ -32,23 +41,40 @@ int main(void)
(unsigned long)DCDC_PWM_FREQUENCY_HZ, (unsigned long)DCDC_PWM_FREQUENCY_HZ,
(unsigned long)DCDC_GetPeriodTicks()); (unsigned long)DCDC_GetPeriodTicks());
printf("HRTIM DLL: %s\n", DCDC_IsHrtimReady() ? "ready" : "not ready"); 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 #if DCDC_GPIO_PIN_TEST_ENABLE
printf("Power stage: ENABLED. Check VIN/current limit before flashing.\n"); printf("GPIO pin test: PB12/PB13 toggle as ordinary outputs.\n");
DCDC_Start(); GpioPinTest_Init();
#else #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 #endif
while (1) while (1)
{ {
uint32_t now = Board_Millis(); 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) if ((now - last_control_ms) >= 1U)
{ {
last_control_ms = now; last_control_ms = now;
DCDC_ControlStep(); DCDC_Service1ms();
} }
#endif
if ((now - last_print_ms) >= 500U) if ((now - last_print_ms) >= 500U)
{ {
@@ -56,7 +82,8 @@ int main(void)
last_print_ms = now; last_print_ms = now;
DCDC_ReadMeasurements(&m); 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_StateText(DCDC_GetState()),
DCDC_FaultText(DCDC_GetFault()), DCDC_FaultText(DCDC_GetFault()),
DCDC_IsHrtimReady() ? "ready" : "not-ready", DCDC_IsHrtimReady() ? "ready" : "not-ready",
@@ -64,7 +91,37 @@ int main(void)
(unsigned long)m.iin_ma, (unsigned long)m.iin_ma,
(unsigned long)m.vout_mv, (unsigned long)m.vout_mv,
(unsigned long)DCDC_GetDutyTicks(), (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

View File

@@ -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 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_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_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 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_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_GetState) for DCDC_GetState
main.o(.text.main) refers to dcdc.o(.text.DCDC_StateText) for DCDC_StateText 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(.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(.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(.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(.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.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.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_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(.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_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(.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(.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(.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_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(.text.hrtim1_outputs_enable) for hrtim1_outputs_enable
dcdc.o(.text.DCDC_Start) refers to dcdc.o(.bss.s_state) for s_state 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_fault) for s_fault
dcdc.o(.text.latch_fault) refers to dcdc.o(.bss.s_state) for s_state 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(.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(.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(.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(.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_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.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(.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(.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(.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(.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(.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(.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 dcdc.o(.data.s_period_ticks) for s_period_ticks
dcdc.o(.text.DCDC_ControlStep) refers to lludivv7m.o(.text) for __aeabi_uldivmod 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_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(.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(.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(.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.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] 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(.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(.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(.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(.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_frequency) 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(.text.hrtim_period_from_frequency) 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(.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.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) 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 (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 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.adc1_init), (8 bytes).
Removing dcdc.o(.ARM.exidx.text.hrtim1_timer_c_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(.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.DCDC_Start), (8 bytes).
Removing dcdc.o(.ARM.exidx.text.latch_fault), (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(.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_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_ControlStep), (8 bytes).
Removing dcdc.o(.ARM.exidx.text.DCDC_ReadMeasurements), (8 bytes). Removing dcdc.o(.ARM.exidx.text.DCDC_ReadMeasurements), (8 bytes).
Removing dcdc.o(.ARM.exidx.text.hrtim_max_duty_ticks), (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_GetDutyTicks), (8 bytes).
Removing dcdc.o(.ARM.exidx.text.DCDC_GetPeriodTicks), (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_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.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.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(.text), (0 bytes).
Removing retarget.o(.ARM.exidx.text.Retarget_Init), (8 bytes). Removing retarget.o(.ARM.exidx.text.Retarget_Init), (8 bytes).
Removing retarget.o(.ARM.exidx.text.gpio_pc10_pc11_to_usart3), (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(.ARM.exidx.text.SystemCoreClockUpdate), (8 bytes).
Removing system_stm32g4xx.o(.rodata.APBPrescTable), (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) [Anonymous Symbol] 0x080015dc Section 0 board.o(.text.Board_Millis)
Clock_UseHsi16 0x080015e9 Thumb Code 58 board.o(.text.Clock_UseHsi16) Clock_UseHsi16 0x080015e9 Thumb Code 58 board.o(.text.Clock_UseHsi16)
[Anonymous Symbol] 0x080015e8 Section 0 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] 0x08001624 Section 0 dcdc.o(.text.DCDC_ApplyRuntimeConfig)
[Anonymous Symbol] 0x08001794 Section 0 dcdc.o(.text.DCDC_FaultText) [Anonymous Symbol] 0x08001664 Section 0 dcdc.o(.text.DCDC_ControlStep)
[Anonymous Symbol] 0x08001800 Section 0 dcdc.o(.text.DCDC_GetDutyTicks) [Anonymous Symbol] 0x080017fc Section 0 dcdc.o(.text.DCDC_FaultText)
[Anonymous Symbol] 0x0800180c Section 0 dcdc.o(.text.DCDC_GetFault) [Anonymous Symbol] 0x08001868 Section 0 dcdc.o(.text.DCDC_GetDutyTicks)
[Anonymous Symbol] 0x08001818 Section 0 dcdc.o(.text.DCDC_GetPeriodTicks) [Anonymous Symbol] 0x08001874 Section 0 dcdc.o(.text.DCDC_GetFault)
[Anonymous Symbol] 0x08001824 Section 0 dcdc.o(.text.DCDC_GetState) [Anonymous Symbol] 0x08001880 Section 0 dcdc.o(.text.DCDC_GetMode)
[Anonymous Symbol] 0x08001830 Section 0 dcdc.o(.text.DCDC_Init) [Anonymous Symbol] 0x080018b4 Section 0 dcdc.o(.text.DCDC_GetPeriodTicks)
[Anonymous Symbol] 0x08001880 Section 0 dcdc.o(.text.DCDC_IsHrtimReady) [Anonymous Symbol] 0x080018c0 Section 0 dcdc.o(.text.DCDC_GetState)
[Anonymous Symbol] 0x08001890 Section 0 dcdc.o(.text.DCDC_ReadMeasurements) [Anonymous Symbol] 0x080018cc Section 0 dcdc.o(.text.DCDC_Init)
[Anonymous Symbol] 0x08001900 Section 0 dcdc.o(.text.DCDC_StateText) [Anonymous Symbol] 0x0800191c Section 0 dcdc.o(.text.DCDC_IsHrtimReady)
Flash_SetLatency 0x08001961 Thumb Code 102 board.o(.text.Flash_SetLatency) [Anonymous Symbol] 0x0800192c Section 0 dcdc.o(.text.DCDC_ModeText)
[Anonymous Symbol] 0x08001960 Section 0 board.o(.text.Flash_SetLatency) [Anonymous Symbol] 0x08001984 Section 0 dcdc.o(.text.DCDC_ReadMeasurements)
[Anonymous Symbol] 0x080019c8 Section 0 retarget.o(.text.Retarget_Init) [Anonymous Symbol] 0x080019f4 Section 0 dcdc.o(.text.DCDC_Service1ms)
[Anonymous Symbol] 0x08001a2c Section 0 retarget.o(.text.Retarget_PutChar) [Anonymous Symbol] 0x08001a94 Section 0 dcdc.o(.text.DCDC_Start)
SysTick_Config 0x08001a5d Thumb Code 82 board.o(.text.SysTick_Config) [Anonymous Symbol] 0x08001b10 Section 0 dcdc.o(.text.DCDC_StartPwmTest)
[Anonymous Symbol] 0x08001a5c Section 0 board.o(.text.SysTick_Config) [Anonymous Symbol] 0x08001ba0 Section 0 dcdc.o(.text.DCDC_StateText)
[Anonymous Symbol] 0x08001ab0 Section 0 board.o(.text.SysTick_Handler) [Anonymous Symbol] 0x08001c0c Section 0 dcdc.o(.text.DCDC_Stop)
SystemClock_Config 0x08001ac1 Thumb Code 274 board.o(.text.SystemClock_Config) Flash_SetLatency 0x08001c45 Thumb Code 102 board.o(.text.Flash_SetLatency)
[Anonymous Symbol] 0x08001ac0 Section 0 board.o(.text.SystemClock_Config) [Anonymous Symbol] 0x08001c44 Section 0 board.o(.text.Flash_SetLatency)
[Anonymous Symbol] 0x08001bd4 Section 0 system_stm32g4xx.o(.text.SystemCoreClockUpdate) [Anonymous Symbol] 0x08001cac Section 0 retarget.o(.text.Retarget_Init)
[Anonymous Symbol] 0x08001ca4 Section 0 system_stm32g4xx.o(.text.SystemInit) [Anonymous Symbol] 0x08001d10 Section 0 retarget.o(.text.Retarget_PutChar)
__NVIC_SetPriority 0x08001cc5 Thumb Code 66 board.o(.text.__NVIC_SetPriority) SysTick_Config 0x08001d41 Thumb Code 82 board.o(.text.SysTick_Config)
[Anonymous Symbol] 0x08001cc4 Section 0 board.o(.text.__NVIC_SetPriority) [Anonymous Symbol] 0x08001d40 Section 0 board.o(.text.SysTick_Config)
[Anonymous Symbol] 0x08001d08 Section 0 retarget.o(.text._sys_exit) [Anonymous Symbol] 0x08001d94 Section 0 board.o(.text.SysTick_Handler)
adc1_init 0x08001d15 Thumb Code 166 dcdc.o(.text.adc1_init) SystemClock_Config 0x08001da5 Thumb Code 274 board.o(.text.SystemClock_Config)
[Anonymous Symbol] 0x08001d14 Section 0 dcdc.o(.text.adc1_init) [Anonymous Symbol] 0x08001da4 Section 0 board.o(.text.SystemClock_Config)
adc1_read_channel 0x08001dbd Thumb Code 74 dcdc.o(.text.adc1_read_channel) [Anonymous Symbol] 0x08001eb8 Section 0 system_stm32g4xx.o(.text.SystemCoreClockUpdate)
[Anonymous Symbol] 0x08001dbc Section 0 dcdc.o(.text.adc1_read_channel) [Anonymous Symbol] 0x08001f88 Section 0 system_stm32g4xx.o(.text.SystemInit)
adc_raw_to_mv 0x08001e09 Thumb Code 32 dcdc.o(.text.adc_raw_to_mv) __NVIC_SetPriority 0x08001fa9 Thumb Code 66 board.o(.text.__NVIC_SetPriority)
[Anonymous Symbol] 0x08001e08 Section 0 dcdc.o(.text.adc_raw_to_mv) [Anonymous Symbol] 0x08001fa8 Section 0 board.o(.text.__NVIC_SetPriority)
[Anonymous Symbol] 0x08001e28 Section 0 retarget.o(.text.fputc) [Anonymous Symbol] 0x08001fec Section 0 retarget.o(.text._sys_exit)
gpio_init_for_dcdc 0x08001e51 Thumb Code 228 dcdc.o(.text.gpio_init_for_dcdc) adc1_init 0x08001ff9 Thumb Code 166 dcdc.o(.text.adc1_init)
[Anonymous Symbol] 0x08001e50 Section 0 dcdc.o(.text.gpio_init_for_dcdc) [Anonymous Symbol] 0x08001ff8 Section 0 dcdc.o(.text.adc1_init)
gpio_pc10_pc11_to_usart3 0x08001f35 Thumb Code 116 retarget.o(.text.gpio_pc10_pc11_to_usart3) adc1_read_channel 0x080020a1 Thumb Code 74 dcdc.o(.text.adc1_read_channel)
[Anonymous Symbol] 0x08001f34 Section 0 retarget.o(.text.gpio_pc10_pc11_to_usart3) [Anonymous Symbol] 0x080020a0 Section 0 dcdc.o(.text.adc1_read_channel)
hrtim1_outputs_enable 0x08001fa9 Thumb Code 48 dcdc.o(.text.hrtim1_outputs_enable) adc_raw_to_mv 0x080020ed Thumb Code 32 dcdc.o(.text.adc_raw_to_mv)
[Anonymous Symbol] 0x08001fa8 Section 0 dcdc.o(.text.hrtim1_outputs_enable) [Anonymous Symbol] 0x080020ec Section 0 dcdc.o(.text.adc_raw_to_mv)
hrtim1_set_duty 0x08001fd9 Thumb Code 76 dcdc.o(.text.hrtim1_set_duty) clamp_u32 0x0800210d Thumb Code 52 dcdc.o(.text.clamp_u32)
[Anonymous Symbol] 0x08001fd8 Section 0 dcdc.o(.text.hrtim1_set_duty) [Anonymous Symbol] 0x0800210c Section 0 dcdc.o(.text.clamp_u32)
hrtim1_timer_c_init 0x08002025 Thumb Code 266 dcdc.o(.text.hrtim1_timer_c_init) [Anonymous Symbol] 0x08002140 Section 0 retarget.o(.text.fputc)
[Anonymous Symbol] 0x08002024 Section 0 dcdc.o(.text.hrtim1_timer_c_init) gpio_init_for_dcdc 0x08002169 Thumb Code 228 dcdc.o(.text.gpio_init_for_dcdc)
hrtim1_wait_dll_ready 0x08002131 Thumb Code 76 dcdc.o(.text.hrtim1_wait_dll_ready) [Anonymous Symbol] 0x08002168 Section 0 dcdc.o(.text.gpio_init_for_dcdc)
[Anonymous Symbol] 0x08002130 Section 0 dcdc.o(.text.hrtim1_wait_dll_ready) gpio_pc10_pc11_to_usart3 0x0800224d Thumb Code 116 retarget.o(.text.gpio_pc10_pc11_to_usart3)
hrtim_max_duty_ticks 0x0800217d Thumb Code 66 dcdc.o(.text.hrtim_max_duty_ticks) [Anonymous Symbol] 0x0800224c Section 0 retarget.o(.text.gpio_pc10_pc11_to_usart3)
[Anonymous Symbol] 0x0800217c Section 0 dcdc.o(.text.hrtim_max_duty_ticks) hrtim1_apply_pwm_config 0x080022c1 Thumb Code 142 dcdc.o(.text.hrtim1_apply_pwm_config)
hrtim_period_from_clock 0x080021c1 Thumb Code 122 dcdc.o(.text.hrtim_period_from_clock) [Anonymous Symbol] 0x080022c0 Section 0 dcdc.o(.text.hrtim1_apply_pwm_config)
[Anonymous Symbol] 0x080021c0 Section 0 dcdc.o(.text.hrtim_period_from_clock) hrtim1_outputs_enable 0x08002351 Thumb Code 48 dcdc.o(.text.hrtim1_outputs_enable)
latch_fault 0x0800223d Thumb Code 74 dcdc.o(.text.latch_fault) [Anonymous Symbol] 0x08002350 Section 0 dcdc.o(.text.hrtim1_outputs_enable)
[Anonymous Symbol] 0x0800223c Section 0 dcdc.o(.text.latch_fault) hrtim1_set_duty 0x08002381 Thumb Code 76 dcdc.o(.text.hrtim1_set_duty)
[Anonymous Symbol] 0x08002288 Section 0 main.o(.text.main) [Anonymous Symbol] 0x08002380 Section 0 dcdc.o(.text.hrtim1_set_duty)
sense_mv_to_current_ma 0x080023f5 Thumb Code 30 dcdc.o(.text.sense_mv_to_current_ma) hrtim1_timer_c_init 0x080023cd Thumb Code 290 dcdc.o(.text.hrtim1_timer_c_init)
[Anonymous Symbol] 0x080023f4 Section 0 dcdc.o(.text.sense_mv_to_current_ma) [Anonymous Symbol] 0x080023cc Section 0 dcdc.o(.text.hrtim1_timer_c_init)
sense_mv_to_voltage_mv 0x08002415 Thumb Code 34 dcdc.o(.text.sense_mv_to_voltage_mv) hrtim1_wait_dll_ready 0x080024f1 Thumb Code 76 dcdc.o(.text.hrtim1_wait_dll_ready)
[Anonymous Symbol] 0x08002414 Section 0 dcdc.o(.text.sense_mv_to_voltage_mv) [Anonymous Symbol] 0x080024f0 Section 0 dcdc.o(.text.hrtim1_wait_dll_ready)
set_loads_off 0x08002439 Thumb Code 16 dcdc.o(.text.set_loads_off) hrtim_max_duty_ticks 0x0800253d Thumb Code 92 dcdc.o(.text.hrtim_max_duty_ticks)
[Anonymous Symbol] 0x08002438 Section 0 dcdc.o(.text.set_loads_off) [Anonymous Symbol] 0x0800253c Section 0 dcdc.o(.text.hrtim_max_duty_ticks)
set_usbpd_input_switch 0x08002449 Thumb Code 48 dcdc.o(.text.set_usbpd_input_switch) hrtim_period_from_frequency 0x08002599 Thumb Code 140 dcdc.o(.text.hrtim_period_from_frequency)
[Anonymous Symbol] 0x08002448 Section 0 dcdc.o(.text.set_usbpd_input_switch) [Anonymous Symbol] 0x08002598 Section 0 dcdc.o(.text.hrtim_period_from_frequency)
wait_mask_clear 0x08002479 Thumb Code 74 board.o(.text.wait_mask_clear) latch_fault 0x08002625 Thumb Code 74 dcdc.o(.text.latch_fault)
[Anonymous Symbol] 0x08002478 Section 0 board.o(.text.wait_mask_clear) [Anonymous Symbol] 0x08002624 Section 0 dcdc.o(.text.latch_fault)
wait_mask_set 0x080024c5 Thumb Code 78 board.o(.text.wait_mask_set) [Anonymous Symbol] 0x08002670 Section 0 main.o(.text.main)
[Anonymous Symbol] 0x080024c4 Section 0 board.o(.text.wait_mask_set) permille_to_ticks 0x0800282d Thumb Code 52 dcdc.o(.text.permille_to_ticks)
wait_mask_value 0x08002515 Thumb Code 80 board.o(.text.wait_mask_value) [Anonymous Symbol] 0x0800282c Section 0 dcdc.o(.text.permille_to_ticks)
[Anonymous Symbol] 0x08002514 Section 0 board.o(.text.wait_mask_value) sense_mv_to_current_ma 0x08002861 Thumb Code 30 dcdc.o(.text.sense_mv_to_current_ma)
CL$$btod_d2e 0x08002564 Section 62 btod.o(CL$$btod_d2e) [Anonymous Symbol] 0x08002860 Section 0 dcdc.o(.text.sense_mv_to_current_ma)
CL$$btod_d2e_denorm_low 0x080025a2 Section 70 btod.o(CL$$btod_d2e_denorm_low) sense_mv_to_voltage_mv 0x08002881 Thumb Code 34 dcdc.o(.text.sense_mv_to_voltage_mv)
CL$$btod_d2e_norm_op1 0x080025e8 Section 96 btod.o(CL$$btod_d2e_norm_op1) [Anonymous Symbol] 0x08002880 Section 0 dcdc.o(.text.sense_mv_to_voltage_mv)
CL$$btod_div_common 0x08002648 Section 824 btod.o(CL$$btod_div_common) set_loads_off 0x080028a5 Thumb Code 16 dcdc.o(.text.set_loads_off)
CL$$btod_e2e 0x08002980 Section 220 btod.o(CL$$btod_e2e) [Anonymous Symbol] 0x080028a4 Section 0 dcdc.o(.text.set_loads_off)
CL$$btod_ediv 0x08002a5c Section 42 btod.o(CL$$btod_ediv) set_usbpd_input_switch 0x080028b5 Thumb Code 48 dcdc.o(.text.set_usbpd_input_switch)
CL$$btod_emul 0x08002a86 Section 42 btod.o(CL$$btod_emul) [Anonymous Symbol] 0x080028b4 Section 0 dcdc.o(.text.set_usbpd_input_switch)
CL$$btod_mult_common 0x08002ab0 Section 580 btod.o(CL$$btod_mult_common) wait_mask_clear 0x080028e5 Thumb Code 74 board.o(.text.wait_mask_clear)
i.__ARM_fpclassify 0x08002cf4 Section 0 fpclassify.o(i.__ARM_fpclassify) [Anonymous Symbol] 0x080028e4 Section 0 board.o(.text.wait_mask_clear)
i._is_digit 0x08002d24 Section 0 __printf_wp.o(i._is_digit) wait_mask_set 0x08002931 Thumb Code 78 board.o(.text.wait_mask_set)
locale$$code 0x08002d34 Section 44 lc_numeric_c.o(locale$$code) [Anonymous Symbol] 0x08002930 Section 0 board.o(.text.wait_mask_set)
locale$$code 0x08002d60 Section 44 lc_ctype_c.o(locale$$code) wait_mask_value 0x08002981 Thumb Code 80 board.o(.text.wait_mask_value)
$v0 0x08002d8c Number 0 fpinit.o(x$fpl$fpinit) [Anonymous Symbol] 0x08002980 Section 0 board.o(.text.wait_mask_value)
x$fpl$fpinit 0x08002d8c Section 26 fpinit.o(x$fpl$fpinit) CL$$btod_d2e 0x080029d0 Section 62 btod.o(CL$$btod_d2e)
$v0 0x08002da6 Number 0 printf1.o(x$fpl$printf1) CL$$btod_d2e_denorm_low 0x08002a0e Section 70 btod.o(CL$$btod_d2e_denorm_low)
x$fpl$printf1 0x08002da6 Section 4 printf1.o(x$fpl$printf1) CL$$btod_d2e_norm_op1 0x08002a54 Section 96 btod.o(CL$$btod_d2e_norm_op1)
$v0 0x08002daa Number 0 printf2.o(x$fpl$printf2) CL$$btod_div_common 0x08002ab4 Section 824 btod.o(CL$$btod_div_common)
x$fpl$printf2 0x08002daa Section 4 printf2.o(x$fpl$printf2) CL$$btod_e2e 0x08002dec Section 220 btod.o(CL$$btod_e2e)
x$fpl$usenofp 0x08002dae Section 0 usenofp.o(x$fpl$usenofp) CL$$btod_ediv 0x08002ec8 Section 42 btod.o(CL$$btod_ediv)
initial_mbstate 0x08002db0 Data 8 _printf_wctomb.o(.constdata) CL$$btod_emul 0x08002ef2 Section 42 btod.o(CL$$btod_emul)
.constdata 0x08002db0 Section 8 _printf_wctomb.o(.constdata) CL$$btod_mult_common 0x08002f1c Section 580 btod.o(CL$$btod_mult_common)
uc_hextab 0x08002db8 Data 20 _printf_hex_int_ll_ptr.o(.constdata) i.__ARM_fpclassify 0x08003160 Section 0 fpclassify.o(i.__ARM_fpclassify)
.constdata 0x08002db8 Section 40 _printf_hex_int_ll_ptr.o(.constdata) i._is_digit 0x08003190 Section 0 __printf_wp.o(i._is_digit)
lc_hextab 0x08002dcc Data 20 _printf_hex_int_ll_ptr.o(.constdata) locale$$code 0x080031a0 Section 44 lc_numeric_c.o(locale$$code)
maptable 0x08002de0 Data 17 __printf_flags_ss_wp.o(.constdata) locale$$code 0x080031cc Section 44 lc_ctype_c.o(locale$$code)
.constdata 0x08002de0 Section 17 __printf_flags_ss_wp.o(.constdata) $v0 0x080031f8 Number 0 fpinit.o(x$fpl$fpinit)
lc_hextab 0x08002df1 Data 19 _printf_fp_hex.o(.constdata) x$fpl$fpinit 0x080031f8 Section 26 fpinit.o(x$fpl$fpinit)
.constdata 0x08002df1 Section 38 _printf_fp_hex.o(.constdata) $v0 0x08003212 Number 0 printf1.o(x$fpl$printf1)
uc_hextab 0x08002e04 Data 19 _printf_fp_hex.o(.constdata) x$fpl$printf1 0x08003212 Section 4 printf1.o(x$fpl$printf1)
tenpwrs_x 0x08002e18 Data 60 bigflt0.o(.constdata) $v0 0x08003216 Number 0 printf2.o(x$fpl$printf2)
.constdata 0x08002e18 Section 148 bigflt0.o(.constdata) x$fpl$printf2 0x08003216 Section 4 printf2.o(x$fpl$printf2)
tenpwrs_i 0x08002e54 Data 64 bigflt0.o(.constdata) x$fpl$usenofp 0x0800321a Section 0 usenofp.o(x$fpl$usenofp)
.L.str.7 0x08002ebc Data 58 main.o(.rodata.str1.1) initial_mbstate 0x0800321c Data 8 _printf_wctomb.o(.constdata)
[Anonymous Symbol] 0x08002ebc Section 0 main.o(.rodata.str1.1) .constdata 0x0800321c Section 8 _printf_wctomb.o(.constdata)
.L.str.1 0x08002ef6 Data 34 main.o(.rodata.str1.1) uc_hextab 0x08003224 Data 20 _printf_hex_int_ll_ptr.o(.constdata)
.L.str.4 0x08002f18 Data 15 main.o(.rodata.str1.1) .constdata 0x08003224 Section 40 _printf_hex_int_ll_ptr.o(.constdata)
.L.str.3 0x08002f27 Data 37 main.o(.rodata.str1.1) lc_hextab 0x08003238 Data 20 _printf_hex_int_ll_ptr.o(.constdata)
.L.str 0x08002f4c Data 37 main.o(.rodata.str1.1) maptable 0x0800324c Data 17 __printf_flags_ss_wp.o(.constdata)
.L.str.8 0x08002f71 Data 72 main.o(.rodata.str1.1) .constdata 0x0800324c Section 17 __printf_flags_ss_wp.o(.constdata)
.L.str.2 0x08002fb9 Data 25 main.o(.rodata.str1.1) lc_hextab 0x0800325d Data 19 _printf_fp_hex.o(.constdata)
.L.str.6 0x08002fd2 Data 10 main.o(.rodata.str1.1) .constdata 0x0800325d Section 38 _printf_fp_hex.o(.constdata)
.L.str.9 0x08002fdc Data 10 main.o(.rodata.str1.1) uc_hextab 0x08003270 Data 19 _printf_fp_hex.o(.constdata)
.L.str.1 0x08002fe0 Data 6 main.o(.rodata.str1.1) tenpwrs_x 0x08003284 Data 60 bigflt0.o(.constdata)
.L.str.5 0x08002fe0 Data 6 main.o(.rodata.str1.1) .constdata 0x08003284 Section 148 bigflt0.o(.constdata)
.L.str 0x08002fe6 Data 8 dcdc.o(.rodata.str1.1) tenpwrs_i 0x080032c0 Data 64 bigflt0.o(.constdata)
[Anonymous Symbol] 0x08002fe6 Section 0 dcdc.o(.rodata.str1.1) .L.str.7 0x08003328 Data 53 main.o(.rodata.str1.1)
.L.str.6 0x08002fee Data 17 dcdc.o(.rodata.str1.1) [Anonymous Symbol] 0x08003328 Section 0 main.o(.rodata.str1.1)
.L.str.7 0x08002fff Data 17 dcdc.o(.rodata.str1.1) .L.str.9 0x0800335d Data 68 main.o(.rodata.str1.1)
.L.str.5 0x08003010 Data 5 dcdc.o(.rodata.str1.1) .L.str.1 0x080033a1 Data 34 main.o(.rodata.str1.1)
.L.str.2 0x08003015 Data 8 dcdc.o(.rodata.str1.1) .L.str.4 0x080033c3 Data 15 main.o(.rodata.str1.1)
.L.str.4 0x0800301d Data 8 dcdc.o(.rodata.str1.1) .L.str.3 0x080033d2 Data 37 main.o(.rodata.str1.1)
.L.str.3 0x08003025 Data 6 dcdc.o(.rodata.str1.1) .L.str.8 0x080033f7 Data 76 main.o(.rodata.str1.1)
.L.str.8 0x0800302b Data 18 dcdc.o(.rodata.str1.1) .L.str 0x08003443 Data 37 main.o(.rodata.str1.1)
.L.str.9 0x0800303d Data 18 dcdc.o(.rodata.str1.1) .L.str.10 0x08003468 Data 91 main.o(.rodata.str1.1)
locale$$data 0x08003070 Section 28 lc_numeric_c.o(locale$$data) .L.str.2 0x080034c3 Data 25 main.o(.rodata.str1.1)
__lcnum_c_name 0x08003074 Data 2 lc_numeric_c.o(locale$$data) .L.str.6 0x080034dc Data 10 main.o(.rodata.str1.1)
__lcnum_c_start 0x0800307c Data 0 lc_numeric_c.o(locale$$data) .L.str.11 0x080034e6 Data 10 main.o(.rodata.str1.1)
__lcnum_c_point 0x08003088 Data 0 lc_numeric_c.o(locale$$data) .L.str.1 0x080034ea Data 6 main.o(.rodata.str1.1)
__lcnum_c_thousands 0x0800308a Data 0 lc_numeric_c.o(locale$$data) .L.str.5 0x080034ea Data 6 main.o(.rodata.str1.1)
__lcnum_c_grouping 0x0800308b Data 0 lc_numeric_c.o(locale$$data) .L.str 0x080034f0 Data 8 dcdc.o(.rodata.str1.1)
__lcnum_c_end 0x0800308c Data 0 lc_numeric_c.o(locale$$data) [Anonymous Symbol] 0x080034f0 Section 0 dcdc.o(.rodata.str1.1)
locale$$data 0x0800308c Section 272 lc_ctype_c.o(locale$$data) .L.str.9 0x080034f8 Data 17 dcdc.o(.rodata.str1.1)
__lcctype_c_name 0x08003090 Data 2 lc_ctype_c.o(locale$$data) .L.str.10 0x08003509 Data 17 dcdc.o(.rodata.str1.1)
__lcctype_c_start 0x08003098 Data 0 lc_ctype_c.o(locale$$data) .L.str.8 0x0800351a Data 5 dcdc.o(.rodata.str1.1)
__lcctype_c_end 0x0800319c Data 0 lc_ctype_c.o(locale$$data) .L.str.3 0x0800351f Data 8 dcdc.o(.rodata.str1.1)
s_duty_ticks 0x20000004 Data 4 dcdc.o(.data.s_duty_ticks) .L.str.5 0x08003527 Data 8 dcdc.o(.rodata.str1.1)
[Anonymous Symbol] 0x20000004 Section 0 dcdc.o(.data.s_duty_ticks) .L.str.7 0x0800352f Data 12 dcdc.o(.rodata.str1.1)
s_period_ticks 0x20000008 Data 4 dcdc.o(.data.s_period_ticks) .L.str.6 0x0800353b Data 8 dcdc.o(.rodata.str1.1)
[Anonymous Symbol] 0x20000008 Section 0 dcdc.o(.data.s_period_ticks) .L.str.4 0x08003543 Data 6 dcdc.o(.rodata.str1.1)
.bss 0x20000010 Section 96 libspace.o(.bss) .L.str.11 0x08003549 Data 18 dcdc.o(.rodata.str1.1)
s_fault 0x200000c4 Data 1 dcdc.o(.bss.s_fault) .L.str.2 0x0800355b Data 9 dcdc.o(.rodata.str1.1)
[Anonymous Symbol] 0x200000c4 Section 0 dcdc.o(.bss.s_fault) .L.str.12 0x08003564 Data 18 dcdc.o(.rodata.str1.1)
s_hrtim_ready 0x200000c5 Data 1 dcdc.o(.bss.s_hrtim_ready) locale$$data 0x08003598 Section 28 lc_numeric_c.o(locale$$data)
[Anonymous Symbol] 0x200000c5 Section 0 dcdc.o(.bss.s_hrtim_ready) __lcnum_c_name 0x0800359c Data 2 lc_numeric_c.o(locale$$data)
s_integrator_ticks 0x200000c8 Data 4 dcdc.o(.bss.s_integrator_ticks) __lcnum_c_start 0x080035a4 Data 0 lc_numeric_c.o(locale$$data)
[Anonymous Symbol] 0x200000c8 Section 0 dcdc.o(.bss.s_integrator_ticks) __lcnum_c_point 0x080035b0 Data 0 lc_numeric_c.o(locale$$data)
s_ms_ticks 0x200000cc Data 4 board.o(.bss.s_ms_ticks) __lcnum_c_thousands 0x080035b2 Data 0 lc_numeric_c.o(locale$$data)
[Anonymous Symbol] 0x200000cc Section 0 board.o(.bss.s_ms_ticks) __lcnum_c_grouping 0x080035b3 Data 0 lc_numeric_c.o(locale$$data)
s_state 0x200000d0 Data 1 dcdc.o(.bss.s_state) __lcnum_c_end 0x080035b4 Data 0 lc_numeric_c.o(locale$$data)
[Anonymous Symbol] 0x200000d0 Section 0 dcdc.o(.bss.s_state) locale$$data 0x080035b4 Section 272 lc_ctype_c.o(locale$$data)
Heap_Mem 0x200000d8 Data 512 startup_stm32g474xx.o(HEAP) __lcctype_c_name 0x080035b8 Data 2 lc_ctype_c.o(locale$$data)
HEAP 0x200000d8 Section 512 startup_stm32g474xx.o(HEAP) __lcctype_c_start 0x080035c0 Data 0 lc_ctype_c.o(locale$$data)
Stack_Mem 0x200002d8 Data 1024 startup_stm32g474xx.o(STACK) __lcctype_c_end 0x080036c4 Data 0 lc_ctype_c.o(locale$$data)
STACK 0x200002d8 Section 1024 startup_stm32g474xx.o(STACK) s_duty_ticks 0x20000044 Data 4 dcdc.o(.data.s_duty_ticks)
__initial_sp 0x200006d8 Data 0 startup_stm32g474xx.o(STACK) [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 Global Symbols
@@ -1268,50 +1345,58 @@ Image Symbol Table
Board_FatalError 0x080015a5 Thumb Code 8 board.o(.text.Board_FatalError) Board_FatalError 0x080015a5 Thumb Code 8 board.o(.text.Board_FatalError)
Board_Init 0x080015ad Thumb Code 46 board.o(.text.Board_Init) Board_Init 0x080015ad Thumb Code 46 board.o(.text.Board_Init)
Board_Millis 0x080015dd Thumb Code 12 board.o(.text.Board_Millis) Board_Millis 0x080015dd Thumb Code 12 board.o(.text.Board_Millis)
DCDC_ControlStep 0x08001625 Thumb Code 366 dcdc.o(.text.DCDC_ControlStep) DCDC_ApplyRuntimeConfig 0x08001625 Thumb Code 62 dcdc.o(.text.DCDC_ApplyRuntimeConfig)
DCDC_FaultText 0x08001795 Thumb Code 108 dcdc.o(.text.DCDC_FaultText) DCDC_ControlStep 0x08001665 Thumb Code 406 dcdc.o(.text.DCDC_ControlStep)
DCDC_GetDutyTicks 0x08001801 Thumb Code 12 dcdc.o(.text.DCDC_GetDutyTicks) DCDC_FaultText 0x080017fd Thumb Code 108 dcdc.o(.text.DCDC_FaultText)
DCDC_GetFault 0x0800180d Thumb Code 12 dcdc.o(.text.DCDC_GetFault) DCDC_GetDutyTicks 0x08001869 Thumb Code 12 dcdc.o(.text.DCDC_GetDutyTicks)
DCDC_GetPeriodTicks 0x08001819 Thumb Code 12 dcdc.o(.text.DCDC_GetPeriodTicks) DCDC_GetFault 0x08001875 Thumb Code 12 dcdc.o(.text.DCDC_GetFault)
DCDC_GetState 0x08001825 Thumb Code 12 dcdc.o(.text.DCDC_GetState) DCDC_GetMode 0x08001881 Thumb Code 52 dcdc.o(.text.DCDC_GetMode)
DCDC_Init 0x08001831 Thumb Code 78 dcdc.o(.text.DCDC_Init) DCDC_GetPeriodTicks 0x080018b5 Thumb Code 12 dcdc.o(.text.DCDC_GetPeriodTicks)
DCDC_IsHrtimReady 0x08001881 Thumb Code 16 dcdc.o(.text.DCDC_IsHrtimReady) DCDC_GetState 0x080018c1 Thumb Code 12 dcdc.o(.text.DCDC_GetState)
DCDC_ReadMeasurements 0x08001891 Thumb Code 112 dcdc.o(.text.DCDC_ReadMeasurements) DCDC_Init 0x080018cd Thumb Code 78 dcdc.o(.text.DCDC_Init)
DCDC_StateText 0x08001901 Thumb Code 94 dcdc.o(.text.DCDC_StateText) DCDC_IsHrtimReady 0x0800191d Thumb Code 16 dcdc.o(.text.DCDC_IsHrtimReady)
Retarget_Init 0x080019c9 Thumb Code 98 retarget.o(.text.Retarget_Init) DCDC_ModeText 0x0800192d Thumb Code 88 dcdc.o(.text.DCDC_ModeText)
Retarget_PutChar 0x08001a2d Thumb Code 48 retarget.o(.text.Retarget_PutChar) DCDC_ReadMeasurements 0x08001985 Thumb Code 112 dcdc.o(.text.DCDC_ReadMeasurements)
SysTick_Handler 0x08001ab1 Thumb Code 16 board.o(.text.SysTick_Handler) DCDC_Service1ms 0x080019f5 Thumb Code 160 dcdc.o(.text.DCDC_Service1ms)
SystemCoreClockUpdate 0x08001bd5 Thumb Code 206 system_stm32g4xx.o(.text.SystemCoreClockUpdate) DCDC_Start 0x08001a95 Thumb Code 124 dcdc.o(.text.DCDC_Start)
SystemInit 0x08001ca5 Thumb Code 32 system_stm32g4xx.o(.text.SystemInit) DCDC_StartPwmTest 0x08001b11 Thumb Code 142 dcdc.o(.text.DCDC_StartPwmTest)
_sys_exit 0x08001d09 Thumb Code 10 retarget.o(.text._sys_exit) DCDC_StateText 0x08001ba1 Thumb Code 108 dcdc.o(.text.DCDC_StateText)
fputc 0x08001e29 Thumb Code 38 retarget.o(.text.fputc) DCDC_Stop 0x08001c0d Thumb Code 56 dcdc.o(.text.DCDC_Stop)
main 0x08002289 Thumb Code 362 main.o(.text.main) Retarget_Init 0x08001cad Thumb Code 98 retarget.o(.text.Retarget_Init)
_btod_d2e 0x08002565 Thumb Code 62 btod.o(CL$$btod_d2e) Retarget_PutChar 0x08001d11 Thumb Code 48 retarget.o(.text.Retarget_PutChar)
_d2e_denorm_low 0x080025a3 Thumb Code 70 btod.o(CL$$btod_d2e_denorm_low) SysTick_Handler 0x08001d95 Thumb Code 16 board.o(.text.SysTick_Handler)
_d2e_norm_op1 0x080025e9 Thumb Code 96 btod.o(CL$$btod_d2e_norm_op1) SystemCoreClockUpdate 0x08001eb9 Thumb Code 206 system_stm32g4xx.o(.text.SystemCoreClockUpdate)
__btod_div_common 0x08002649 Thumb Code 696 btod.o(CL$$btod_div_common) SystemInit 0x08001f89 Thumb Code 32 system_stm32g4xx.o(.text.SystemInit)
_e2e 0x08002981 Thumb Code 220 btod.o(CL$$btod_e2e) _sys_exit 0x08001fed Thumb Code 10 retarget.o(.text._sys_exit)
_btod_ediv 0x08002a5d Thumb Code 42 btod.o(CL$$btod_ediv) fputc 0x08002141 Thumb Code 38 retarget.o(.text.fputc)
_btod_emul 0x08002a87 Thumb Code 42 btod.o(CL$$btod_emul) main 0x08002671 Thumb Code 444 main.o(.text.main)
__btod_mult_common 0x08002ab1 Thumb Code 580 btod.o(CL$$btod_mult_common) _btod_d2e 0x080029d1 Thumb Code 62 btod.o(CL$$btod_d2e)
__ARM_fpclassify 0x08002cf5 Thumb Code 48 fpclassify.o(i.__ARM_fpclassify) _d2e_denorm_low 0x08002a0f Thumb Code 70 btod.o(CL$$btod_d2e_denorm_low)
_is_digit 0x08002d25 Thumb Code 14 __printf_wp.o(i._is_digit) _d2e_norm_op1 0x08002a55 Thumb Code 96 btod.o(CL$$btod_d2e_norm_op1)
_get_lc_numeric 0x08002d35 Thumb Code 44 lc_numeric_c.o(locale$$code) __btod_div_common 0x08002ab5 Thumb Code 696 btod.o(CL$$btod_div_common)
_get_lc_ctype 0x08002d61 Thumb Code 44 lc_ctype_c.o(locale$$code) _e2e 0x08002ded Thumb Code 220 btod.o(CL$$btod_e2e)
_fp_init 0x08002d8d Thumb Code 26 fpinit.o(x$fpl$fpinit) _btod_ediv 0x08002ec9 Thumb Code 42 btod.o(CL$$btod_ediv)
__fplib_config_fpu_vfp 0x08002da5 Thumb Code 0 fpinit.o(x$fpl$fpinit) _btod_emul 0x08002ef3 Thumb Code 42 btod.o(CL$$btod_emul)
__fplib_config_pureend_doubles 0x08002da5 Thumb Code 0 fpinit.o(x$fpl$fpinit) __btod_mult_common 0x08002f1d Thumb Code 580 btod.o(CL$$btod_mult_common)
_printf_fp_dec 0x08002da7 Thumb Code 4 printf1.o(x$fpl$printf1) __ARM_fpclassify 0x08003161 Thumb Code 48 fpclassify.o(i.__ARM_fpclassify)
_printf_fp_hex 0x08002dab Thumb Code 4 printf2.o(x$fpl$printf2) _is_digit 0x08003191 Thumb Code 14 __printf_wp.o(i._is_digit)
__I$use$fp 0x08002dae Number 0 usenofp.o(x$fpl$usenofp) _get_lc_numeric 0x080031a1 Thumb Code 44 lc_numeric_c.o(locale$$code)
AHBPrescTable 0x08002eac Data 16 system_stm32g4xx.o(.rodata.AHBPrescTable) _get_lc_ctype 0x080031cd Thumb Code 44 lc_ctype_c.o(locale$$code)
Region$$Table$$Base 0x08003050 Number 0 anon$$obj.o(Region$$Table) _fp_init 0x080031f9 Thumb Code 26 fpinit.o(x$fpl$fpinit)
Region$$Table$$Limit 0x08003070 Number 0 anon$$obj.o(Region$$Table) __fplib_config_fpu_vfp 0x08003211 Thumb Code 0 fpinit.o(x$fpl$fpinit)
__ctype 0x08003099 Data 0 lc_ctype_c.o(locale$$data) __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) SystemCoreClock 0x20000000 Data 4 system_stm32g4xx.o(.data.SystemCoreClock)
__libspace_start 0x20000010 Data 96 libspace.o(.bss) g_dcdc_config 0x20000004 Data 64 dcdc.o(.data.g_dcdc_config)
__stdout 0x20000070 Data 84 retarget.o(.bss.__stdout) __libspace_start 0x20000050 Data 96 libspace.o(.bss)
__temporary_stack_top$libspace 0x20000070 Data 0 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 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 Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000001d8 Data RO 3 RESET startup_stm32g474xx.o 0x08000000 0x08000000 0x000001d8 Data RO 3 RESET startup_stm32g474xx.o
0x080001d8 0x080001d8 0x00000008 Code RO 169 * !!!main c_w.l(__main.o) 0x080001d8 0x080001d8 0x00000008 Code RO 186 * !!!main c_w.l(__main.o)
0x080001e0 0x080001e0 0x0000005c Code RO 512 !!!scatter c_w.l(__scatter.o) 0x080001e0 0x080001e0 0x0000005c Code RO 529 !!!scatter c_w.l(__scatter.o)
0x0800023c 0x0800023c 0x0000001a Code RO 516 !!handler_copy c_w.l(__scatter_copy.o) 0x0800023c 0x0800023c 0x0000001a Code RO 533 !!handler_copy c_w.l(__scatter_copy.o)
0x08000256 0x08000256 0x00000002 PAD 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 0x0800025a 0x0800025a 0x00000002 PAD
0x0800025c 0x0800025c 0x0000001c Code RO 518 !!handler_zi c_w.l(__scatter_zi.o) 0x0800025c 0x0800025c 0x0000001c Code RO 535 !!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 0x00000000 Code RO 274 .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) 0x08000278 0x08000278 0x00000006 Code RO 263 .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) 0x0800027e 0x0800027e 0x00000006 Code RO 265 .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) 0x08000284 0x08000284 0x00000006 Code RO 270 .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) 0x0800028a 0x0800028a 0x00000006 Code RO 271 .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) 0x08000290 0x08000290 0x00000006 Code RO 272 .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) 0x08000296 0x08000296 0x00000006 Code RO 273 .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) 0x0800029c 0x0800029c 0x0000000a Code RO 278 .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) 0x080002a6 0x080002a6 0x00000006 Code RO 267 .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) 0x080002ac 0x080002ac 0x00000006 Code RO 268 .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) 0x080002b2 0x080002b2 0x00000006 Code RO 269 .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) 0x080002b8 0x080002b8 0x00000006 Code RO 266 .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) 0x080002be 0x080002be 0x00000006 Code RO 264 .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) 0x080002c4 0x080002c4 0x00000006 Code RO 275 .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) 0x080002ca 0x080002ca 0x00000006 Code RO 276 .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) 0x080002d0 0x080002d0 0x00000006 Code RO 277 .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) 0x080002d6 0x080002d6 0x00000006 Code RO 282 .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) 0x080002dc 0x080002dc 0x00000006 Code RO 283 .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) 0x080002e2 0x080002e2 0x0000000a Code RO 279 .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) 0x080002ec 0x080002ec 0x00000006 Code RO 261 .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) 0x080002f2 0x080002f2 0x00000006 Code RO 262 .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) 0x080002f8 0x080002f8 0x00000006 Code RO 280 .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) 0x080002fe 0x080002fe 0x00000006 Code RO 281 .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) 0x08000304 0x08000304 0x00000004 Code RO 326 .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) 0x08000308 0x08000308 0x00000002 Code RO 387 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x0800030a 0x0800030a 0x00000004 Code RO 394 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) 0x0800030a 0x0800030a 0x00000004 Code RO 411 .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 414 .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 416 .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 419 .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 421 .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 0x00000000 Code RO 423 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
0x0800030e 0x0800030e 0x00000006 Code RO 407 .ARM.Collect$$libinit$$00000011 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 409 .ARM.Collect$$libinit$$00000013 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 410 .ARM.Collect$$libinit$$00000014 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 411 .ARM.Collect$$libinit$$00000015 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 413 .ARM.Collect$$libinit$$00000017 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 414 .ARM.Collect$$libinit$$00000018 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 415 .ARM.Collect$$libinit$$00000019 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 417 .ARM.Collect$$libinit$$0000001B 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 419 .ARM.Collect$$libinit$$0000001D 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 421 .ARM.Collect$$libinit$$0000001F 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 423 .ARM.Collect$$libinit$$00000021 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 425 .ARM.Collect$$libinit$$00000023 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 427 .ARM.Collect$$libinit$$00000025 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 429 .ARM.Collect$$libinit$$00000027 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 433 .ARM.Collect$$libinit$$0000002E 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 435 .ARM.Collect$$libinit$$00000030 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 437 .ARM.Collect$$libinit$$00000032 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 439 .ARM.Collect$$libinit$$00000034 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 440 .ARM.Collect$$libinit$$00000035 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 466 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) 0x0800032c 0x0800032c 0x00000002 Code RO 483 .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 511 .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 513 .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 516 .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 519 .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 521 .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 0x00000000 Code RO 524 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
0x0800032e 0x0800032e 0x00000002 Code RO 508 .ARM.Collect$$libshutdown$$00000010 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 173 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) 0x08000330 0x08000330 0x00000000 Code RO 190 .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 0x00000000 Code RO 293 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000330 0x08000330 0x00000006 Code RO 288 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) 0x08000330 0x08000330 0x00000006 Code RO 305 .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 0x00000000 Code RO 295 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x08000336 0x08000336 0x00000004 Code RO 279 .ARM.Collect$$rtentry$$0000000A 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 281 .ARM.Collect$$rtentry$$0000000C 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 282 .ARM.Collect$$rtentry$$0000000D 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 379 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) 0x08000342 0x08000342 0x00000002 Code RO 396 .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 0x00000000 Code RO 459 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x08000344 0x08000344 0x00000004 Code RO 443 .ARM.Collect$$rtexit$$00000003 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 444 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000348 0x08000348 0x00000006 Code RO 461 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x0800034e 0x0800034e 0x00000002 PAD 0x0800034e 0x0800034e 0x00000002 PAD
0x08000350 0x08000350 0x00000040 Code RO 4 .text startup_stm32g474xx.o 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) 0x08000390 0x08000390 0x00000002 Code RO 178 .text c_w.l(use_no_semi_2.o)
0x08000392 0x08000392 0x000000f0 Code RO 163 .text c_w.l(lludivv7m.o) 0x08000392 0x08000392 0x000000f0 Code RO 180 .text c_w.l(lludivv7m.o)
0x08000482 0x08000482 0x00000002 PAD 0x08000482 0x08000482 0x00000002 PAD
0x08000484 0x08000484 0x00000018 Code RO 165 .text c_w.l(printf.o) 0x08000484 0x08000484 0x00000018 Code RO 182 .text c_w.l(printf.o)
0x0800049c 0x0800049c 0x00000006 Code RO 167 .text c_w.l(heapauxi.o) 0x0800049c 0x0800049c 0x00000006 Code RO 184 .text c_w.l(heapauxi.o)
0x080004a2 0x080004a2 0x00000002 Code RO 171 .text c_w.l(use_no_semi.o) 0x080004a2 0x080004a2 0x00000002 Code RO 188 .text c_w.l(use_no_semi.o)
0x080004a4 0x080004a4 0x0000004e Code RO 180 .text c_w.l(_printf_pad.o) 0x080004a4 0x080004a4 0x0000004e Code RO 197 .text c_w.l(_printf_pad.o)
0x080004f2 0x080004f2 0x00000024 Code RO 182 .text c_w.l(_printf_truncate.o) 0x080004f2 0x080004f2 0x00000024 Code RO 199 .text c_w.l(_printf_truncate.o)
0x08000516 0x08000516 0x00000052 Code RO 184 .text c_w.l(_printf_str.o) 0x08000516 0x08000516 0x00000052 Code RO 201 .text c_w.l(_printf_str.o)
0x08000568 0x08000568 0x00000078 Code RO 186 .text c_w.l(_printf_dec.o) 0x08000568 0x08000568 0x00000078 Code RO 203 .text c_w.l(_printf_dec.o)
0x080005e0 0x080005e0 0x00000028 Code RO 188 .text c_w.l(_printf_charcount.o) 0x080005e0 0x080005e0 0x00000028 Code RO 205 .text c_w.l(_printf_charcount.o)
0x08000608 0x08000608 0x00000024 Code RO 190 .text c_w.l(_printf_char_file.o) 0x08000608 0x08000608 0x00000024 Code RO 207 .text c_w.l(_printf_char_file.o)
0x0800062c 0x0800062c 0x000000bc Code RO 192 .text c_w.l(_printf_wctomb.o) 0x0800062c 0x0800062c 0x000000bc Code RO 209 .text c_w.l(_printf_wctomb.o)
0x080006e8 0x080006e8 0x0000007c Code RO 195 .text c_w.l(_printf_longlong_dec.o) 0x080006e8 0x080006e8 0x0000007c Code RO 212 .text c_w.l(_printf_longlong_dec.o)
0x08000764 0x08000764 0x00000070 Code RO 201 .text c_w.l(_printf_oct_int_ll.o) 0x08000764 0x08000764 0x00000070 Code RO 218 .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) 0x080007d4 0x080007d4 0x00000094 Code RO 238 .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) 0x08000868 0x08000868 0x00000188 Code RO 258 .text c_w.l(__printf_flags_ss_wp.o)
0x080009f0 0x080009f0 0x0000008a Code RO 292 .text c_w.l(lludiv10.o) 0x080009f0 0x080009f0 0x0000008a Code RO 309 .text c_w.l(lludiv10.o)
0x08000a7a 0x08000a7a 0x000000b2 Code RO 294 .text c_w.l(_printf_intcommon.o) 0x08000a7a 0x08000a7a 0x000000b2 Code RO 311 .text c_w.l(_printf_intcommon.o)
0x08000b2c 0x08000b2c 0x0000041c Code RO 296 .text c_w.l(_printf_fp_dec.o) 0x08000b2c 0x08000b2c 0x0000041c Code RO 313 .text c_w.l(_printf_fp_dec.o)
0x08000f48 0x08000f48 0x000002fc Code RO 300 .text c_w.l(_printf_fp_hex.o) 0x08000f48 0x08000f48 0x000002fc Code RO 317 .text c_w.l(_printf_fp_hex.o)
0x08001244 0x08001244 0x00000030 Code RO 303 .text c_w.l(_printf_char_common.o) 0x08001244 0x08001244 0x00000030 Code RO 320 .text c_w.l(_printf_char_common.o)
0x08001274 0x08001274 0x0000002c Code RO 305 .text c_w.l(_printf_char.o) 0x08001274 0x08001274 0x0000002c Code RO 322 .text c_w.l(_printf_char.o)
0x080012a0 0x080012a0 0x0000002c Code RO 307 .text c_w.l(_printf_wchar.o) 0x080012a0 0x080012a0 0x0000002c Code RO 324 .text c_w.l(_printf_wchar.o)
0x080012cc 0x080012cc 0x00000008 Code RO 310 .text c_w.l(ferror.o) 0x080012cc 0x080012cc 0x00000008 Code RO 327 .text c_w.l(ferror.o)
0x080012d4 0x080012d4 0x00000048 Code RO 314 .text c_w.l(_c16rtomb.o) 0x080012d4 0x080012d4 0x00000048 Code RO 331 .text c_w.l(_c16rtomb.o)
0x0800131c 0x0800131c 0x0000004a Code RO 316 .text c_w.l(sys_stackheap_outer.o) 0x0800131c 0x0800131c 0x0000004a Code RO 333 .text c_w.l(sys_stackheap_outer.o)
0x08001366 0x08001366 0x00000002 PAD 0x08001366 0x08001366 0x00000002 PAD
0x08001368 0x08001368 0x00000010 Code RO 318 .text c_w.l(rt_ctype_table.o) 0x08001368 0x08001368 0x00000010 Code RO 335 .text c_w.l(rt_ctype_table.o)
0x08001378 0x08001378 0x00000008 Code RO 323 .text c_w.l(rt_locale_intlibspace.o) 0x08001378 0x08001378 0x00000008 Code RO 340 .text c_w.l(rt_locale_intlibspace.o)
0x08001380 0x08001380 0x00000080 Code RO 325 .text c_w.l(_printf_fp_infnan.o) 0x08001380 0x08001380 0x00000080 Code RO 342 .text c_w.l(_printf_fp_infnan.o)
0x08001400 0x08001400 0x000000e4 Code RO 329 .text c_w.l(bigflt0.o) 0x08001400 0x08001400 0x000000e4 Code RO 346 .text c_w.l(bigflt0.o)
0x080014e4 0x080014e4 0x00000012 Code RO 359 .text c_w.l(exit.o) 0x080014e4 0x080014e4 0x00000012 Code RO 376 .text c_w.l(exit.o)
0x080014f6 0x080014f6 0x00000002 PAD 0x080014f6 0x080014f6 0x00000002 PAD
0x080014f8 0x080014f8 0x00000008 Code RO 376 .text c_w.l(libspace.o) 0x080014f8 0x080014f8 0x00000008 Code RO 393 .text c_w.l(libspace.o)
0x08001500 0x08001500 0x0000007c Code RO 392 .text c_w.l(strcmpv7em.o) 0x08001500 0x08001500 0x0000007c Code RO 409 .text c_w.l(strcmpv7em.o)
0x0800157c 0x0800157c 0x00000026 Code RO 31 .text.Board_DelayMs board.o 0x0800157c 0x0800157c 0x00000026 Code RO 31 .text.Board_DelayMs board.o
0x080015a2 0x080015a2 0x00000002 PAD 0x080015a2 0x080015a2 0x00000002 PAD
0x080015a4 0x080015a4 0x00000008 Code RO 27 .text.Board_FatalError board.o 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 0x080015dc 0x080015dc 0x0000000c Code RO 29 .text.Board_Millis board.o
0x080015e8 0x080015e8 0x0000003a Code RO 37 .text.Clock_UseHsi16 board.o 0x080015e8 0x080015e8 0x0000003a Code RO 37 .text.Clock_UseHsi16 board.o
0x08001622 0x08001622 0x00000002 PAD 0x08001622 0x08001622 0x00000002 PAD
0x08001624 0x08001624 0x0000016e Code RO 77 .text.DCDC_ControlStep dcdc.o 0x08001624 0x08001624 0x0000003e Code RO 87 .text.DCDC_ApplyRuntimeConfig dcdc.o
0x08001792 0x08001792 0x00000002 PAD 0x08001662 0x08001662 0x00000002 PAD
0x08001794 0x08001794 0x0000006c Code RO 103 .text.DCDC_FaultText dcdc.o 0x08001664 0x08001664 0x00000196 Code RO 89 .text.DCDC_ControlStep dcdc.o
0x08001800 0x08001800 0x0000000c Code RO 97 .text.DCDC_GetDutyTicks dcdc.o 0x080017fa 0x080017fa 0x00000002 PAD
0x0800180c 0x0800180c 0x0000000c Code RO 93 .text.DCDC_GetFault dcdc.o 0x080017fc 0x080017fc 0x0000006c Code RO 117 .text.DCDC_FaultText dcdc.o
0x08001818 0x08001818 0x0000000c Code RO 99 .text.DCDC_GetPeriodTicks dcdc.o 0x08001868 0x08001868 0x0000000c Code RO 109 .text.DCDC_GetDutyTicks dcdc.o
0x08001824 0x08001824 0x0000000c Code RO 91 .text.DCDC_GetState dcdc.o 0x08001874 0x08001874 0x0000000c Code RO 105 .text.DCDC_GetFault dcdc.o
0x08001830 0x08001830 0x0000004e Code RO 55 .text.DCDC_Init dcdc.o 0x08001880 0x08001880 0x00000034 Code RO 85 .text.DCDC_GetMode dcdc.o
0x0800187e 0x0800187e 0x00000002 PAD 0x080018b4 0x080018b4 0x0000000c Code RO 111 .text.DCDC_GetPeriodTicks dcdc.o
0x08001880 0x08001880 0x00000010 Code RO 95 .text.DCDC_IsHrtimReady dcdc.o 0x080018c0 0x080018c0 0x0000000c Code RO 103 .text.DCDC_GetState dcdc.o
0x08001890 0x08001890 0x00000070 Code RO 79 .text.DCDC_ReadMeasurements dcdc.o 0x080018cc 0x080018cc 0x0000004e Code RO 55 .text.DCDC_Init dcdc.o
0x08001900 0x08001900 0x0000005e Code RO 101 .text.DCDC_StateText dcdc.o 0x0800191a 0x0800191a 0x00000002 PAD
0x0800195e 0x0800195e 0x00000002 PAD 0x0800191c 0x0800191c 0x00000010 Code RO 107 .text.DCDC_IsHrtimReady dcdc.o
0x08001960 0x08001960 0x00000066 Code RO 41 .text.Flash_SetLatency board.o 0x0800192c 0x0800192c 0x00000058 Code RO 115 .text.DCDC_ModeText dcdc.o
0x080019c6 0x080019c6 0x00000002 PAD 0x08001984 0x08001984 0x00000070 Code RO 91 .text.DCDC_ReadMeasurements dcdc.o
0x080019c8 0x080019c8 0x00000062 Code RO 123 .text.Retarget_Init retarget.o 0x080019f4 0x080019f4 0x000000a0 Code RO 83 .text.DCDC_Service1ms dcdc.o
0x08001a2a 0x08001a2a 0x00000002 PAD 0x08001a94 0x08001a94 0x0000007c Code RO 69 .text.DCDC_Start dcdc.o
0x08001a2c 0x08001a2c 0x00000030 Code RO 127 .text.Retarget_PutChar retarget.o 0x08001b10 0x08001b10 0x0000008e Code RO 77 .text.DCDC_StartPwmTest dcdc.o
0x08001a5c 0x08001a5c 0x00000052 Code RO 25 .text.SysTick_Config board.o 0x08001b9e 0x08001b9e 0x00000002 PAD
0x08001aae 0x08001aae 0x00000002 PAD 0x08001ba0 0x08001ba0 0x0000006c Code RO 113 .text.DCDC_StateText dcdc.o
0x08001ab0 0x08001ab0 0x00000010 Code RO 33 .text.SysTick_Handler board.o 0x08001c0c 0x08001c0c 0x00000038 Code RO 81 .text.DCDC_Stop dcdc.o
0x08001ac0 0x08001ac0 0x00000112 Code RO 23 .text.SystemClock_Config board.o 0x08001c44 0x08001c44 0x00000066 Code RO 41 .text.Flash_SetLatency board.o
0x08001bd2 0x08001bd2 0x00000002 PAD 0x08001caa 0x08001caa 0x00000002 PAD
0x08001bd4 0x08001bd4 0x000000ce Code RO 148 .text.SystemCoreClockUpdate system_stm32g4xx.o 0x08001cac 0x08001cac 0x00000062 Code RO 140 .text.Retarget_Init retarget.o
0x08001ca2 0x08001ca2 0x00000002 PAD 0x08001d0e 0x08001d0e 0x00000002 PAD
0x08001ca4 0x08001ca4 0x00000020 Code RO 146 .text.SystemInit system_stm32g4xx.o 0x08001d10 0x08001d10 0x00000030 Code RO 144 .text.Retarget_PutChar retarget.o
0x08001cc4 0x08001cc4 0x00000042 Code RO 35 .text.__NVIC_SetPriority board.o 0x08001d40 0x08001d40 0x00000052 Code RO 25 .text.SysTick_Config board.o
0x08001d06 0x08001d06 0x00000002 PAD 0x08001d92 0x08001d92 0x00000002 PAD
0x08001d08 0x08001d08 0x0000000a Code RO 135 .text._sys_exit retarget.o 0x08001d94 0x08001d94 0x00000010 Code RO 33 .text.SysTick_Handler board.o
0x08001d12 0x08001d12 0x00000002 PAD 0x08001da4 0x08001da4 0x00000112 Code RO 23 .text.SystemClock_Config board.o
0x08001d14 0x08001d14 0x000000a6 Code RO 63 .text.adc1_init dcdc.o 0x08001eb6 0x08001eb6 0x00000002 PAD
0x08001dba 0x08001dba 0x00000002 PAD 0x08001eb8 0x08001eb8 0x000000ce Code RO 165 .text.SystemCoreClockUpdate system_stm32g4xx.o
0x08001dbc 0x08001dbc 0x0000004a Code RO 83 .text.adc1_read_channel dcdc.o 0x08001f86 0x08001f86 0x00000002 PAD
0x08001e06 0x08001e06 0x00000002 PAD 0x08001f88 0x08001f88 0x00000020 Code RO 163 .text.SystemInit system_stm32g4xx.o
0x08001e08 0x08001e08 0x00000020 Code RO 85 .text.adc_raw_to_mv dcdc.o 0x08001fa8 0x08001fa8 0x00000042 Code RO 35 .text.__NVIC_SetPriority board.o
0x08001e28 0x08001e28 0x00000026 Code RO 129 .text.fputc retarget.o 0x08001fea 0x08001fea 0x00000002 PAD
0x08001e4e 0x08001e4e 0x00000002 PAD 0x08001fec 0x08001fec 0x0000000a Code RO 152 .text._sys_exit retarget.o
0x08001e50 0x08001e50 0x000000e4 Code RO 57 .text.gpio_init_for_dcdc dcdc.o 0x08001ff6 0x08001ff6 0x00000002 PAD
0x08001f34 0x08001f34 0x00000074 Code RO 125 .text.gpio_pc10_pc11_to_usart3 retarget.o 0x08001ff8 0x08001ff8 0x000000a6 Code RO 63 .text.adc1_init dcdc.o
0x08001fa8 0x08001fa8 0x00000030 Code RO 67 .text.hrtim1_outputs_enable dcdc.o 0x0800209e 0x0800209e 0x00000002 PAD
0x08001fd8 0x08001fd8 0x0000004c Code RO 73 .text.hrtim1_set_duty dcdc.o 0x080020a0 0x080020a0 0x0000004a Code RO 95 .text.adc1_read_channel dcdc.o
0x08002024 0x08002024 0x0000010a Code RO 65 .text.hrtim1_timer_c_init dcdc.o 0x080020ea 0x080020ea 0x00000002 PAD
0x0800212e 0x0800212e 0x00000002 PAD 0x080020ec 0x080020ec 0x00000020 Code RO 97 .text.adc_raw_to_mv dcdc.o
0x08002130 0x08002130 0x0000004c Code RO 107 .text.hrtim1_wait_dll_ready dcdc.o 0x0800210c 0x0800210c 0x00000034 Code RO 123 .text.clamp_u32 dcdc.o
0x0800217c 0x0800217c 0x00000042 Code RO 81 .text.hrtim_max_duty_ticks dcdc.o 0x08002140 0x08002140 0x00000026 Code RO 146 .text.fputc retarget.o
0x080021be 0x080021be 0x00000002 PAD 0x08002166 0x08002166 0x00000002 PAD
0x080021c0 0x080021c0 0x0000007a Code RO 105 .text.hrtim_period_from_clock dcdc.o 0x08002168 0x08002168 0x000000e4 Code RO 57 .text.gpio_init_for_dcdc dcdc.o
0x0800223a 0x0800223a 0x00000002 PAD 0x0800224c 0x0800224c 0x00000074 Code RO 142 .text.gpio_pc10_pc11_to_usart3 retarget.o
0x0800223c 0x0800223c 0x0000004a Code RO 71 .text.latch_fault dcdc.o 0x080022c0 0x080022c0 0x0000008e Code RO 73 .text.hrtim1_apply_pwm_config dcdc.o
0x08002286 0x08002286 0x00000002 PAD 0x0800234e 0x0800234e 0x00000002 PAD
0x08002288 0x08002288 0x0000016a Code RO 11 .text.main main.o 0x08002350 0x08002350 0x00000030 Code RO 67 .text.hrtim1_outputs_enable dcdc.o
0x080023f2 0x080023f2 0x00000002 PAD 0x08002380 0x08002380 0x0000004c Code RO 75 .text.hrtim1_set_duty dcdc.o
0x080023f4 0x080023f4 0x0000001e Code RO 89 .text.sense_mv_to_current_ma dcdc.o 0x080023cc 0x080023cc 0x00000122 Code RO 65 .text.hrtim1_timer_c_init dcdc.o
0x08002412 0x08002412 0x00000002 PAD 0x080024ee 0x080024ee 0x00000002 PAD
0x08002414 0x08002414 0x00000022 Code RO 87 .text.sense_mv_to_voltage_mv dcdc.o 0x080024f0 0x080024f0 0x0000004c Code RO 121 .text.hrtim1_wait_dll_ready dcdc.o
0x08002436 0x08002436 0x00000002 PAD 0x0800253c 0x0800253c 0x0000005c Code RO 93 .text.hrtim_max_duty_ticks dcdc.o
0x08002438 0x08002438 0x00000010 Code RO 61 .text.set_loads_off dcdc.o 0x08002598 0x08002598 0x0000008c Code RO 119 .text.hrtim_period_from_frequency dcdc.o
0x08002448 0x08002448 0x00000030 Code RO 59 .text.set_usbpd_input_switch dcdc.o 0x08002624 0x08002624 0x0000004a Code RO 71 .text.latch_fault dcdc.o
0x08002478 0x08002478 0x0000004a Code RO 39 .text.wait_mask_clear board.o 0x0800266e 0x0800266e 0x00000002 PAD
0x080024c2 0x080024c2 0x00000002 PAD 0x08002670 0x08002670 0x000001bc Code RO 11 .text.main main.o
0x080024c4 0x080024c4 0x0000004e Code RO 43 .text.wait_mask_set board.o 0x0800282c 0x0800282c 0x00000034 Code RO 79 .text.permille_to_ticks dcdc.o
0x08002512 0x08002512 0x00000002 PAD 0x08002860 0x08002860 0x0000001e Code RO 101 .text.sense_mv_to_current_ma dcdc.o
0x08002514 0x08002514 0x00000050 Code RO 45 .text.wait_mask_value board.o 0x0800287e 0x0800287e 0x00000002 PAD
0x08002564 0x08002564 0x0000003e Code RO 332 CL$$btod_d2e c_w.l(btod.o) 0x08002880 0x08002880 0x00000022 Code RO 99 .text.sense_mv_to_voltage_mv dcdc.o
0x080025a2 0x080025a2 0x00000046 Code RO 334 CL$$btod_d2e_denorm_low c_w.l(btod.o) 0x080028a2 0x080028a2 0x00000002 PAD
0x080025e8 0x080025e8 0x00000060 Code RO 333 CL$$btod_d2e_norm_op1 c_w.l(btod.o) 0x080028a4 0x080028a4 0x00000010 Code RO 61 .text.set_loads_off dcdc.o
0x08002648 0x08002648 0x00000338 Code RO 342 CL$$btod_div_common c_w.l(btod.o) 0x080028b4 0x080028b4 0x00000030 Code RO 59 .text.set_usbpd_input_switch dcdc.o
0x08002980 0x08002980 0x000000dc Code RO 339 CL$$btod_e2e c_w.l(btod.o) 0x080028e4 0x080028e4 0x0000004a Code RO 39 .text.wait_mask_clear board.o
0x08002a5c 0x08002a5c 0x0000002a Code RO 336 CL$$btod_ediv c_w.l(btod.o) 0x0800292e 0x0800292e 0x00000002 PAD
0x08002a86 0x08002a86 0x0000002a Code RO 335 CL$$btod_emul c_w.l(btod.o) 0x08002930 0x08002930 0x0000004e Code RO 43 .text.wait_mask_set board.o
0x08002ab0 0x08002ab0 0x00000244 Code RO 341 CL$$btod_mult_common c_w.l(btod.o) 0x0800297e 0x0800297e 0x00000002 PAD
0x08002cf4 0x08002cf4 0x00000030 Code RO 374 i.__ARM_fpclassify m_wm.l(fpclassify.o) 0x08002980 0x08002980 0x00000050 Code RO 45 .text.wait_mask_value board.o
0x08002d24 0x08002d24 0x0000000e Code RO 234 i._is_digit c_w.l(__printf_wp.o) 0x080029d0 0x080029d0 0x0000003e Code RO 349 CL$$btod_d2e c_w.l(btod.o)
0x08002d32 0x08002d32 0x00000002 PAD 0x08002a0e 0x08002a0e 0x00000046 Code RO 351 CL$$btod_d2e_denorm_low c_w.l(btod.o)
0x08002d34 0x08002d34 0x0000002c Code RO 357 locale$$code c_w.l(lc_numeric_c.o) 0x08002a54 0x08002a54 0x00000060 Code RO 350 CL$$btod_d2e_norm_op1 c_w.l(btod.o)
0x08002d60 0x08002d60 0x0000002c Code RO 386 locale$$code c_w.l(lc_ctype_c.o) 0x08002ab4 0x08002ab4 0x00000338 Code RO 359 CL$$btod_div_common c_w.l(btod.o)
0x08002d8c 0x08002d8c 0x0000001a Code RO 456 x$fpl$fpinit fz_wm.l(fpinit.o) 0x08002dec 0x08002dec 0x000000dc Code RO 356 CL$$btod_e2e c_w.l(btod.o)
0x08002da6 0x08002da6 0x00000004 Code RO 267 x$fpl$printf1 fz_wm.l(printf1.o) 0x08002ec8 0x08002ec8 0x0000002a Code RO 353 CL$$btod_ediv c_w.l(btod.o)
0x08002daa 0x08002daa 0x00000004 Code RO 269 x$fpl$printf2 fz_wm.l(printf2.o) 0x08002ef2 0x08002ef2 0x0000002a Code RO 352 CL$$btod_emul c_w.l(btod.o)
0x08002dae 0x08002dae 0x00000000 Code RO 373 x$fpl$usenofp fz_wm.l(usenofp.o) 0x08002f1c 0x08002f1c 0x00000244 Code RO 358 CL$$btod_mult_common c_w.l(btod.o)
0x08002dae 0x08002dae 0x00000002 PAD 0x08003160 0x08003160 0x00000030 Code RO 391 i.__ARM_fpclassify m_wm.l(fpclassify.o)
0x08002db0 0x08002db0 0x00000008 Data RO 193 .constdata c_w.l(_printf_wctomb.o) 0x08003190 0x08003190 0x0000000e Code RO 251 i._is_digit c_w.l(__printf_wp.o)
0x08002db8 0x08002db8 0x00000028 Data RO 222 .constdata c_w.l(_printf_hex_int_ll_ptr.o) 0x0800319e 0x0800319e 0x00000002 PAD
0x08002de0 0x08002de0 0x00000011 Data RO 242 .constdata c_w.l(__printf_flags_ss_wp.o) 0x080031a0 0x080031a0 0x0000002c Code RO 374 locale$$code c_w.l(lc_numeric_c.o)
0x08002df1 0x08002df1 0x00000026 Data RO 301 .constdata c_w.l(_printf_fp_hex.o) 0x080031cc 0x080031cc 0x0000002c Code RO 403 locale$$code c_w.l(lc_ctype_c.o)
0x08002e17 0x08002e17 0x00000001 PAD 0x080031f8 0x080031f8 0x0000001a Code RO 473 x$fpl$fpinit fz_wm.l(fpinit.o)
0x08002e18 0x08002e18 0x00000094 Data RO 330 .constdata c_w.l(bigflt0.o) 0x08003212 0x08003212 0x00000004 Code RO 284 x$fpl$printf1 fz_wm.l(printf1.o)
0x08002eac 0x08002eac 0x00000010 Data RO 151 .rodata.AHBPrescTable system_stm32g4xx.o 0x08003216 0x08003216 0x00000004 Code RO 286 x$fpl$printf2 fz_wm.l(printf2.o)
0x08002ebc 0x08002ebc 0x0000012a Data RO 13 .rodata.str1.1 main.o 0x0800321a 0x0800321a 0x00000000 Code RO 390 x$fpl$usenofp fz_wm.l(usenofp.o)
0x08002fe6 0x08002fe6 0x00000069 Data RO 115 .rodata.str1.1 dcdc.o 0x0800321a 0x0800321a 0x00000002 PAD
0x0800304f 0x0800304f 0x00000001 PAD 0x0800321c 0x0800321c 0x00000008 Data RO 210 .constdata c_w.l(_printf_wctomb.o)
0x08003050 0x08003050 0x00000020 Data RO 511 Region$$Table anon$$obj.o 0x08003224 0x08003224 0x00000028 Data RO 239 .constdata c_w.l(_printf_hex_int_ll_ptr.o)
0x08003070 0x08003070 0x0000001c Data RO 356 locale$$data c_w.l(lc_numeric_c.o) 0x0800324c 0x0800324c 0x00000011 Data RO 259 .constdata c_w.l(__printf_flags_ss_wp.o)
0x0800308c 0x0800308c 0x00000110 Data RO 385 locale$$data c_w.l(lc_ctype_c.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 Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080031a0 0x00000004 Data RW 150 .data.SystemCoreClock system_stm32g4xx.o 0x20000000 0x080036c8 0x00000004 Data RW 167 .data.SystemCoreClock system_stm32g4xx.o
0x20000004 0x080031a4 0x00000004 Data RW 114 .data.s_duty_ticks dcdc.o 0x20000004 0x080036cc 0x00000040 Data RW 125 .data.g_dcdc_config dcdc.o
0x20000008 0x080031a8 0x00000004 Data RW 113 .data.s_period_ticks dcdc.o 0x20000044 0x0800370c 0x00000004 Data RW 131 .data.s_duty_ticks dcdc.o
0x2000000c 0x080031ac 0x00000004 PAD 0x20000048 0x08003710 0x00000004 Data RW 130 .data.s_period_ticks dcdc.o
0x20000010 - 0x00000060 Zero RW 377 .bss c_w.l(libspace.o) 0x2000004c 0x08003714 0x00000004 PAD
0x20000070 - 0x00000054 Zero RW 137 .bss.__stdout retarget.o 0x20000050 - 0x00000060 Zero RW 394 .bss c_w.l(libspace.o)
0x200000c4 - 0x00000001 Zero RW 111 .bss.s_fault dcdc.o 0x200000b0 - 0x00000054 Zero RW 154 .bss.__stdout retarget.o
0x200000c5 - 0x00000001 Zero RW 109 .bss.s_hrtim_ready dcdc.o 0x20000104 - 0x00000001 Zero RW 128 .bss.s_fault dcdc.o
0x200000c6 0x080031ac 0x00000002 PAD 0x20000105 - 0x00000001 Zero RW 126 .bss.s_hrtim_ready dcdc.o
0x200000c8 - 0x00000004 Zero RW 112 .bss.s_integrator_ticks dcdc.o 0x20000106 0x08003714 0x00000002 PAD
0x200000cc - 0x00000004 Zero RW 47 .bss.s_ms_ticks board.o 0x20000108 - 0x00000004 Zero RW 129 .bss.s_integrator_ticks dcdc.o
0x200000d0 - 0x00000001 Zero RW 110 .bss.s_state dcdc.o 0x2000010c - 0x00000004 Zero RW 47 .bss.s_ms_ticks board.o
0x200000d1 0x080031ac 0x00000007 PAD 0x20000110 - 0x00000001 Zero RW 127 .bss.s_state dcdc.o
0x200000d8 - 0x00000200 Zero RW 2 HEAP startup_stm32g474xx.o 0x20000111 0x08003714 0x00000007 PAD
0x200002d8 - 0x00000400 Zero RW 1 STACK startup_stm32g474xx.o 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 Code (inc. data) RO Data RW Data ZI Data Debug Object Name
934 0 0 0 4 8239 board.o 934 0 0 0 4 8239 board.o
2178 10 105 8 7 9738 dcdc.o 3230 12 134 72 7 12266 dcdc.o
362 0 298 0 0 1407 main.o 444 0 456 0 0 1432 main.o
310 0 0 0 84 3260 retarget.o 310 0 0 0 84 3260 retarget.o
64 26 472 0 1536 1048 startup_stm32g474xx.o 64 26 472 0 1536 1048 startup_stm32g474xx.o
238 0 16 4 0 2925 system_stm32g4xx.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) 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 Code (inc. data) RO Data RW Data ZI Data Debug
11224 300 1476 12 1740 28777 Grand Totals 12356 302 1664 76 1740 31330 Grand Totals
11224 300 1476 12 1740 28777 ELF Image Totals 12356 302 1664 76 1740 31330 ELF Image Totals
11224 300 1476 12 0 0 ROM Totals 12356 302 1664 76 0 0 ROM Totals
============================================================================== ==============================================================================
Total RO Size (Code + RO Data) 12700 ( 12.40kB) Total RO Size (Code + RO Data) 14020 ( 13.69kB)
Total RW Size (RW Data + ZI Data) 1752 ( 1.71kB) Total RW Size (RW Data + ZI Data) 1816 ( 1.77kB)
Total ROM Size (Code + RO Data + RW Data) 12712 ( 12.41kB) Total ROM Size (Code + RO Data + RW Data) 14096 ( 13.77kB)
============================================================================== ==============================================================================

View File

@@ -26,15 +26,14 @@ Project File Date: 05/23/2026
<h2>Output:</h2> <h2>Output:</h2>
*** Using Compiler 'V6.22', folder: 'C:\Keil_v5_41\ARM\ARMCLANG\Bin' *** Using Compiler 'V6.22', folder: 'C:\Keil_v5_41\ARM\ARMCLANG\Bin'
Rebuild target 'B-G474E-DPOW1_DCDC' Build target 'B-G474E-DPOW1_DCDC'
compiling retarget.c...
compiling main.c...
compiling system_stm32g4xx.c... compiling system_stm32g4xx.c...
compiling dcdc.c... compiling main.c...
assembling startup_stm32g474xx.s... compiling retarget.c...
compiling board.c... compiling board.c...
compiling dcdc.c...
linking... 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... FromELF: creating hex file...
"Objects\B-G474E-DPOW1_DCDC.axf" - 0 Error(s), 0 Warning(s). "Objects\B-G474E-DPOW1_DCDC.axf" - 0 Error(s), 0 Warning(s).

View File

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

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [Objects\B-G474E-DPOW1_DCDC.axf]</title></head> <title>Static Call Graph - [Objects\B-G474E-DPOW1_DCDC.axf]</title></head>
<body><HR> <body><HR>
<H1>Static Call Graph for image Objects\B-G474E-DPOW1_DCDC.axf</H1><HR> <H1>Static Call Graph for image Objects\B-G474E-DPOW1_DCDC.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6220000: Last Updated: Sat May 23 17:51:30 2026 <BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6220000: Last Updated: Sat May 23 18:42:21 2026
<BR><P> <BR><P>
<H3>Maximum Stack Usage = 324 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3> <H3>Maximum Stack Usage = 324 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3> Call chain for Maximum Stack Depth:</H3>
@@ -167,9 +167,9 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry <BR><BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL> </UL>
<P><STRONG><a name="[fe]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) <P><STRONG><a name="[108]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[ff]"></a>__scatterload_loop</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) <P><STRONG><a name="[109]"></a>__scatterload_loop</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[77]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED) <P><STRONG><a name="[77]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy <BR><BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
@@ -177,9 +177,9 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy <BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL> </UL>
<P><STRONG><a name="[100]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED) <P><STRONG><a name="[10a]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED)
<P><STRONG><a name="[101]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) <P><STRONG><a name="[10b]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[78]"></a>_printf_n</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001)) <P><STRONG><a name="[78]"></a>_printf_n</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001))
<BR><BR>[Calls]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_charcount <BR><BR>[Calls]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_charcount
@@ -224,7 +224,7 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex <BR>[Calls]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex
</UL> </UL>
<P><STRONG><a name="[102]"></a>_printf_ll</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_ll.o(.ARM.Collect$$_printf_percent$$00000007)) <P><STRONG><a name="[10c]"></a>_printf_ll</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_ll.o(.ARM.Collect$$_printf_percent$$00000007))
<P><STRONG><a name="[82]"></a>_printf_i</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_i.o(.ARM.Collect$$_printf_percent$$00000008)) <P><STRONG><a name="[82]"></a>_printf_i</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_i.o(.ARM.Collect$$_printf_percent$$00000008))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
@@ -296,7 +296,7 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_ll_hex <BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_ll_hex
</UL> </UL>
<P><STRONG><a name="[103]"></a>_printf_l</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_l.o(.ARM.Collect$$_printf_percent$$00000012)) <P><STRONG><a name="[10d]"></a>_printf_l</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_l.o(.ARM.Collect$$_printf_percent$$00000012))
<P><STRONG><a name="[92]"></a>_printf_c</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_c.o(.ARM.Collect$$_printf_percent$$00000013)) <P><STRONG><a name="[92]"></a>_printf_c</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_c.o(.ARM.Collect$$_printf_percent$$00000013))
<BR><BR>[Stack]<UL><LI>Max Depth = 40 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 40 + Unknown Stack Size
@@ -326,7 +326,7 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wstring <BR>[Calls]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wstring
</UL> </UL>
<P><STRONG><a name="[104]"></a>_printf_percent_end</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017)) <P><STRONG><a name="[10e]"></a>_printf_percent_end</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))
<P><STRONG><a name="[a4]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000)) <P><STRONG><a name="[a4]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li <BR><BR>[Called By]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
@@ -336,21 +336,21 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_init <BR><BR>[Calls]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_init
</UL> </UL>
<P><STRONG><a name="[105]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) <P><STRONG><a name="[10f]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[9c]"></a>__rt_lib_init_lc_common</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) <P><STRONG><a name="[9c]"></a>__rt_lib_init_lc_common</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))
<BR><BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_locale <BR><BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_locale
</UL> </UL>
<P><STRONG><a name="[106]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006)) <P><STRONG><a name="[110]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
<P><STRONG><a name="[107]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010)) <P><STRONG><a name="[111]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
<P><STRONG><a name="[108]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) <P><STRONG><a name="[112]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[109]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) <P><STRONG><a name="[113]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
<P><STRONG><a name="[10a]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) <P><STRONG><a name="[114]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[9e]"></a>__rt_lib_init_lc_ctype_2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000014)) <P><STRONG><a name="[9e]"></a>__rt_lib_init_lc_ctype_2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000014))
<BR><BR>[Stack]<UL><LI>Max Depth = 16 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 16 + Unknown Stack Size
@@ -359,9 +359,9 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_ctype <BR>[Calls]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_ctype
</UL> </UL>
<P><STRONG><a name="[10b]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) <P><STRONG><a name="[115]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[10c]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) <P><STRONG><a name="[116]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[9f]"></a>__rt_lib_init_lc_numeric_2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000018)) <P><STRONG><a name="[9f]"></a>__rt_lib_init_lc_numeric_2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000018))
<BR><BR>[Stack]<UL><LI>Max Depth = 16 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 16 + Unknown Stack Size
@@ -370,56 +370,56 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_numeric <BR>[Calls]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_numeric
</UL> </UL>
<P><STRONG><a name="[10d]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) <P><STRONG><a name="[117]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[10e]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) <P><STRONG><a name="[118]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[10f]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) <P><STRONG><a name="[119]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[110]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) <P><STRONG><a name="[11a]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[111]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034)) <P><STRONG><a name="[11b]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
<P><STRONG><a name="[112]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) <P><STRONG><a name="[11c]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[113]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) <P><STRONG><a name="[11d]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[114]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) <P><STRONG><a name="[11e]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[115]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) <P><STRONG><a name="[11f]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[116]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) <P><STRONG><a name="[120]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[117]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035)) <P><STRONG><a name="[121]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
<P><STRONG><a name="[118]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) <P><STRONG><a name="[122]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[119]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027)) <P><STRONG><a name="[123]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
<P><STRONG><a name="[a9]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000)) <P><STRONG><a name="[a9]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls <BR><BR>[Called By]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
</UL> </UL>
<P><STRONG><a name="[11a]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) <P><STRONG><a name="[124]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
<P><STRONG><a name="[11b]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)) <P><STRONG><a name="[125]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
<P><STRONG><a name="[11c]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)) <P><STRONG><a name="[126]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
<P><STRONG><a name="[11d]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)) <P><STRONG><a name="[127]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
<P><STRONG><a name="[11e]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)) <P><STRONG><a name="[128]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
<P><STRONG><a name="[11f]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) <P><STRONG><a name="[129]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<P><STRONG><a name="[120]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) <P><STRONG><a name="[12a]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
<P><STRONG><a name="[75]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000)) <P><STRONG><a name="[75]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main <BR><BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2 <LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
</UL> </UL>
<P><STRONG><a name="[121]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) <P><STRONG><a name="[12b]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
<P><STRONG><a name="[a1]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004)) <P><STRONG><a name="[a1]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
@@ -432,17 +432,17 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init <BR><BR>[Calls]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
</UL> </UL>
<P><STRONG><a name="[122]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) <P><STRONG><a name="[12c]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[a5]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)) <P><STRONG><a name="[a5]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 248 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 312 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf <LI>Call Chain = __rt_entry_main &rArr; main &rArr; DCDC_Service1ms &rArr; DCDC_ControlStep &rArr; latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit <BR>[Calls]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[123]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) <P><STRONG><a name="[12d]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
<P><STRONG><a name="[cd]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000)) <P><STRONG><a name="[cd]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit <BR><BR>[Called By]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
@@ -452,7 +452,7 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown <BR><BR>[Calls]<UL><LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
</UL> </UL>
<P><STRONG><a name="[124]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) <P><STRONG><a name="[12e]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
<P><STRONG><a name="[aa]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004)) <P><STRONG><a name="[aa]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 4 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 4 + Unknown Stack Size
@@ -831,17 +831,18 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap <BR><BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL> </UL>
<P><STRONG><a name="[125]"></a>__use_no_semihosting</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED) <P><STRONG><a name="[12f]"></a>__use_no_semihosting</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED)
<P><STRONG><a name="[dc]"></a>__aeabi_uldivmod</STRONG> (Thumb, 0 bytes, Stack size 48 bytes, lludivv7m.o(.text)) <P><STRONG><a name="[e0]"></a>__aeabi_uldivmod</STRONG> (Thumb, 0 bytes, Stack size 48 bytes, lludivv7m.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = __aeabi_uldivmod <BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = __aeabi_uldivmod
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sense_mv_to_voltage_mv <BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_period_from_clock <LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sense_mv_to_voltage_mv
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep <LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;permille_to_ticks
<LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_period_from_frequency
</UL> </UL>
<P><STRONG><a name="[126]"></a>_ll_udiv</STRONG> (Thumb, 240 bytes, Stack size 48 bytes, lludivv7m.o(.text), UNUSED) <P><STRONG><a name="[130]"></a>_ll_udiv</STRONG> (Thumb, 240 bytes, Stack size 48 bytes, lludivv7m.o(.text), UNUSED)
<P><STRONG><a name="[ac]"></a>printf</STRONG> (Thumb, 20 bytes, Stack size 24 bytes, printf.o(.text)) <P><STRONG><a name="[ac]"></a>printf</STRONG> (Thumb, 20 bytes, Stack size 24 bytes, printf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 144 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 144 + Unknown Stack Size
@@ -852,15 +853,15 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[127]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) <P><STRONG><a name="[131]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[128]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) <P><STRONG><a name="[132]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[129]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) <P><STRONG><a name="[133]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[12a]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) <P><STRONG><a name="[134]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[12b]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) <P><STRONG><a name="[135]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[af]"></a>_printf_pre_padding</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text)) <P><STRONG><a name="[af]"></a>_printf_pre_padding</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _printf_pre_padding <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _printf_pre_padding
@@ -1187,15 +1188,15 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main <BR>[Called By]<UL><LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL> </UL>
<P><STRONG><a name="[12c]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) <P><STRONG><a name="[136]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[cb]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text)) <P><STRONG><a name="[cb]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap <BR><BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL> </UL>
<P><STRONG><a name="[12d]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) <P><STRONG><a name="[137]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[fd]"></a>strcmp</STRONG> (Thumb, 124 bytes, Stack size 8 bytes, strcmpv7em.o(.text)) <P><STRONG><a name="[107]"></a>strcmp</STRONG> (Thumb, 124 bytes, Stack size 8 bytes, strcmpv7em.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strcmp <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strcmp
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_ctype <BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_ctype
@@ -1207,7 +1208,7 @@ Global Symbols
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Millis <BR>[Calls]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Millis
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc1_init <BR>[Called By]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc1_init
</UL> </UL>
<P><STRONG><a name="[d3]"></a>Board_FatalError</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, board.o(.text.Board_FatalError)) <P><STRONG><a name="[d3]"></a>Board_FatalError</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, board.o(.text.Board_FatalError))
@@ -1229,84 +1230,155 @@ Global Symbols
<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[d9]"></a>DCDC_ControlStep</STRONG> (Thumb, 366 bytes, Stack size 48 bytes, dcdc.o(.text.DCDC_ControlStep)) <P><STRONG><a name="[d9]"></a>DCDC_ApplyRuntimeConfig</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_ApplyRuntimeConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = DCDC_ControlStep &rArr; DCDC_ReadMeasurements &rArr; sense_mv_to_voltage_mv &rArr; __aeabi_uldivmod <BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = DCDC_ApplyRuntimeConfig &rArr; hrtim1_apply_pwm_config &rArr; hrtim_period_from_frequency &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod <BR>[Calls]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;permille_to_ticks
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty <LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault <LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_apply_pwm_config
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Service1ms
</UL> </UL>
<P><STRONG><a name="[f6]"></a>DCDC_FaultText</STRONG> (Thumb, 108 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_FaultText)) <P><STRONG><a name="[dd]"></a>DCDC_ControlStep</STRONG> (Thumb, 406 bytes, Stack size 48 bytes, dcdc.o(.text.DCDC_ControlStep))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = DCDC_ControlStep &rArr; latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements
</UL>
<BR>[Called By]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Service1ms
</UL>
<P><STRONG><a name="[100]"></a>DCDC_FaultText</STRONG> (Thumb, 108 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_FaultText))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = DCDC_FaultText <BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = DCDC_FaultText
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[f7]"></a>DCDC_GetDutyTicks</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetDutyTicks)) <P><STRONG><a name="[101]"></a>DCDC_GetDutyTicks</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetDutyTicks))
<BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[f5]"></a>DCDC_GetFault</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetFault)) <P><STRONG><a name="[ff]"></a>DCDC_GetFault</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetFault))
<BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[f1]"></a>DCDC_GetPeriodTicks</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetPeriodTicks)) <P><STRONG><a name="[ee]"></a>DCDC_GetMode</STRONG> (Thumb, 52 bytes, Stack size 4 bytes, dcdc.o(.text.DCDC_GetMode))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = DCDC_GetMode
</UL>
<BR>[Called By]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Service1ms
<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[fa]"></a>DCDC_GetPeriodTicks</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetPeriodTicks))
<BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[f3]"></a>DCDC_GetState</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetState)) <P><STRONG><a name="[fd]"></a>DCDC_GetState</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_GetState))
<BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[df]"></a>DCDC_Init</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_Init)) <P><STRONG><a name="[e2]"></a>DCDC_Init</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = DCDC_Init &rArr; hrtim1_timer_c_init &rArr; hrtim_period_from_clock &rArr; __aeabi_uldivmod <BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = DCDC_Init &rArr; hrtim1_timer_c_init &rArr; hrtim1_apply_pwm_config &rArr; hrtim_period_from_frequency &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_outputs_enable <BR>[Calls]<UL><LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_outputs_enable
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init <LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init
<LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc1_init <LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc1_init
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_loads_off <LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_loads_off
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_usbpd_input_switch <LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_usbpd_input_switch
<LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gpio_init_for_dcdc <LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gpio_init_for_dcdc
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[f2]"></a>DCDC_IsHrtimReady</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_IsHrtimReady)) <P><STRONG><a name="[fb]"></a>DCDC_IsHrtimReady</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.DCDC_IsHrtimReady))
<BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[da]"></a>DCDC_ReadMeasurements</STRONG> (Thumb, 112 bytes, Stack size 32 bytes, dcdc.o(.text.DCDC_ReadMeasurements)) <P><STRONG><a name="[fc]"></a>DCDC_ModeText</STRONG> (Thumb, 88 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_ModeText))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = DCDC_ModeText
</UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[de]"></a>DCDC_ReadMeasurements</STRONG> (Thumb, 112 bytes, Stack size 32 bytes, dcdc.o(.text.DCDC_ReadMeasurements))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = DCDC_ReadMeasurements &rArr; sense_mv_to_voltage_mv &rArr; __aeabi_uldivmod <BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = DCDC_ReadMeasurements &rArr; sense_mv_to_voltage_mv &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sense_mv_to_current_ma <BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sense_mv_to_current_ma
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sense_mv_to_voltage_mv <LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sense_mv_to_voltage_mv
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_raw_to_mv <LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_raw_to_mv
<LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc1_read_channel <LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc1_read_channel
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep <BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep
<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[f4]"></a>DCDC_StateText</STRONG> (Thumb, 94 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_StateText)) <P><STRONG><a name="[ed]"></a>DCDC_Service1ms</STRONG> (Thumb, 160 bytes, Stack size 16 bytes, dcdc.o(.text.DCDC_Service1ms))
<BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = DCDC_Service1ms &rArr; DCDC_ControlStep &rArr; latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ApplyRuntimeConfig
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Stop
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StartPwmTest
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Start
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetMode
</UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[f1]"></a>DCDC_Start</STRONG> (Thumb, 124 bytes, Stack size 8 bytes, dcdc.o(.text.DCDC_Start))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = DCDC_Start &rArr; latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_apply_pwm_config
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_outputs_enable
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_usbpd_input_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Service1ms
</UL>
<P><STRONG><a name="[f0]"></a>DCDC_StartPwmTest</STRONG> (Thumb, 142 bytes, Stack size 16 bytes, dcdc.o(.text.DCDC_StartPwmTest))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = DCDC_StartPwmTest &rArr; latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;permille_to_ticks
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_apply_pwm_config
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_outputs_enable
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_usbpd_input_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Service1ms
</UL>
<P><STRONG><a name="[fe]"></a>DCDC_StateText</STRONG> (Thumb, 108 bytes, Stack size 12 bytes, dcdc.o(.text.DCDC_StateText))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = DCDC_StateText <BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = DCDC_StateText
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[ea]"></a>Retarget_Init</STRONG> (Thumb, 98 bytes, Stack size 16 bytes, retarget.o(.text.Retarget_Init)) <P><STRONG><a name="[ef]"></a>DCDC_Stop</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, dcdc.o(.text.DCDC_Stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = DCDC_Stop &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_outputs_enable
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_usbpd_input_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Service1ms
</UL>
<P><STRONG><a name="[f2]"></a>Retarget_Init</STRONG> (Thumb, 98 bytes, Stack size 16 bytes, retarget.o(.text.Retarget_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Retarget_Init <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Retarget_Init
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gpio_pc10_pc11_to_usart3 <BR>[Calls]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gpio_pc10_pc11_to_usart3
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[ee]"></a>Retarget_PutChar</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, retarget.o(.text.Retarget_PutChar)) <P><STRONG><a name="[f6]"></a>Retarget_PutChar</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, retarget.o(.text.Retarget_PutChar))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = Retarget_PutChar <BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = Retarget_PutChar
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fputc <BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fputc
@@ -1334,55 +1406,57 @@ Global Symbols
<P><STRONG><a name="[71]"></a>fputc</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, retarget.o(.text.fputc)) <P><STRONG><a name="[71]"></a>fputc</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, retarget.o(.text.fputc))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = fputc &rArr; Retarget_PutChar <BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = fputc &rArr; Retarget_PutChar
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Retarget_PutChar <BR>[Calls]<UL><LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Retarget_PutChar
</UL> </UL>
<BR>[Address Reference Count : 1]<UL><LI> _printf_char_file.o(.text) <BR>[Address Reference Count : 1]<UL><LI> _printf_char_file.o(.text)
</UL> </UL>
<P><STRONG><a name="[a6]"></a>main</STRONG> (Thumb, 362 bytes, Stack size 104 bytes, main.o(.text.main)) <P><STRONG><a name="[a6]"></a>main</STRONG> (Thumb, 444 bytes, Stack size 128 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 248 + Unknown Stack Size <BR><BR>[Stack]<UL><LI>Max Depth = 312 + Unknown Stack Size
<LI>Call Chain = main &rArr; printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf <LI>Call Chain = main &rArr; DCDC_Service1ms &rArr; DCDC_ControlStep &rArr; latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;printf <BR>[Calls]<UL><LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;printf
<LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetDutyTicks <LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetDutyTicks
<LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_FaultText <LI><a href="#[100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_FaultText
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetFault <LI><a href="#[ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetFault
<LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StateText <LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StateText
<LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetState <LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetState
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements <LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep <LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Service1ms
<LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Millis <LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Millis
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_IsHrtimReady <LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ModeText
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetPeriodTicks <LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetMode
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init <LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_IsHrtimReady
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Retarget_Init <LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_GetPeriodTicks
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Retarget_Init
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init <LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main <BR>[Called By]<UL><LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL> </UL>
<P><STRONG><a name="[c0]"></a>_btod_d2e</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e)) <P><STRONG><a name="[c0]"></a>_btod_d2e</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e))
<BR><BR>[Calls]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_norm_op1 <BR><BR>[Calls]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_norm_op1
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits <BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL> </UL>
<P><STRONG><a name="[f9]"></a>_d2e_denorm_low</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_denorm_low)) <P><STRONG><a name="[103]"></a>_d2e_denorm_low</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_denorm_low))
<BR><BR>[Called By]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_norm_op1 <BR><BR>[Called By]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_norm_op1
</UL> </UL>
<P><STRONG><a name="[f8]"></a>_d2e_norm_op1</STRONG> (Thumb, 96 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_norm_op1)) <P><STRONG><a name="[102]"></a>_d2e_norm_op1</STRONG> (Thumb, 96 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_norm_op1))
<BR><BR>[Calls]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_denorm_low <BR><BR>[Calls]<UL><LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_denorm_low
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_d2e <BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_d2e
</UL> </UL>
<P><STRONG><a name="[fa]"></a>__btod_div_common</STRONG> (Thumb, 696 bytes, Stack size 24 bytes, btod.o(CL$$btod_div_common)) <P><STRONG><a name="[104]"></a>__btod_div_common</STRONG> (Thumb, 696 bytes, Stack size 24 bytes, btod.o(CL$$btod_div_common))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __btod_div_common <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __btod_div_common
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_ediv <BR>[Called By]<UL><LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_ediv
</UL> </UL>
<P><STRONG><a name="[fb]"></a>_e2e</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, btod.o(CL$$btod_e2e)) <P><STRONG><a name="[105]"></a>_e2e</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, btod.o(CL$$btod_e2e))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = _e2e <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = _e2e
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul <BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul
@@ -1392,8 +1466,8 @@ Global Symbols
<P><STRONG><a name="[c1]"></a>_btod_ediv</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_ediv)) <P><STRONG><a name="[c1]"></a>_btod_ediv</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_ediv))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = _btod_ediv &rArr; _e2e <BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = _btod_ediv &rArr; _e2e
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2e <BR>[Calls]<UL><LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2e
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_div_common <LI><a href="#[104]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_div_common
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento <BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits <LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
@@ -1402,14 +1476,14 @@ Global Symbols
<P><STRONG><a name="[c2]"></a>_btod_emul</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_emul)) <P><STRONG><a name="[c2]"></a>_btod_emul</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_emul))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = _btod_emul &rArr; _e2e <BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = _btod_emul &rArr; _e2e
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_mult_common <BR>[Calls]<UL><LI><a href="#[106]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_mult_common
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2e <LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2e
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento <BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits <LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL> </UL>
<P><STRONG><a name="[fc]"></a>__btod_mult_common</STRONG> (Thumb, 580 bytes, Stack size 16 bytes, btod.o(CL$$btod_mult_common)) <P><STRONG><a name="[106]"></a>__btod_mult_common</STRONG> (Thumb, 580 bytes, Stack size 16 bytes, btod.o(CL$$btod_mult_common))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __btod_mult_common <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __btod_mult_common
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul <BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul
@@ -1429,7 +1503,7 @@ Global Symbols
<P><STRONG><a name="[a0]"></a>_get_lc_numeric</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, lc_numeric_c.o(locale$$code)) <P><STRONG><a name="[a0]"></a>_get_lc_numeric</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, lc_numeric_c.o(locale$$code))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _get_lc_numeric &rArr; strcmp <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _get_lc_numeric &rArr; strcmp
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp <BR>[Calls]<UL><LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_lc_numeric_2 <BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_lc_numeric_2
</UL> </UL>
@@ -1437,7 +1511,7 @@ Global Symbols
<P><STRONG><a name="[73]"></a>_get_lc_ctype</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code)) <P><STRONG><a name="[73]"></a>_get_lc_ctype</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _get_lc_ctype &rArr; strcmp <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _get_lc_ctype &rArr; strcmp
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp <BR>[Calls]<UL><LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_lc_ctype_2 <BR>[Called By]<UL><LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_lc_ctype_2
</UL> </UL>
@@ -1447,9 +1521,9 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_fp_1 <BR><BR>[Called By]<UL><LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_fp_1
</UL> </UL>
<P><STRONG><a name="[12e]"></a>__fplib_config_fpu_vfp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) <P><STRONG><a name="[138]"></a>__fplib_config_fpu_vfp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED)
<P><STRONG><a name="[12f]"></a>__fplib_config_pureend_doubles</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) <P><STRONG><a name="[139]"></a>__fplib_config_pureend_doubles</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED)
<P><STRONG><a name="[7d]"></a>_printf_fp_dec</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, printf1.o(x$fpl$printf1)) <P><STRONG><a name="[7d]"></a>_printf_fp_dec</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, printf1.o(x$fpl$printf1))
<BR><BR>[Stack]<UL><LI>Max Depth = 324<LI>Call Chain = _printf_fp_dec &rArr; _printf_fp_dec_real &rArr; _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e <BR><BR>[Stack]<UL><LI>Max Depth = 324<LI>Call Chain = _printf_fp_dec &rArr; _printf_fp_dec_real &rArr; _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
@@ -1479,7 +1553,7 @@ Local Symbols
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_mask_value <LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_mask_value
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_mask_set <LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_mask_set
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_SetLatency <LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_SetLatency
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_mask_clear <LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_mask_clear
<LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Clock_UseHsi16 <LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Clock_UseHsi16
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init <BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
@@ -1488,7 +1562,7 @@ Local Symbols
<P><STRONG><a name="[d2]"></a>SysTick_Config</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, board.o(.text.SysTick_Config)) <P><STRONG><a name="[d2]"></a>SysTick_Config</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, board.o(.text.SysTick_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SysTick_Config &rArr; __NVIC_SetPriority <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SysTick_Config &rArr; __NVIC_SetPriority
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority <BR>[Calls]<UL><LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init <BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
</UL> </UL>
@@ -1504,7 +1578,7 @@ Local Symbols
<BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config <BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL> </UL>
<P><STRONG><a name="[ed]"></a>wait_mask_clear</STRONG> (Thumb, 74 bytes, Stack size 16 bytes, board.o(.text.wait_mask_clear)) <P><STRONG><a name="[f5]"></a>wait_mask_clear</STRONG> (Thumb, 74 bytes, Stack size 16 bytes, board.o(.text.wait_mask_clear))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = wait_mask_clear <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = wait_mask_clear
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config <BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
@@ -1531,121 +1605,169 @@ Local Symbols
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config <LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL> </UL>
<P><STRONG><a name="[ec]"></a>__NVIC_SetPriority</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, board.o(.text.__NVIC_SetPriority)) <P><STRONG><a name="[f4]"></a>__NVIC_SetPriority</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, board.o(.text.__NVIC_SetPriority))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __NVIC_SetPriority <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __NVIC_SetPriority
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Config <BR>[Called By]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Config
</UL> </UL>
<P><STRONG><a name="[e0]"></a>gpio_init_for_dcdc</STRONG> (Thumb, 228 bytes, Stack size 0 bytes, dcdc.o(.text.gpio_init_for_dcdc)) <P><STRONG><a name="[e3]"></a>gpio_init_for_dcdc</STRONG> (Thumb, 228 bytes, Stack size 0 bytes, dcdc.o(.text.gpio_init_for_dcdc))
<BR><BR>[Called By]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init <BR><BR>[Called By]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init
</UL> </UL>
<P><STRONG><a name="[e1]"></a>set_usbpd_input_switch</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.set_usbpd_input_switch)) <P><STRONG><a name="[e4]"></a>set_usbpd_input_switch</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.set_usbpd_input_switch))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = set_usbpd_input_switch <BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = set_usbpd_input_switch
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault <BR>[Called By]<UL><LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Stop
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init <LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StartPwmTest
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Start
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init
</UL> </UL>
<P><STRONG><a name="[e2]"></a>set_loads_off</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.set_loads_off)) <P><STRONG><a name="[e5]"></a>set_loads_off</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, dcdc.o(.text.set_loads_off))
<BR><BR>[Called By]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init <BR><BR>[Called By]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init
</UL> </UL>
<P><STRONG><a name="[e3]"></a>adc1_init</STRONG> (Thumb, 166 bytes, Stack size 16 bytes, dcdc.o(.text.adc1_init)) <P><STRONG><a name="[e6]"></a>adc1_init</STRONG> (Thumb, 166 bytes, Stack size 16 bytes, dcdc.o(.text.adc1_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = adc1_init &rArr; Board_DelayMs <BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = adc1_init &rArr; Board_DelayMs
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_DelayMs <BR>[Calls]<UL><LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_DelayMs
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init <BR>[Called By]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init
</UL> </UL>
<P><STRONG><a name="[e4]"></a>hrtim1_timer_c_init</STRONG> (Thumb, 266 bytes, Stack size 24 bytes, dcdc.o(.text.hrtim1_timer_c_init)) <P><STRONG><a name="[e7]"></a>hrtim1_timer_c_init</STRONG> (Thumb, 290 bytes, Stack size 24 bytes, dcdc.o(.text.hrtim1_timer_c_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = hrtim1_timer_c_init &rArr; hrtim_period_from_clock &rArr; __aeabi_uldivmod <BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = hrtim1_timer_c_init &rArr; hrtim1_apply_pwm_config &rArr; hrtim_period_from_frequency &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks <BR>[Calls]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_apply_pwm_config
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_wait_dll_ready <LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_period_from_clock <LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_wait_dll_ready
<LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_period_from_frequency
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init <BR>[Called By]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init
</UL> </UL>
<P><STRONG><a name="[e5]"></a>hrtim1_outputs_enable</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.hrtim1_outputs_enable)) <P><STRONG><a name="[e8]"></a>hrtim1_outputs_enable</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, dcdc.o(.text.hrtim1_outputs_enable))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = hrtim1_outputs_enable <BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = hrtim1_outputs_enable
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault <BR>[Called By]<UL><LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Stop
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init <LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StartPwmTest
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Start
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Init
</UL> </UL>
<P><STRONG><a name="[ef]"></a>hrtim_period_from_clock</STRONG> (Thumb, 122 bytes, Stack size 24 bytes, dcdc.o(.text.hrtim_period_from_clock)) <P><STRONG><a name="[f7]"></a>hrtim_period_from_frequency</STRONG> (Thumb, 140 bytes, Stack size 32 bytes, dcdc.o(.text.hrtim_period_from_frequency))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = hrtim_period_from_clock &rArr; __aeabi_uldivmod <BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = hrtim_period_from_frequency &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod <BR>[Calls]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init <BR>[Called By]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_apply_pwm_config
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init
</UL> </UL>
<P><STRONG><a name="[f0]"></a>hrtim1_wait_dll_ready</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, dcdc.o(.text.hrtim1_wait_dll_ready)) <P><STRONG><a name="[f9]"></a>hrtim1_wait_dll_ready</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, dcdc.o(.text.hrtim1_wait_dll_ready))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = hrtim1_wait_dll_ready <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = hrtim1_wait_dll_ready
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init <BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init
</UL> </UL>
<P><STRONG><a name="[dd]"></a>hrtim_max_duty_ticks</STRONG> (Thumb, 66 bytes, Stack size 4 bytes, dcdc.o(.text.hrtim_max_duty_ticks)) <P><STRONG><a name="[e1]"></a>hrtim_max_duty_ticks</STRONG> (Thumb, 92 bytes, Stack size 16 bytes, dcdc.o(.text.hrtim_max_duty_ticks))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = hrtim_max_duty_ticks <BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty <BR>[Calls]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;permille_to_ticks
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init <LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;clamp_u32
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep </UL>
<BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init
</UL> </UL>
<P><STRONG><a name="[db]"></a>latch_fault</STRONG> (Thumb, 74 bytes, Stack size 16 bytes, dcdc.o(.text.latch_fault)) <P><STRONG><a name="[da]"></a>hrtim1_apply_pwm_config</STRONG> (Thumb, 142 bytes, Stack size 40 bytes, dcdc.o(.text.hrtim1_apply_pwm_config))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks <BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = hrtim1_apply_pwm_config &rArr; hrtim_period_from_frequency &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty <BR>[Calls]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;clamp_u32
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_outputs_enable <LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_period_from_frequency
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_usbpd_input_switch
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep <BR>[Called By]<UL><LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ApplyRuntimeConfig
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StartPwmTest
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Start
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_timer_c_init
</UL> </UL>
<P><STRONG><a name="[de]"></a>hrtim1_set_duty</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, dcdc.o(.text.hrtim1_set_duty)) <P><STRONG><a name="[df]"></a>latch_fault</STRONG> (Thumb, 74 bytes, Stack size 16 bytes, dcdc.o(.text.latch_fault))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = hrtim1_set_duty &rArr; hrtim_max_duty_ticks <BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = latch_fault &rArr; hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks <BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_set_duty
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_outputs_enable
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_usbpd_input_switch
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault <BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep <LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StartPwmTest
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Start
</UL> </UL>
<P><STRONG><a name="[e6]"></a>adc1_read_channel</STRONG> (Thumb, 74 bytes, Stack size 4 bytes, dcdc.o(.text.adc1_read_channel)) <P><STRONG><a name="[dc]"></a>hrtim1_set_duty</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, dcdc.o(.text.hrtim1_set_duty))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = hrtim1_set_duty &rArr; hrtim_max_duty_ticks &rArr; permille_to_ticks &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks
</UL>
<BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ControlStep
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ApplyRuntimeConfig
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Stop
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StartPwmTest
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_Start
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;latch_fault
</UL>
<P><STRONG><a name="[f8]"></a>clamp_u32</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, dcdc.o(.text.clamp_u32))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = clamp_u32
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;permille_to_ticks
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim1_apply_pwm_config
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks
</UL>
<P><STRONG><a name="[db]"></a>permille_to_ticks</STRONG> (Thumb, 52 bytes, Stack size 24 bytes, dcdc.o(.text.permille_to_ticks))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = permille_to_ticks &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;clamp_u32
</UL>
<BR>[Called By]<UL><LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ApplyRuntimeConfig
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_StartPwmTest
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hrtim_max_duty_ticks
</UL>
<P><STRONG><a name="[e9]"></a>adc1_read_channel</STRONG> (Thumb, 74 bytes, Stack size 4 bytes, dcdc.o(.text.adc1_read_channel))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = adc1_read_channel <BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = adc1_read_channel
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements <BR>[Called By]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements
</UL> </UL>
<P><STRONG><a name="[e7]"></a>adc_raw_to_mv</STRONG> (Thumb, 32 bytes, Stack size 4 bytes, dcdc.o(.text.adc_raw_to_mv)) <P><STRONG><a name="[ea]"></a>adc_raw_to_mv</STRONG> (Thumb, 32 bytes, Stack size 4 bytes, dcdc.o(.text.adc_raw_to_mv))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = adc_raw_to_mv <BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = adc_raw_to_mv
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements <BR>[Called By]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements
</UL> </UL>
<P><STRONG><a name="[e8]"></a>sense_mv_to_voltage_mv</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, dcdc.o(.text.sense_mv_to_voltage_mv)) <P><STRONG><a name="[eb]"></a>sense_mv_to_voltage_mv</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, dcdc.o(.text.sense_mv_to_voltage_mv))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = sense_mv_to_voltage_mv &rArr; __aeabi_uldivmod <BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = sense_mv_to_voltage_mv &rArr; __aeabi_uldivmod
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod <BR>[Calls]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements <BR>[Called By]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements
</UL> </UL>
<P><STRONG><a name="[e9]"></a>sense_mv_to_current_ma</STRONG> (Thumb, 30 bytes, Stack size 4 bytes, dcdc.o(.text.sense_mv_to_current_ma)) <P><STRONG><a name="[ec]"></a>sense_mv_to_current_ma</STRONG> (Thumb, 30 bytes, Stack size 4 bytes, dcdc.o(.text.sense_mv_to_current_ma))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = sense_mv_to_current_ma <BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = sense_mv_to_current_ma
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements <BR>[Called By]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DCDC_ReadMeasurements
</UL> </UL>
<P><STRONG><a name="[eb]"></a>gpio_pc10_pc11_to_usart3</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, retarget.o(.text.gpio_pc10_pc11_to_usart3)) <P><STRONG><a name="[f3]"></a>gpio_pc10_pc11_to_usart3</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, retarget.o(.text.gpio_pc10_pc11_to_usart3))
<BR><BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Retarget_Init <BR><BR>[Called By]<UL><LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Retarget_Init
</UL> </UL>
<P><STRONG><a name="[be]"></a>_fp_digits</STRONG> (Thumb, 432 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text)) <P><STRONG><a name="[be]"></a>_fp_digits</STRONG> (Thumb, 432 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text))

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@@ -1,13 +1,13 @@
*** Using Compiler 'V6.22', folder: 'C:\Keil_v5_41\ARM\ARMCLANG\Bin' *** Using Compiler 'V6.22', folder: 'C:\Keil_v5_41\ARM\ARMCLANG\Bin'
Rebuild target 'B-G474E-DPOW1_DCDC' Rebuild target 'B-G474E-DPOW1_DCDC'
compiling retarget.c... compiling retarget.c...
compiling board.c...
assembling startup_stm32g474xx.s...
compiling main.c... compiling main.c...
compiling system_stm32g4xx.c... compiling system_stm32g4xx.c...
compiling dcdc.c... compiling dcdc.c...
assembling startup_stm32g474xx.s...
compiling board.c...
linking... 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... FromELF: creating hex file...
"Objects\B-G474E-DPOW1_DCDC.axf" - 0 Error(s), 0 Warning(s). "Objects\B-G474E-DPOW1_DCDC.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:01 Build Time Elapsed: 00:00:01