#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Mon Feb 02 00:02:17 2026
Reset_Handler (Thumb, 32 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
_USAGEFAULT (Thumb, 0 bytes, Stack size unknown bytes, startup.o(.startup), UNUSED, KEPT)
NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
[Calls]
CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
DMA1_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
DMA1_Channel4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
DMA1_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
DMA1_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
DMA1_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
RTCAlarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TIM1_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TIM1_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TIM1_UP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
TIM4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
USBWakeUp_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
USB_HP_CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
USB_LP_CAN1_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup.o(.startup), UNUSED, KEPT)
__main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
[Calls]
__scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
[Called By]
__scatterload_rt2 (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
[Calls]
__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
__scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
__scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
__rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
[Called By]
__rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
__rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))
__rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
__rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
__rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
__rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
__rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
__rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
__rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
__rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))
__rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))
__rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
__rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
__rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
__rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
__rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
__rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
__rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))
__rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
__rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
__rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
__rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
[Called By]
__rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
__rt_lib_shutdown_fini_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
__rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))
__rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011))
__rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012))
__rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
__rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))
__rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))
__rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
[Called By]
__rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
__rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
[Stack]
__rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
[Calls]
__rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
__rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
[Stack]
__rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
__rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
[Called By]
__rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
[Calls]
__rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
__rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
[Calls]
exit (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text))
[Stack]
__user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
__user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
[Called By]
__user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
__I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text))
[Address Reference Count : 1]
__use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
__semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
_sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
[Called By]
_flash_program (Thumb, 8 bytes, Stack size 0 bytes, main.o(.ARM.__at_0x20000100))
[Called By]
_flash_erasepage (Thumb, 8 bytes, Stack size 0 bytes, main.o(.ARM.__at_0x20000100))
[Called By]
_flash_erasechip (Thumb, 8 bytes, Stack size 0 bytes, main.o(.ARM.__at_0x20000100))
[Called By]
_flash_readchip (Thumb, 10 bytes, Stack size 0 bytes, main.o(.ARM.__at_0x20000100))
[Called By]
main (Thumb, 124 bytes, Stack size 8 bytes, main.o(.ARM.__at_0x20000100))
[Stack]
__aeabi_memclr4 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))
[Stack]
__aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
__rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
_memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
__user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
[Stack]
__user_initial_stackheap (Thumb, 48 bytes, Stack size 24 bytes, sys_stackheap.o(.text))
[Stack]