Static Call Graph for image .\output\exe\adc_sgl_sw.axf



#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Thu Aug 6 10:22:26 2026

Maximum Stack Usage = 416 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

main ⇒ UART1_Configuration ⇒ UART_Init ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr

Mutually Recursive functions

  • SysTick_Handler   ⇒   SysTick_Handler

    Function Pointers

    Global Symbols

    __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_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

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

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_cw32l010.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text))

    [Stack]


    [Called By]

    __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

    [Called By]

    __aeabi_uldivmod (Thumb, 96 bytes, Stack size 48 bytes, uldiv.o(.text), UNUSED)

    [Calls]


    [Called By]

    __aeabi_fadd (Thumb, 162 bytes, Stack size 24 bytes, fadd.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_fsub (Thumb, 8 bytes, Stack size 0 bytes, fadd.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_frsub (Thumb, 8 bytes, Stack size 0 bytes, fadd.o(.text), UNUSED)

    [Calls]

    __aeabi_fmul (Thumb, 122 bytes, Stack size 16 bytes, fmul.o(.text))

    [Stack]


    [Called By]

    __aeabi_fdiv (Thumb, 124 bytes, Stack size 16 bytes, fdiv.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_dadd (Thumb, 328 bytes, Stack size 48 bytes, dadd.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_dsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text), UNUSED)

    [Calls]

    __aeabi_drsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text), UNUSED)

    [Calls]

    __aeabi_dmul (Thumb, 202 bytes, Stack size 72 bytes, dmul.o(.text), UNUSED)

    [Calls]


    [Called By]

    __aeabi_i2f (Thumb, 22 bytes, Stack size 8 bytes, fflti.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_ui2f (Thumb, 14 bytes, Stack size 8 bytes, ffltui.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_f2iz (Thumb, 50 bytes, Stack size 0 bytes, ffixi.o(.text))

    [Called By]

    __aeabi_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_f2d (Thumb, 40 bytes, Stack size 0 bytes, f2d.o(.text))

    [Called By]

    __aeabi_llsl (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text))

    [Stack]


    [Called By]

    _ll_shift_l (Thumb, 0 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)

    __aeabi_llsr (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text))

    [Stack]


    [Called By]

    _ll_ushift_r (Thumb, 0 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)

    __aeabi_lasr (Thumb, 38 bytes, Stack size 8 bytes, llsshr.o(.text))

    [Stack]


    [Called By]

    _ll_sshift_r (Thumb, 0 bytes, Stack size 8 bytes, llsshr.o(.text), UNUSED)

    __I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)

    _float_round (Thumb, 16 bytes, Stack size 0 bytes, fepilogue.o(.text))

    [Called By]

    _float_epilogue (Thumb, 114 bytes, Stack size 12 bytes, fepilogue.o(.text))

    [Stack]


    [Called By]

    _double_round (Thumb, 26 bytes, Stack size 8 bytes, depilogue.o(.text))

    [Stack]


    [Called By]

    _double_epilogue (Thumb, 164 bytes, Stack size 48 bytes, depilogue.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_ddiv (Thumb, 234 bytes, Stack size 40 bytes, ddiv.o(.text), UNUSED)

    [Calls]


    [Called By]

    __aeabi_d2ulz (Thumb, 54 bytes, Stack size 8 bytes, dfixul.o(.text), UNUSED)

    [Calls]


    [Called By]

    __aeabi_cdrcmple (Thumb, 38 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)

    [Called By]

    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))

    [Calls]


    [Called By]

    __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

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

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

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

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

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

    CLKFAULT_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32l010.o(.text.CLKFAULT_IRQHandler))
    [Address Reference Count : 1]

    DebugUART_Close (Thumb, 68 bytes, Stack size 24 bytes, main.o(.text.DebugUART_Close))

    [Stack]


    [Calls]
    [Called By]

    DebugUART_Configuration (Thumb, 152 bytes, Stack size 64 bytes, main.o(.text.DebugUART_Configuration))

    [Stack]


    [Calls]
    [Called By]

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

    GPIOA_IRQHandler (Thumb, 48 bytes, Stack size 0 bytes, interrupts_cw32l010.o(.text.GPIOA_IRQHandler))
    [Address Reference Count : 1]

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

    GPIOC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32l010.o(.text.GPIOC_IRQHandler), UNUSED, KEPT)

    GPIO_Init (Thumb, 304 bytes, Stack size 12 bytes, cw32l010_gpio.o(.text.GPIO_Init))

    [Stack]


    [Called By]

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

    GetTick (Thumb, 12 bytes, Stack size 0 bytes, cw32l010_systick.o(.text.GetTick))

    [Called By]

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

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

    IWDT_Cmd (Thumb, 8 bytes, Stack size 0 bytes, cw32l010_iwdt.o(.text.IWDT_Cmd))

    [Called By]

    IWDT_Init (Thumb, 424 bytes, Stack size 24 bytes, cw32l010_iwdt.o(.text.IWDT_Init))

    [Stack]


    [Calls]
    [Called By]

    IWDT_Refresh (Thumb, 12 bytes, Stack size 0 bytes, cw32l010_iwdt.o(.text.IWDT_Refresh))

    [Called By]

    IWDT_SetPeriod (Thumb, 120 bytes, Stack size 40 bytes, cw32l010_iwdt.o(.text.IWDT_SetPeriod))

    [Stack]


    [Calls]
    [Called By]

    IWDT_Stop (Thumb, 28 bytes, Stack size 0 bytes, cw32l010_iwdt.o(.text.IWDT_Stop))

    [Called By]

    InitTick (Thumb, 84 bytes, Stack size 24 bytes, cw32l010_systick.o(.text.InitTick))

    [Stack]


    [Calls]
    [Called By]

    LPTIM_Cmd (Thumb, 64 bytes, Stack size 16 bytes, cw32l010_lptim.o(.text.LPTIM_Cmd))

    [Stack]


    [Calls]
    [Called By]

    LPTIM_Configuration (Thumb, 96 bytes, Stack size 40 bytes, main.o(.text.LPTIM_Configuration))

    [Stack]


    [Calls]
    [Called By]

    LPTIM_IRQHandler (Thumb, 44 bytes, Stack size 0 bytes, interrupts_cw32l010.o(.text.LPTIM_IRQHandler))
    [Address Reference Count : 1]

    LPTIM_ITConfig (Thumb, 156 bytes, Stack size 16 bytes, cw32l010_lptim.o(.text.LPTIM_ITConfig))

    [Stack]


    [Calls]
    [Called By]

    LPTIM_Init (Thumb, 240 bytes, Stack size 16 bytes, cw32l010_lptim.o(.text.LPTIM_Init))

    [Stack]


    [Calls]
    [Called By]

    LPTIM_InternalClockConfig (Thumb, 76 bytes, Stack size 16 bytes, cw32l010_lptim.o(.text.LPTIM_InternalClockConfig))

    [Stack]


    [Calls]
    [Called By]

    LPTIM_SelectOnePulseMode (Thumb, 68 bytes, Stack size 16 bytes, cw32l010_lptim.o(.text.LPTIM_SelectOnePulseMode))

    [Stack]


    [Calls]
    [Called By]

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

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

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

    RTC_BCDToBin (Thumb, 34 bytes, Stack size 8 bytes, cw32l010_rtc.o(.text.RTC_BCDToBin))

    [Stack]


    [Called By]

    RTC_ClearITPendingBit (Thumb, 80 bytes, Stack size 16 bytes, cw32l010_rtc.o(.text.RTC_ClearITPendingBit))

    [Stack]


    [Calls]
    [Called By]

    RTC_Cmd (Thumb, 88 bytes, Stack size 16 bytes, cw32l010_rtc.o(.text.RTC_Cmd))

    [Stack]


    [Calls]
    [Called By]

    RTC_Configuration (Thumb, 102 bytes, Stack size 48 bytes, main.o(.text.RTC_Configuration))

    [Stack]


    [Calls]
    [Called By]

    RTC_IRQHandler (Thumb, 40 bytes, Stack size 0 bytes, interrupts_cw32l010.o(.text.RTC_IRQHandler))
    [Address Reference Count : 1]

    RTC_ITConfig (Thumb, 148 bytes, Stack size 16 bytes, cw32l010_rtc.o(.text.RTC_ITConfig))

    [Stack]


    [Calls]
    [Called By]

    RTC_Init (Thumb, 180 bytes, Stack size 24 bytes, cw32l010_rtc.o(.text.RTC_Init))

    [Stack]


    [Calls]
    [Called By]

    RTC_SetClockSource (Thumb, 112 bytes, Stack size 16 bytes, cw32l010_rtc.o(.text.RTC_SetClockSource))

    [Stack]


    [Calls]
    [Called By]

    RTC_SetDate (Thumb, 292 bytes, Stack size 32 bytes, cw32l010_rtc.o(.text.RTC_SetDate))

    [Stack]


    [Calls]
    [Called By]

    RTC_SetInterval (Thumb, 96 bytes, Stack size 16 bytes, cw32l010_rtc.o(.text.RTC_SetInterval))

    [Stack]


    [Calls]
    [Called By]

    RTC_SetTime (Thumb, 352 bytes, Stack size 32 bytes, cw32l010_rtc.o(.text.RTC_SetTime))

    [Stack]


    [Calls]
    [Called By]

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

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

    SYSCTRL_AHBPeriphClk_Enable (Thumb, 100 bytes, Stack size 16 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_AHBPeriphClk_Enable))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_AHBPeriphReset (Thumb, 92 bytes, Stack size 16 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_AHBPeriphReset))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_APBPeriphClk_Enable1 (Thumb, 96 bytes, Stack size 16 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_APBPeriphClk_Enable1))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_APBPeriphClk_Enable2 (Thumb, 100 bytes, Stack size 16 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_APBPeriphClk_Enable2))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_APBPeriphReset1 (Thumb, 88 bytes, Stack size 16 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_APBPeriphReset1))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_APBPeriphReset2 (Thumb, 92 bytes, Stack size 16 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_APBPeriphReset2))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_ClearRstFlag (Thumb, 112 bytes, Stack size 16 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_ClearRstFlag))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_GetAllRstFlag (Thumb, 12 bytes, Stack size 0 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_GetAllRstFlag))

    [Called By]

    SYSCTRL_GotoDeepSleep (Thumb, 24 bytes, Stack size 0 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_GotoDeepSleep))

    [Called By]

    SYSCTRL_HSI_Enable (Thumb, 376 bytes, Stack size 24 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_HSI_Enable))

    [Stack]


    [Calls]
    [Called By]

    SYSCTRL_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, interrupts_cw32l010.o(.text.SYSCTRL_IRQHandler))
    [Address Reference Count : 1]

    SYSCTRL_LSI_Enable (Thumb, 132 bytes, Stack size 12 bytes, cw32l010_sysctrl.o(.text.SYSCTRL_LSI_Enable))

    [Stack]


    [Called By]

    SysTickDelay (Thumb, 40 bytes, Stack size 24 bytes, cw32l010_systick.o(.text.SysTickDelay))

    [Stack]


    [Calls]
    [Called By]

    SystemCoreClockUpdate (Thumb, 16 bytes, Stack size 0 bytes, system_cw32l010.o(.text.SystemCoreClockUpdate))

    [Called By]

    SystemInit (Thumb, 76 bytes, Stack size 8 bytes, system_cw32l010.o(.text.SystemInit))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART1_Configuration (Thumb, 160 bytes, Stack size 64 bytes, main.o(.text.UART1_Configuration))

    [Stack]


    [Calls]
    [Called By]

    UART1_IRQHandler (Thumb, 64 bytes, Stack size 0 bytes, interrupts_cw32l010.o(.text.UART1_IRQHandler))
    [Address Reference Count : 1]

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

    UART_ClearFlag (Thumb, 104 bytes, Stack size 16 bytes, cw32l010_uart.o(.text.UART_ClearFlag))

    [Stack]


    [Calls]
    [Called By]

    UART_GetFlagStatus (Thumb, 96 bytes, Stack size 16 bytes, cw32l010_uart.o(.text.UART_GetFlagStatus))

    [Stack]


    [Calls]
    [Called By]

    UART_ITConfig (Thumb, 180 bytes, Stack size 24 bytes, cw32l010_uart.o(.text.UART_ITConfig))

    [Stack]


    [Calls]
    [Called By]

    UART_Init (Thumb, 1012 bytes, Stack size 96 bytes, cw32l010_uart.o(.text.UART_Init))

    [Stack]


    [Calls]
    [Called By]

    UART_SendData_8bit (Thumb, 88 bytes, Stack size 16 bytes, cw32l010_uart.o(.text.UART_SendData_8bit))

    [Stack]


    [Calls]
    [Called By]

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

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

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

    __retarget_putchar (Thumb, 44 bytes, Stack size 16 bytes, main.o(.text.__retarget_putchar))

    [Stack]


    [Calls]
    [Called By]

    assert_failed (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text.assert_failed))

    [Stack]


    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    main (Thumb, 1056 bytes, Stack size 152 bytes, main.o(.text.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    __0printf (Thumb, 24 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

    [Calls]

    __1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

    __2printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

    __c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

    printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf))

    [Stack]


    [Called By]

    __ARM_clz (Thumb, 46 bytes, Stack size 0 bytes, depilogue.o(i.__ARM_clz))

    [Called By]

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

    Local Symbols

    __NVIC_EnableIRQ (Thumb, 44 bytes, Stack size 4 bytes, main.o(.text.__NVIC_EnableIRQ))

    [Stack]


    [Called By]

    SysTick_Config (Thumb, 84 bytes, Stack size 24 bytes, cw32l010_systick.o(.text.SysTick_Config))

    [Stack]


    [Calls]
    [Called By]

    __NVIC_SetPriority (Thumb, 136 bytes, Stack size 24 bytes, cw32l010_systick.o(.text.__NVIC_SetPriority))

    [Stack]


    [Called By]

    _fp_digits (Thumb, 344 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)

    [Calls]


    [Called By]

    _printf_core (Thumb, 1754 bytes, Stack size 128 bytes, printfa.o(i._printf_core), UNUSED)

    [Calls]


    [Called By]

    _printf_post_padding (Thumb, 32 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)

    [Called By]

    _printf_pre_padding (Thumb, 44 bytes, Stack size 40 bytes, printfa.o(i._printf_pre_padding), UNUSED)

    [Called By]

    Undefined Global Symbols