Static Call Graph for image .\Objects\Cw32Demo.axf



#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Apr 29 11:44:07 2023

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

Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ SysClikInit ⇒ RCC_HSE_Enable ⇒ __aeabi_ldivmod ⇒ __aeabi_uldivmod

Functions with no stack information

Function Pointers

Global Symbols

__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, 52 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_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)

[Calls]


[Called By]

__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]


[Calls]

__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]


[Calls]

__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]

__aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))

[Called By]

__aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)

Reset_Handler (Thumb, 26 bytes, Stack size 0 bytes, startup_cw32f030.o(.text))
[Address Reference Count : 1]

__user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_cw32f030.o(.text))

[Called By]

__aeabi_ldivmod (Thumb, 112 bytes, Stack size 16 bytes, llsdiv.o(.text))

[Stack]


[Calls]
[Called By]

_ll_sdiv (Thumb, 0 bytes, Stack size 16 bytes, llsdiv.o(.text), UNUSED)

__aeabi_uidiv (Thumb, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED)

__aeabi_uidivmod (Thumb, 20 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text))

[Called By]

__aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

__aeabi_idivmod (Thumb, 326 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

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

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

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

__aeabi_uldivmod (Thumb, 258 bytes, Stack size 32 bytes, lludiv.o(.text))

[Stack]


[Called By]

_ll_udiv (Thumb, 0 bytes, Stack size 32 bytes, lludiv.o(.text), UNUSED)

__user_setup_stackheap (Thumb, 62 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

[Stack]


[Calls]
[Called By]

exit (Thumb, 16 bytes, Stack size 8 bytes, exit.o(.text))

[Stack]


[Calls]
[Called By]

__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)

_sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))

[Called By]

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

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

ADC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.ADC_IRQHandler))
[Address Reference Count : 1]

__semihosting_library_function (Thumb, 0 bytes, Stack size 0 bytes, indicate_semi.o(.text), UNUSED)

ATIM_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.ATIM_IRQHandler))
[Address Reference Count : 1]

AWT_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.AWT_IRQHandler))
[Address Reference Count : 1]

BTIM1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.BTIM1_IRQHandler))
[Address Reference Count : 1]

BTIM2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.BTIM2_IRQHandler))
[Address Reference Count : 1]

BTIM3_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.BTIM3_IRQHandler))
[Address Reference Count : 1]

DMACH1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.DMACH1_IRQHandler))
[Address Reference Count : 1]

DMACH23_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.DMACH23_IRQHandler))
[Address Reference Count : 1]

DMACH45_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.DMACH45_IRQHandler))
[Address Reference Count : 1]

FAULT_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.FAULT_IRQHandler))
[Address Reference Count : 1]

FLASHRAM_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.FLASHRAM_IRQHandler))
[Address Reference Count : 1]

FLASH_SetLatency (Thumb, 42 bytes, Stack size 0 bytes, cw32f030_flash.o(i.FLASH_SetLatency))

[Called By]

GPIOA_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GPIOA_IRQHandler))
[Address Reference Count : 1]

GPIOB_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GPIOB_IRQHandler))
[Address Reference Count : 1]

GPIOC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GPIOC_IRQHandler))
[Address Reference Count : 1]

GPIOF_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GPIOF_IRQHandler))
[Address Reference Count : 1]

GPIO_Init (Thumb, 252 bytes, Stack size 0 bytes, cw32f030_gpio.o(i.GPIO_Init))

[Called By]

GPIO_WritePin (Thumb, 12 bytes, Stack size 0 bytes, cw32f030_gpio.o(i.GPIO_WritePin))

[Called By]

GTIM1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GTIM1_IRQHandler))
[Address Reference Count : 1]

GTIM2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GTIM2_IRQHandler))
[Address Reference Count : 1]

GTIM3_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GTIM3_IRQHandler))
[Address Reference Count : 1]

GTIM4_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.GTIM4_IRQHandler))
[Address Reference Count : 1]

GetTick (Thumb, 6 bytes, Stack size 0 bytes, cw32f030_systick.o(i.GetTick))

[Called By]

GpioInit (Thumb, 42 bytes, Stack size 24 bytes, drivergpio.o(i.GpioInit))

