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



#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Apr 21 16:57:18 2026

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

Call chain for Maximum Stack Depth:

main ⇒ AT24C32_WriteBytes ⇒ I2C_WriteRegs ⇒ mini_printf ⇒ mini_printf (Cycle)

Mutually Recursive functions

  • NMI_Handler   ⇒   NMI_Handler
  • SVC_Handler   ⇒   SVC_Handler
  • PendSV_Handler   ⇒   PendSV_Handler
  • SysTick_Handler   ⇒   SysTick_Handler
  • ADC_IRQHandler   ⇒   ADC_IRQHandler
  • Hard_Fault_Handler   ⇒   Hard_Fault_Handler
  • mini_printf   ⇒   mini_printf

    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_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))

    [Calls]

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

    HardFault_Handler (Thumb, 24 bytes, Stack size 0 bytes, pan_retarget.o(.emb_text))
    [Address Reference Count : 1]

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_pan271x.o(.text))

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_pan271x.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    WDT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_pan271x.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_idiv (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED)

    __aeabi_idivmod (Thumb, 40 bytes, Stack size 16 bytes, idiv.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

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

    [Called By]

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

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

    AT24C32_ReadByte (Thumb, 16 bytes, Stack size 8 bytes, at24c32_driver.o(i.AT24C32_ReadByte))

    [Stack]


    [Calls]
    [Called By]

    AT24C32_ReadBytes (Thumb, 18 bytes, Stack size 8 bytes, at24c32_driver.o(i.AT24C32_ReadBytes))

    [Stack]


    [Calls]
    [Called By]

    AT24C32_WriteByte (Thumb, 26 bytes, Stack size 8 bytes, at24c32_driver.o(i.AT24C32_WriteByte))

    [Stack]


    [Calls]
    [Called By]

    AT24C32_WriteBytes (Thumb, 28 bytes, Stack size 16 bytes, at24c32_driver.o(i.AT24C32_WriteBytes))

    [Stack]


    [Calls]
    [Called By]

    CLK_AHBPeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, pan_clk.o(i.CLK_AHBPeriphClockCmd))

    [Called By]

    CLK_APB1PeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, pan_clk.o(i.CLK_APB1PeriphClockCmd))

    [Called By]

    CLK_GetHCLKFreq (Thumb, 12 bytes, Stack size 8 bytes, pan_clk.o(i.CLK_GetHCLKFreq))

    [Stack]


    [Calls]
    [Called By]

    CLK_GetPeripheralFreq (Thumb, 24 bytes, Stack size 8 bytes, pan_clk.o(i.CLK_GetPeripheralFreq))

    [Stack]


    [Calls]
    [Called By]

    CLK_RefClkSrcConfig (Thumb, 92 bytes, Stack size 24 bytes, pan_clk.o(i.CLK_RefClkSrcConfig))

    [Stack]


    [Calls]
    [Called By]

    CLK_SYSCLKConfig (Thumb, 58 bytes, Stack size 4 bytes, pan_clk.o(i.CLK_SYSCLKConfig))

    [Stack]


    [Calls]
    [Called By]

    CLK_Wait3vSyncReady (Thumb, 12 bytes, Stack size 8 bytes, pan_clk.o(i.CLK_Wait3vSyncReady))

    [Stack]


    [Calls]
    [Called By]

    CLK_WaitClockReady (Thumb, 56 bytes, Stack size 8 bytes, pan_clk.o(i.CLK_WaitClockReady))

    [Stack]


    [Called By]

    Clock_Init (Thumb, 154 bytes, Stack size 16 bytes, main.o(i.Clock_Init))

    [Stack]


    [Calls]
    [Called By]

    GPIO_EnableDigitalPath (Thumb, 10 bytes, Stack size 0 bytes, pan_gpio.o(i.GPIO_EnableDigitalPath))

    [Called By]

    GPIO_EnablePullupPath (Thumb, 8 bytes, Stack size 0 bytes, pan_gpio.o(i.GPIO_EnablePullupPath))

    [Called By]

    GPIO_SetMode (Thumb, 96 bytes, Stack size 24 bytes, pan_gpio.o(i.GPIO_SetMode))

    [Stack]


    [Calls]
    [Called By]

    GPIO_WriteOutputBit (Thumb, 16 bytes, Stack size 0 bytes, pan_gpio.o(i.GPIO_WriteOutputBit))

    [Called By]

    GetChar (Thumb, 14 bytes, Stack size 0 bytes, pan_retarget.o(i.GetChar))

    [Called By]

    Hard_Fault_Handler (Thumb, 2 bytes, Stack size 0 bytes, pan_retarget.o(i.Hard_Fault_Handler))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    I2C_BusRecover (Thumb, 202 bytes, Stack size 16 bytes, pan_i2c.o(i.I2C_BusRecover))

    [Stack]


    [Calls]
    [Called By]

    I2C_DisableAck (Thumb, 14 bytes, Stack size 0 bytes, pan_i2c.o(i.I2C_DisableAck))

    [Called By]

    I2C_EnableAck (Thumb, 14 bytes, Stack size 0 bytes, pan_i2c.o(i.I2C_EnableAck))

    [Called By]

    I2C_Init (Thumb, 90 bytes, Stack size 8 bytes, pan_i2c.o(i.I2C_Init))

    [Stack]


    [Calls]
    [Called By]

    I2C_PrintSampleInfo (Thumb, 70 bytes, Stack size 8 bytes, main.o(i.I2C_PrintSampleInfo))

    [Stack]


    [Calls]
    [Called By]

    I2C_ReadByte (Thumb, 60 bytes, Stack size 24 bytes, pan_i2c.o(i.I2C_ReadByte))

    [Stack]


    [Calls]
    [Called By]

    I2C_ReadReg (Thumb, 138 bytes, Stack size 40 bytes, pan_i2c.o(i.I2C_ReadReg))

    [Stack]


    [Calls]
    [Called By]

    I2C_ReadRegs (Thumb, 218 bytes, Stack size 40 bytes, pan_i2c.o(i.I2C_ReadRegs))

    [Stack]


    [Calls]
    [Called By]

    I2C_Restart (Thumb, 56 bytes, Stack size 16 bytes, pan_i2c.o(i.I2C_Restart))

    [Stack]


    [Calls]
    [Called By]

    I2C_SendAddr (Thumb, 60 bytes, Stack size 8 bytes, pan_i2c.o(i.I2C_SendAddr))

    [Stack]


    [Calls]
    [Called By]

    I2C_Start (Thumb, 56 bytes, Stack size 16 bytes, pan_i2c.o(i.I2C_Start))

    [Stack]


    [Calls]
    [Called By]

    I2C_Stop (Thumb, 30 bytes, Stack size 8 bytes, pan_i2c.o(i.I2C_Stop))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    I2C_WriteReg (Thumb, 104 bytes, Stack size 40 bytes, pan_i2c.o(i.I2C_WriteReg))

    [Stack]


    [Calls]
    [Called By]

    I2C_WriteRegs (Thumb, 120 bytes, Stack size 40 bytes, pan_i2c.o(i.I2C_WriteRegs))

    [Stack]


    [Calls]
    [Called By]

    OTP_EccEnable (Thumb, 12 bytes, Stack size 0 bytes, pan_otp.o(i.OTP_EccEnable))

    [Called By]

    OTP_Ft_pass_flag (Thumb, 26 bytes, Stack size 4 bytes, pan_otp.o(i.OTP_Ft_pass_flag))

    [Stack]


    [Calls]
    [Called By]

    OTP_Info_Trim (Thumb, 96 bytes, Stack size 20 bytes, pan_otp.o(i.OTP_Info_Trim))

    [Stack]


    [Calls]
    [Called By]

    OTP_Init (Thumb, 16 bytes, Stack size 4 bytes, pan_otp.o(i.OTP_Init))

    [Stack]


    [Calls]
    [Called By]

    OTP_ReadInfoInit (Thumb, 24 bytes, Stack size 0 bytes, pan_otp.o(i.OTP_ReadInfoInit))

    [Called By]

    OTP_ReadVal (Thumb, 22 bytes, Stack size 0 bytes, pan_otp.o(i.OTP_ReadVal))

    [Called By]

    SYS_delay_10nop (Thumb, 26 bytes, Stack size 0 bytes, pan_sys.o(i.SYS_delay_10nop))

    [Called By]

    SendChar (Thumb, 8 bytes, Stack size 4 bytes, pan_retarget.o(i.SendChar))

    [Stack]


    [Calls]
    [Called By]

    SendChar_ToUART (Thumb, 20 bytes, Stack size 0 bytes, pan_retarget.o(i.SendChar_ToUART))

    [Called By]

    Sys_Init (Thumb, 80 bytes, Stack size 8 bytes, main.o(i.Sys_Init))

    [Stack]


    [Calls]
    [Called By]

    SystemCoreClockUpdate (Thumb, 48 bytes, Stack size 8 bytes, system_pan271x.o(i.SystemCoreClockUpdate))

    [Stack]


    [Calls]
    [Called By]

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

    UART_Init (Thumb, 66 bytes, Stack size 16 bytes, pan_uart.o(i.UART_Init))

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

    fgetc (Thumb, 8 bytes, Stack size 8 bytes, pan_retarget.o(i.fgetc))

    [Stack]


    [Calls]
    [Called By]

    getc (Thumb, 8 bytes, Stack size 8 bytes, getc.o(i.getc))

    [Stack]


    [Calls]
    [Called By]

    main (Thumb, 210 bytes, Stack size 56 bytes, main.o(i.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    mini_printf (Thumb, 194 bytes, Stack size 56 bytes, pan_retarget.o(i.mini_printf))

    [Stack]


    [Calls]
    [Called By]

    platform_init (Thumb, 12 bytes, Stack size 8 bytes, main.o(i.platform_init))

    [Stack]


    [Calls]
    [Called By]

    systick_delay_ms (Thumb, 72 bytes, Stack size 24 bytes, pan_clk.o(i.systick_delay_ms))

    [Stack]


    [Calls]
    [Called By]

    systick_delay_us (Thumb, 38 bytes, Stack size 0 bytes, pan_clk.o(i.systick_delay_us))

    [Called By]

    Local Symbols

    I2C_WaitStatus (Thumb, 40 bytes, Stack size 8 bytes, pan_i2c.o(i.I2C_WaitStatus))

    [Stack]


    [Calls]
    [Called By]

    Undefined Global Symbols

    __arm_fini_ (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)

    [Called By]