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



#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Wed Aug 20 11:01:24 2025

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

Call chain for Maximum Stack Depth:

main ⇒ ClockInit ⇒ ClockInitSet ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round

Mutually Recursive functions

  • NMI_Handler   ⇒   NMI_Handler
  • HardFault_Handler   ⇒   HardFault_Handler
  • SVC_Handler   ⇒   SVC_Handler
  • PendSV_Handler   ⇒   PendSV_Handler
  • SysTick_Handler   ⇒   SysTick_Handler
  • ADC_Handler   ⇒   ADC_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, 8 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    ADC_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    CHARGER_END_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    CHARGER_OK_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    COMP0_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    COMP1_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    DUALTIMER_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    GPIO0_7_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    GPIO16_23_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    GPIO8_15_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    I2C0_Error_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    I2C0_Event_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    I2C1_Error_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    I2C1_Event_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    LCD_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    LVD_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    MTP_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    OVER_TEMP_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    PWM_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    RTC_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    SPI0_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    SPI1_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

    WG_DRV_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_cmsdk_cm0.o(.text))
    [Address Reference Count : 1]

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

    [Stack]


    [Called By]

    __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))

    [Called By]

    __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

    __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

    __aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))

    [Called By]

    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))

    [Calls]


    [Called By]

    __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))

    [Called By]

    __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)

    [Calls]

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

    [Stack]


    [Calls]
    [Called By]

    __aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_ui2d (Thumb, 24 bytes, Stack size 16 bytes, dfltui.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_d2uiz (Thumb, 50 bytes, Stack size 8 bytes, dfixui.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

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

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

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    __ARM_scalbn (Thumb, 44 bytes, Stack size 16 bytes, dscalb.o(.text))

    [Stack]


    [Called By]

    scalbn (Thumb, 0 bytes, Stack size 16 bytes, dscalb.o(.text), UNUSED)

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

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

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

    _dsqrt (Thumb, 162 bytes, Stack size 32 bytes, dsqrt.o(.text))

    [Stack]


    [Calls]
    [Called By]

    CMSDK_timer_Init (Thumb, 26 bytes, Stack size 8 bytes, ens1_timer.o(i.CMSDK_timer_Init))

    [Stack]


    [Called By]

    ClockInit (Thumb, 14 bytes, Stack size 8 bytes, ens1_clock.o(i.ClockInit))

    [Stack]


    [Calls]
    [Called By]

    ClockInitSet (Thumb, 348 bytes, Stack size 48 bytes, ens1_clock.o(i.ClockInitSet))

    [Stack]


    [Calls]
    [Called By]

    EMS_Configure (Thumb, 20 bytes, Stack size 8 bytes, ens1_wavegen.o(i.EMS_Configure))

    [Stack]


    [Calls]
    [Called By]

    EMS_Process (Thumb, 86 bytes, Stack size 8 bytes, ens1_wavegen.o(i.EMS_Process))

    [Stack]


    [Calls]
    [Called By]

    EMS_Start (Thumb, 14 bytes, Stack size 8 bytes, ens1_wavegen.o(i.EMS_Start))

    [Stack]


    [Calls]
    [Called By]

    EMS_Stop (Thumb, 26 bytes, Stack size 8 bytes, ens1_wavegen.o(i.EMS_Stop))

    [Stack]


    [Calls]
    [Called By]

    GPIO_AltFunction (Thumb, 86 bytes, Stack size 8 bytes, ens1_gpio.o(i.GPIO_AltFunction))

    [Stack]


    [Called By]

    GPIO_GetOutputValue (Thumb, 18 bytes, Stack size 0 bytes, ens1_gpio.o(i.GPIO_GetOutputValue))

    [Called By]

    GPIO_IO_Init (Thumb, 342 bytes, Stack size 36 bytes, ens1_gpio.o(i.GPIO_IO_Init))

    [Stack]


    [Calls]
    [Called By]

    GPIO_Output (Thumb, 36 bytes, Stack size 0 bytes, ens1_gpio.o(i.GPIO_Output))

    [Called By]

    GPIO_Overturn (Thumb, 40 bytes, Stack size 4 bytes, ens1_gpio.o(i.GPIO_Overturn))

    [Stack]


    [Calls]
    [Called By]

    GPIO_ResetOutput (Thumb, 16 bytes, Stack size 0 bytes, ens1_gpio.o(i.GPIO_ResetOutput))

    [Called By]

    GPIO_SetOutput (Thumb, 16 bytes, Stack size 0 bytes, ens1_gpio.o(i.GPIO_SetOutput))

    [Called By]

    MTP_init (Thumb, 4 bytes, Stack size 0 bytes, ens1_mtp.o(i.MTP_init))

    [Called By]

    PCLK_Enable (Thumb, 20 bytes, Stack size 0 bytes, ens1_clock.o(i.PCLK_Enable))

    [Called By]

    SystemInit (Thumb, 8 bytes, Stack size 0 bytes, system_cmsdk_cm0.o(i.SystemInit))
    [Address Reference Count : 1]

    TIMER0_Handler (Thumb, 24 bytes, Stack size 4 bytes, ens1_timer.o(i.TIMER0_Handler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIMER0_Init (Thumb, 72 bytes, Stack size 16 bytes, ens1_timer.o(i.TIMER0_Init))

    [Stack]


    [Calls]
    [Called By]

    TIMER1_Handler (Thumb, 18 bytes, Stack size 0 bytes, ens1_timer.o(i.TIMER1_Handler))
    [Address Reference Count : 1]

    Time_Manager_GetFlags (Thumb, 4 bytes, Stack size 0 bytes, ens1_timer.o(i.Time_Manager_GetFlags))

    [Called By]

    Time_Manager_Init (Thumb, 20 bytes, Stack size 8 bytes, ens1_timer.o(i.Time_Manager_Init))

    [Stack]


    [Calls]
    [Called By]

    Time_Manager_Process (Thumb, 174 bytes, Stack size 0 bytes, ens1_timer.o(i.Time_Manager_Process))

    [Called By]

    UART0_Handler (Thumb, 108 bytes, Stack size 8 bytes, ens1_uart.o(i.UART0_Handler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART1_Handler (Thumb, 92 bytes, Stack size 8 bytes, ens1_uart.o(i.UART1_Handler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UARTLine_THREmpty (Thumb, 10 bytes, Stack size 0 bytes, ens1_uart.o(i.UARTLine_THREmpty))

    [Called By]

    UART_INT_TYPE (Thumb, 10 bytes, Stack size 0 bytes, ens1_uart.o(i.UART_INT_TYPE))

    [Called By]

    UART_ITConfig (Thumb, 84 bytes, Stack size 16 bytes, ens1_uart.o(i.UART_ITConfig))

    [Stack]


    [Calls]
    [Called By]

    UART_Init (Thumb, 164 bytes, Stack size 24 bytes, ens1_uart.o(i.UART_Init))

    [Stack]


    [Calls]
    [Called By]

    UartPutc (Thumb, 30 bytes, Stack size 4 bytes, ens1_uart.o(i.UartPutc))

    [Stack]


    [Calls]
    [Called By]

    WRITE_UART_THRBuff (Thumb, 4 bytes, Stack size 0 bytes, ens1_uart.o(i.WRITE_UART_THRBuff))

    [Called By]

    __0printf$1 (Thumb, 24 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]


    [Called By]

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

    [Called By]

    __ARM_fpclassify (Thumb, 40 bytes, Stack size 0 bytes, fpclassify.o(i.__ARM_fpclassify))

    [Called By]

    __kernel_poly (Thumb, 172 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly))

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_divzero (Thumb, 16 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_divzero))

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_infnan2 (Thumb, 8 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_infnan2))

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_invalid (Thumb, 16 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_invalid))

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_overflow (Thumb, 16 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_overflow))

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_underflow (Thumb, 14 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_underflow))

    [Stack]


    [Calls]
    [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)

    __set_errno (Thumb, 6 bytes, Stack size 0 bytes, errno.o(i.__set_errno))

    [Called By]

    boost_voltage_select_26V (Thumb, 12 bytes, Stack size 0 bytes, ens1_boost.o(i.boost_voltage_select_26V))

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]
    [Address Reference Count : 1]

    main (Thumb, 220 bytes, Stack size 24 bytes, mian.o(i.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    pow (Thumb, 2548 bytes, Stack size 128 bytes, pow.o(i.pow))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    sqrt (Thumb, 66 bytes, Stack size 24 bytes, sqrt.o(i.sqrt))

    [Stack]


    [Calls]
    [Called By]

    wavegen_Init (Thumb, 32 bytes, Stack size 8 bytes, ens1_wavegen.o(i.wavegen_Init))

    [Stack]


    [Calls]
    [Called By]

    wavegen_Start (Thumb, 14 bytes, Stack size 0 bytes, ens1_wavegen.o(i.wavegen_Start))

    [Called By]

    wavegen_Stop (Thumb, 22 bytes, Stack size 0 bytes, ens1_wavegen.o(i.wavegen_Stop))

    [Called By]

    wavegen_driverA_sine_test (Thumb, 98 bytes, Stack size 24 bytes, ens1_wavegen.o(i.wavegen_driverA_sine_test))

    [Stack]


    [Calls]
    [Called By]

    Local Symbols

    NVIC_ClearPendingIRQ (Thumb, 14 bytes, Stack size 0 bytes, ens1_uart.o(i.NVIC_ClearPendingIRQ))

    [Called By]

    NVIC_DisableIRQ (Thumb, 14 bytes, Stack size 0 bytes, ens1_uart.o(i.NVIC_DisableIRQ))

    [Called By]

    NVIC_EnableIRQ (Thumb, 14 bytes, Stack size 0 bytes, ens1_uart.o(i.NVIC_EnableIRQ))

    [Called By]

    NVIC_ClearPendingIRQ (Thumb, 14 bytes, Stack size 0 bytes, ens1_timer.o(i.NVIC_ClearPendingIRQ))

    [Called By]

    NVIC_DisableIRQ (Thumb, 14 bytes, Stack size 0 bytes, ens1_timer.o(i.NVIC_DisableIRQ))

    [Called By]

    NVIC_EnableIRQ (Thumb, 14 bytes, Stack size 0 bytes, ens1_timer.o(i.NVIC_EnableIRQ))

    [Called By]

    _printf_core (Thumb, 332 bytes, Stack size 88 bytes, printf1.o(i._printf_core), UNUSED)

    [Calls]


    [Called By]

    Undefined Global Symbols