[Stack]


[Calls]
[Called By]

HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.HardFault_Handler))
[Address Reference Count : 1]

I2C1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.I2C1_IRQHandler))
[Address Reference Count : 1]

I2C2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.I2C2_IRQHandler))
[Address Reference Count : 1]

InitTick (Thumb, 90 bytes, Stack size 16 bytes, cw32f030_systick.o(i.InitTick))

[Stack]


[Calls]
[Called By]

LVD_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.LVD_IRQHandler))
[Address Reference Count : 1]

NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.NMI_Handler))
[Address Reference Count : 1]

PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.PendSV_Handler))
[Address Reference Count : 1]

RCC_HSE_Enable (Thumb, 178 bytes, Stack size 24 bytes, cw32f030_rcc.o(i.RCC_HSE_Enable))

[Stack]


[Calls]
[Called By]

RCC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.RCC_IRQHandler))
[Address Reference Count : 1]

RCC_PCLKPRS_Config (Thumb, 20 bytes, Stack size 0 bytes, cw32f030_rcc.o(i.RCC_PCLKPRS_Config))

[Called By]

RCC_PLL_Enable (Thumb, 168 bytes, Stack size 64 bytes, cw32f030_rcc.o(i.RCC_PLL_Enable))

[Stack]


[Calls]
[Called By]

RCC_SysClk_Switch (Thumb, 54 bytes, Stack size 16 bytes, cw32f030_rcc.o(i.RCC_SysClk_Switch))

[Stack]


[Calls]
[Called By]

RCC_Sysctrl_GetHClkFreq (Thumb, 194 bytes, Stack size 24 bytes, cw32f030_rcc.o(i.RCC_Sysctrl_GetHClkFreq))

[Stack]


[Calls]
[Called By]

RCC_SystemCoreClockUpdate (Thumb, 6 bytes, Stack size 0 bytes, cw32f030_rcc.o(i.RCC_SystemCoreClockUpdate))

[Called By]

RTC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.RTC_IRQHandler))
[Address Reference Count : 1]

SPI1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.SPI1_IRQHandler))
[Address Reference Count : 1]

SPI2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.SPI2_IRQHandler))
[Address Reference Count : 1]

SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.SVC_Handler))
[Address Reference Count : 1]

SysClikInit (Thumb, 68 bytes, Stack size 8 bytes, driversys.o(i.SysClikInit))

[Stack]


[Calls]
[Called By]

SysTickDelay (Thumb, 38 bytes, Stack size 16 bytes, cw32f030_systick.o(i.SysTickDelay))

[Stack]


[Calls]
[Called By]

SysTick_Handler (Thumb, 16 bytes, Stack size 0 bytes, cw32f030_systick.o(i.SysTick_Handler))
[Address Reference Count : 1]

SystemCoreClockUpdate (Thumb, 8 bytes, Stack size 0 bytes, system_cw32f030.o(i.SystemCoreClockUpdate))

[Called By]

SystemInit (Thumb, 54 bytes, Stack size 4 bytes, system_cw32f030.o(i.SystemInit))

[Stack]


[Calls]
[Address Reference Count : 1]

UART1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.UART1_IRQHandler))
[Address Reference Count : 1]

UART2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.UART2_IRQHandler))
[Address Reference Count : 1]

UART3_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.UART3_IRQHandler))
[Address Reference Count : 1]

VC1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.VC1_IRQHandler))
[Address Reference Count : 1]

VC2_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.VC2_IRQHandler))
[Address Reference Count : 1]

WDT_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32f030.o(i.WDT_IRQHandler))
[Address Reference Count : 1]

__ARM_common_switch8 (Thumb, 28 bytes, Stack size 8 bytes, cw32f030_i2c.o(i.__ARM_common_switch8))

[Stack]


[Called By]

main (Thumb, 52 bytes, Stack size 0 bytes, main.o(i.main))

[Stack]


[Calls]
[Called By]

Local Symbols

__NVIC_SetPriority (Thumb, 110 bytes, Stack size 8 bytes, cw32f030_systick.o(i.__NVIC_SetPriority))

[Stack]


[Called By]

Undefined Global Symbols

_call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)

[Called By]