#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Apr 26 12:51:19 2025
__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]
_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
[Calls]
__main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
[Called By]
_main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
_main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
_main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
__rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
__rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
__rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
ADC1_CMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Calls]
CRM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
DMA1_Channel3_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
DMA1_Channel5_4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
ERTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
EXINT15_4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
EXINT1_0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
EXINT3_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
I2C1_ERR_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
I2C1_EVT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
I2C2_ERR_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
I2C2_EVT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
PVM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
TMR14_GLOBAL_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
TMR15_GLOBAL_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
TMR16_GLOBAL_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
TMR17_GLOBAL_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
TMR3_GLOBAL_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
TMR6_GLOBAL_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
WWDT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421.o(.text))
[Address Reference Count : 1]
__aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text))
[Stack]
__aeabi_fadd (Thumb, 164 bytes, Stack size 16 bytes, fadd.o(.text))
[Stack]
__aeabi_fsub (Thumb, 6 bytes, Stack size 0 bytes, fadd.o(.text))
[Stack]
__aeabi_frsub (Thumb, 6 bytes, Stack size 0 bytes, fadd.o(.text), UNUSED)
[Calls]
__aeabi_fmul (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))
[Stack]
__aeabi_fdiv (Thumb, 124 bytes, Stack size 8 bytes, fdiv.o(.text))
[Stack]
__aeabi_f2d (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
[Called By]
__aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
[Stack]
__aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
__aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
[Called By]
__aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
[Called By]
_ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
__aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
[Called By]
_ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
__I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
_float_round (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
[Called By]
_float_epilogue (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text))
[Stack]
__aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
[Stack]
__aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
[Stack]
__aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
[Stack]
__aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
[Stack]
__aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
[Stack]
__ARM_scalbn (Thumb, 46 bytes, Stack size 16 bytes, dscalb.o(.text))
[Stack]
scalbn (Thumb, 0 bytes, Stack size 16 bytes, dscalb.o(.text), UNUSED)
_dsqrt (Thumb, 162 bytes, Stack size 32 bytes, dsqrt.o(.text))
[Stack]
__aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
[Stack]
__aeabi_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))
[Stack]
__aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
__aeabi_cdcmple (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
[Called By]
__aeabi_cdrcmple (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text))
[Called By]
__scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
[Calls]
__scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
__aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))
[Called By]
_ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
_double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
[Stack]
_double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))
[Stack]
__aeabi_ui2d (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
[Stack]
BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, at32f421_int.o(i.BusFault_Handler))
[Address Reference Count : 1]
DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, at32f421_int.o(i.DebugMon_Handler))
[Address Reference Count : 1]
HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, at32f421_int.o(i.HardFault_Handler))
[Address Reference Count : 1]
MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, at32f421_int.o(i.MemManage_Handler))
[Address Reference Count : 1]
NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, at32f421_int.o(i.NMI_Handler))
[Address Reference Count : 1]
PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, at32f421_int.o(i.PendSV_Handler))
[Address Reference Count : 1]
SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, at32f421_int.o(i.SVC_Handler))
[Address Reference Count : 1]
SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, at32f421_int.o(i.SysTick_Handler))
[Address Reference Count : 1]
SystemInit (Thumb, 96 bytes, Stack size 0 bytes, system_at32f421.o(i.SystemInit))
[Address Reference Count : 1]
TMR1_BRK_OVF_TRG_HALL_IRQHandler (Thumb, 32 bytes, Stack size 8 bytes, at32f421_int.o(i.TMR1_BRK_OVF_TRG_HALL_IRQHandler))
[Stack]
TMR1_CH_IRQHandler (Thumb, 150 bytes, Stack size 8 bytes, at32f421_int.o(i.TMR1_CH_IRQHandler))
[Stack]
UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, at32f421_int.o(i.UsageFault_Handler))
[Address Reference Count : 1]
__0printf$1 (Thumb, 22 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED)
[Calls]
__1printf$1 (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED)
__2printf (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1))
[Stack]
__ARM_fpclassify (Thumb, 40 bytes, Stack size 0 bytes, fpclassify.o(i.__ARM_fpclassify))
[Called By]
__ieee754_rem_pio2 (Thumb, 828 bytes, Stack size 128 bytes, rred.o(i.__ieee754_rem_pio2))
[Stack]
__kernel_cos (Thumb, 230 bytes, Stack size 48 bytes, cos_i.o(i.__kernel_cos))
[Stack]
__kernel_poly (Thumb, 170 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly))
[Stack]
__kernel_sin (Thumb, 224 bytes, Stack size 64 bytes, sin_i.o(i.__kernel_sin))
[Stack]
__mathlib_dbl_infnan (Thumb, 6 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_infnan))
[Stack]
__mathlib_dbl_invalid (Thumb, 12 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_invalid))
[Stack]
__mathlib_dbl_overflow (Thumb, 14 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_overflow))
[Stack]
__mathlib_dbl_underflow (Thumb, 10 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_underflow))
[Stack]
__scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
__scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
__scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
__set_errno (Thumb, 6 bytes, Stack size 0 bytes, errno.o(i.__set_errno))
[Called By]
crm_ahb_div_set (Thumb, 14 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_ahb_div_set))
[Called By]
crm_apb1_div_set (Thumb, 14 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_apb1_div_set))
[Called By]
crm_apb2_div_set (Thumb, 14 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_apb2_div_set))
[Called By]
crm_auto_step_mode_enable (Thumb, 34 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_auto_step_mode_enable))
[Called By]
crm_clock_source_enable (Thumb, 90 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_clock_source_enable))
[Called By]
crm_clocks_freq_get (Thumb, 396 bytes, Stack size 56 bytes, at32f421_crm.o(i.crm_clocks_freq_get))
[Stack]
crm_flag_get (Thumb, 42 bytes, Stack size 8 bytes, at32f421_crm.o(i.crm_flag_get))
[Stack]
crm_hext_stable_wait (Thumb, 46 bytes, Stack size 12 bytes, at32f421_crm.o(i.crm_hext_stable_wait))
[Stack]
crm_periph_clock_enable (Thumb, 62 bytes, Stack size 8 bytes, at32f421_crm.o(i.crm_periph_clock_enable))
[Stack]
crm_pll_config (Thumb, 224 bytes, Stack size 12 bytes, at32f421_crm.o(i.crm_pll_config))
[Stack]
crm_reset (Thumb, 90 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_reset))
[Called By]
crm_sysclk_switch (Thumb, 54 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_sysclk_switch))
[Called By]
crm_sysclk_switch_status_get (Thumb, 10 bytes, Stack size 0 bytes, at32f421_crm.o(i.crm_sysclk_switch_status_get))
[Called By]
exp (Thumb, 554 bytes, Stack size 48 bytes, exp.o(i.exp))
[Stack]
fputc (Thumb, 46 bytes, Stack size 16 bytes, wk_system.o(i.fputc))
[Stack]
gpio_bits_reset (Thumb, 4 bytes, Stack size 0 bytes, at32f421_gpio.o(i.gpio_bits_reset))
[Called By]
gpio_bits_write (Thumb, 10 bytes, Stack size 0 bytes, at32f421_gpio.o(i.gpio_bits_write))
[Called By]
gpio_default_para_init (Thumb, 20 bytes, Stack size 0 bytes, at32f421_gpio.o(i.gpio_default_para_init))
[Called By]
gpio_init (Thumb, 122 bytes, Stack size 16 bytes, at32f421_gpio.o(i.gpio_init))
[Stack]
gpio_pin_mux_config (Thumb, 66 bytes, Stack size 20 bytes, at32f421_gpio.o(i.gpio_pin_mux_config))
[Stack]
main (Thumb, 316 bytes, Stack size 0 bytes, main.o(i.main))
[Stack]
nvic_irq_enable (Thumb, 190 bytes, Stack size 32 bytes, at32f421_misc.o(i.nvic_irq_enable))
[Stack]
nvic_priority_group_config (Thumb, 32 bytes, Stack size 0 bytes, at32f421_misc.o(i.nvic_priority_group_config))
[Called By]
sin (Thumb, 150 bytes, Stack size 32 bytes, sin.o(i.sin))
[Stack]
sqrt (Thumb, 76 bytes, Stack size 24 bytes, sqrt.o(i.sqrt))
[Stack]
system_core_clock_update (Thumb, 316 bytes, Stack size 56 bytes, system_at32f421.o(i.system_core_clock_update))
[Stack]
systick_clock_source_config (Thumb, 40 bytes, Stack size 0 bytes, at32f421_misc.o(i.systick_clock_source_config))
[Called By]
tmr_base_init (Thumb, 16 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_base_init))
[Called By]
tmr_channel_value_get (Thumb, 46 bytes, Stack size 8 bytes, at32f421_tmr.o(i.tmr_channel_value_get))
[Stack]
tmr_clock_source_div_set (Thumb, 10 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_clock_source_div_set))
[Called By]
tmr_cnt_dir_set (Thumb, 10 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_cnt_dir_set))
[Called By]
tmr_counter_enable (Thumb, 10 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_counter_enable))
[Called By]
tmr_flag_clear (Thumb, 6 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_flag_clear))
[Called By]
tmr_input_channel_init (Thumb, 304 bytes, Stack size 12 bytes, at32f421_tmr.o(i.tmr_input_channel_init))
[Stack]
tmr_interrupt_enable (Thumb, 22 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_interrupt_enable))
[Called By]
tmr_interrupt_flag_get (Thumb, 24 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_interrupt_flag_get))
[Called By]
tmr_period_buffer_enable (Thumb, 10 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_period_buffer_enable))
[Called By]
tmr_primary_mode_select (Thumb, 10 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_primary_mode_select))
[Called By]
tmr_repetition_counter_set (Thumb, 10 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_repetition_counter_set))
[Called By]
tmr_sub_sync_mode_set (Thumb, 10 bytes, Stack size 0 bytes, at32f421_tmr.o(i.tmr_sub_sync_mode_set))
[Called By]
usart_data_transmit (Thumb, 8 bytes, Stack size 0 bytes, at32f421_usart.o(i.usart_data_transmit))
[Called By]
usart_enable (Thumb, 10 bytes, Stack size 0 bytes, at32f421_usart.o(i.usart_enable))
[Called By]
usart_flag_get (Thumb, 16 bytes, Stack size 0 bytes, at32f421_usart.o(i.usart_flag_get))
[Called By]
usart_hardware_flow_control_set (Thumb, 102 bytes, Stack size 0 bytes, at32f421_usart.o(i.usart_hardware_flow_control_set))
[Called By]
usart_init (Thumb, 102 bytes, Stack size 48 bytes, at32f421_usart.o(i.usart_init))
[Stack]
usart_parity_selection_config (Thumb, 76 bytes, Stack size 0 bytes, at32f421_usart.o(i.usart_parity_selection_config))
[Called By]
usart_receiver_enable (Thumb, 10 bytes, Stack size 0 bytes, at32f421_usart.o(i.usart_receiver_enable))
[Called By]
usart_transmitter_enable (Thumb, 10 bytes, Stack size 0 bytes, at32f421_usart.o(i.usart_transmitter_enable))
[Called By]
wk_delay_ms (Thumb, 42 bytes, Stack size 8 bytes, wk_system.o(i.wk_delay_ms))
[Stack]
wk_gpio_config (Thumb, 102 bytes, Stack size 16 bytes, wk_gpio.o(i.wk_gpio_config))
[Stack]
wk_nvic_config (Thumb, 212 bytes, Stack size 16 bytes, at32f421_wk_config.o(i.wk_nvic_config))
[Stack]
wk_periph_clock_config (Thumb, 60 bytes, Stack size 8 bytes, at32f421_wk_config.o(i.wk_periph_clock_config))
[Stack]
wk_system_clock_config (Thumb, 152 bytes, Stack size 8 bytes, at32f421_wk_config.o(i.wk_system_clock_config))
[Stack]
wk_timebase_init (Thumb, 60 bytes, Stack size 32 bytes, wk_system.o(i.wk_timebase_init))
[Stack]
wk_tmr1_init (Thumb, 192 bytes, Stack size 16 bytes, wk_tmr.o(i.wk_tmr1_init))
[Stack]
wk_usart1_init (Thumb, 162 bytes, Stack size 16 bytes, wk_usart.o(i.wk_usart1_init))
[Stack]
NVIC_EncodePriority (Thumb, 64 bytes, Stack size 20 bytes, at32f421_wk_config.o(i.NVIC_EncodePriority))
[Stack]
__NVIC_GetPriorityGrouping (Thumb, 10 bytes, Stack size 0 bytes, at32f421_wk_config.o(i.__NVIC_GetPriorityGrouping))
[Called By]
__NVIC_SetPriority (Thumb, 32 bytes, Stack size 8 bytes, at32f421_wk_config.o(i.__NVIC_SetPriority))
[Stack]
delay_us (Thumb, 52 bytes, Stack size 12 bytes, wk_system.o(i.delay_us))
[Stack]
_printf_core (Thumb, 336 bytes, Stack size 88 bytes, printf1.o(i._printf_core), UNUSED)
[Calls]