Static Call Graph for image ..\OBJ\TEST.axf



#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Dec 30 15:53:19 2025

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

Call chain for Maximum Stack Depth:

main ⇒ render_fan_animation ⇒ Draw_Rotating_Fan ⇒ __hardfp_sin ⇒ __ieee754_rem_pio2 ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round

Mutually Recursive functions

  • ADC_IRQHandler   ⇒   ADC_IRQHandler

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

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

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

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Calls]

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

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

    [Called By]

    strcmp (Thumb, 28 bytes, Stack size 8 bytes, strcmp.o(.text))

    [Stack]


    [Called By]

    memcmp (Thumb, 26 bytes, Stack size 12 bytes, memcmp.o(.text))

    [Stack]


    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    __aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_ddiv (Thumb, 222 bytes, Stack size 32 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, 26 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_f2d (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))

    [Called By]

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

    [Called By]

    __aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text), UNUSED)

    [Calls]


    [Called By]

    __aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))

    [Called By]

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

    __aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))

    [Called By]

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

    __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))

    [Called By]

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

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

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

    [Stack]


    [Called By]

    _double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_d2ulz (Thumb, 48 bytes, Stack size 0 bytes, dfixul.o(.text), UNUSED)

    [Calls]


    [Called By]

    __aeabi_cdrcmple (Thumb, 48 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)

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

    [Stack]


    [Calls]
    [Called By]

    Alarm_GPIO_Configuration (Thumb, 112 bytes, Stack size 24 bytes, ch455i2c.o(i.Alarm_GPIO_Configuration))

    [Stack]


    [Calls]
    [Called By]

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

    CH455_Write (Thumb, 34 bytes, Stack size 8 bytes, ch455i2c.o(i.CH455_Write))

    [Stack]


    [Calls]
    [Called By]

    CT_Delay (Thumb, 10 bytes, Stack size 8 bytes, ctiic.o(i.CT_Delay))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_Ack (Thumb, 66 bytes, Stack size 8 bytes, ctiic.o(i.CT_IIC_Ack))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_Init (Thumb, 56 bytes, Stack size 16 bytes, ctiic.o(i.CT_IIC_Init))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_NAck (Thumb, 66 bytes, Stack size 8 bytes, ctiic.o(i.CT_IIC_NAck))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_Read_Byte (Thumb, 92 bytes, Stack size 16 bytes, ctiic.o(i.CT_IIC_Read_Byte))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_Send_Byte (Thumb, 84 bytes, Stack size 16 bytes, ctiic.o(i.CT_IIC_Send_Byte))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_Start (Thumb, 62 bytes, Stack size 8 bytes, ctiic.o(i.CT_IIC_Start))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_Stop (Thumb, 58 bytes, Stack size 8 bytes, ctiic.o(i.CT_IIC_Stop))

    [Stack]


    [Calls]
    [Called By]

    CT_IIC_Wait_Ack (Thumb, 80 bytes, Stack size 8 bytes, ctiic.o(i.CT_IIC_Wait_Ack))

    [Stack]


    [Calls]
    [Called By]

    DCMotorGpio_Init (Thumb, 78 bytes, Stack size 16 bytes, dcmotor.o(i.DCMotorGpio_Init))

    [Stack]


    [Calls]
    [Called By]

    DHT11_Init (Thumb, 14 bytes, Stack size 8 bytes, dht11.o(i.DHT11_Init))

    [Stack]


    [Calls]
    [Called By]

    DHT11_Read_Data (Thumb, 92 bytes, Stack size 24 bytes, dht11.o(i.DHT11_Read_Data))

    [Stack]


    [Calls]
    [Called By]

    DHT11_Reset (Thumb, 36 bytes, Stack size 8 bytes, dht11.o(i.DHT11_Reset))

    [Stack]


    [Calls]
    [Called By]

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

    Draw_Rotating_Fan (Thumb, 814 bytes, Stack size 112 bytes, test.o(i.Draw_Rotating_Fan))

    [Stack]


    [Calls]
    [Called By]

    EXTI_Init (Thumb, 142 bytes, Stack size 0 bytes, stm32f4xx_exti.o(i.EXTI_Init))

    [Called By]

    FSMC_NORSRAMCmd (Thumb, 46 bytes, Stack size 0 bytes, stm32f4xx_fsmc.o(i.FSMC_NORSRAMCmd))

    [Called By]

    FSMC_NORSRAMInit (Thumb, 230 bytes, Stack size 0 bytes, stm32f4xx_fsmc.o(i.FSMC_NORSRAMInit))

    [Called By]

    GPIO_Init (Thumb, 144 bytes, Stack size 20 bytes, stm32f4xx_gpio.o(i.GPIO_Init))

    [Stack]


    [Called By]

    GPIO_PinAFConfig (Thumb, 70 bytes, Stack size 20 bytes, stm32f4xx_gpio.o(i.GPIO_PinAFConfig))

    [Stack]


    [Called By]

    GPIO_ReadInputDataBit (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_gpio.o(i.GPIO_ReadInputDataBit))

    [Called By]

    GPIO_ResetBits (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_gpio.o(i.GPIO_ResetBits))

    [Called By]

    GPIO_Set (Thumb, 222 bytes, Stack size 32 bytes, sys.o(i.GPIO_Set))

    [Stack]


    [Called By]

    GPIO_SetBits (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_gpio.o(i.GPIO_SetBits))

    [Called By]

    GT9147_Init (Thumb, 216 bytes, Stack size 24 bytes, gt9147.o(i.GT9147_Init))

    [Stack]


    [Calls]
    [Called By]

    GT9147_RD_Reg (Thumb, 98 bytes, Stack size 24 bytes, gt9147.o(i.GT9147_RD_Reg))

    [Stack]


    [Calls]
    [Called By]

    GT9147_Scan (Thumb, 482 bytes, Stack size 32 bytes, gt9147.o(i.GT9147_Scan))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    GT9147_Send_Cfg (Thumb, 86 bytes, Stack size 16 bytes, gt9147.o(i.GT9147_Send_Cfg))

    [Stack]


    [Calls]
    [Called By]

    GT9147_WR_Reg (Thumb, 92 bytes, Stack size 24 bytes, gt9147.o(i.GT9147_WR_Reg))

    [Stack]


    [Calls]
    [Called By]

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

    I2C_GPIO_Configuration (Thumb, 52 bytes, Stack size 16 bytes, i2c.o(i.I2C_GPIO_Configuration))

    [Stack]


    [Calls]
    [Called By]

    I2C_ReceiveACK (Thumb, 66 bytes, Stack size 8 bytes, i2c.o(i.I2C_ReceiveACK))

    [Stack]


    [Calls]
    [Called By]

    I2C_SDA_Input (Thumb, 30 bytes, Stack size 16 bytes, i2c.o(i.I2C_SDA_Input))

    [Stack]


    [Calls]
    [Called By]

    I2C_SDA_Output (Thumb, 40 bytes, Stack size 16 bytes, i2c.o(i.I2C_SDA_Output))

    [Stack]


    [Calls]
    [Called By]

    I2C_SendByte (Thumb, 74 bytes, Stack size 16 bytes, i2c.o(i.I2C_SendByte))

    [Stack]


    [Calls]
    [Called By]

    I2C_Start (Thumb, 48 bytes, Stack size 8 bytes, i2c.o(i.I2C_Start))

    [Stack]


    [Calls]
    [Called By]

    I2C_Stop (Thumb, 36 bytes, Stack size 8 bytes, i2c.o(i.I2C_Stop))

    [Stack]


    [Calls]
    [Called By]

    I2C_delay (Thumb, 10 bytes, Stack size 8 bytes, i2c.o(i.I2C_delay))

    [Stack]


    [Calls]
    [Called By]

    KEYGpio_Init (Thumb, 44 bytes, Stack size 16 bytes, key.o(i.KEYGpio_Init))

    [Stack]


    [Calls]
    [Called By]

    KeyScan (Thumb, 240 bytes, Stack size 16 bytes, key.o(i.KeyScan))

    [Stack]


    [Calls]
    [Called By]

    LCD_Clear (Thumb, 42 bytes, Stack size 16 bytes, lcd.o(i.LCD_Clear))

    [Stack]


    [Calls]
    [Called By]

    LCD_Display_Dir (Thumb, 136 bytes, Stack size 8 bytes, lcd.o(i.LCD_Display_Dir))

    [Stack]


    [Calls]
    [Called By]

    LCD_DrawLine (Thumb, 172 bytes, Stack size 68 bytes, lcd.o(i.LCD_DrawLine))

    [Stack]


    [Calls]
    [Called By]

    LCD_DrawOnrPoint (Thumb, 28 bytes, Stack size 16 bytes, lcd.o(i.LCD_DrawOnrPoint))

    [Stack]


    [Calls]
    [Called By]

    LCD_DrawPoint (Thumb, 26 bytes, Stack size 16 bytes, lcd.o(i.LCD_DrawPoint))

    [Stack]


    [Calls]
    [Called By]

    LCD_DrawRectangle (Thumb, 74 bytes, Stack size 28 bytes, lcd.o(i.LCD_DrawRectangle))

    [Stack]


    [Calls]
    [Called By]

    LCD_Fast_DrawPoint (Thumb, 96 bytes, Stack size 8 bytes, lcd.o(i.LCD_Fast_DrawPoint))

    [Stack]


    [Calls]
    [Called By]

    LCD_Fill (Thumb, 80 bytes, Stack size 36 bytes, lcd.o(i.LCD_Fill))

    [Stack]


    [Calls]
    [Called By]

    LCD_Init (Thumb, 4600 bytes, Stack size 136 bytes, lcd.o(i.LCD_Init))

    [Stack]


    [Calls]
    [Called By]

    LCD_RD_DATA (Thumb, 14 bytes, Stack size 8 bytes, lcd.o(i.LCD_RD_DATA))

    [Stack]


    [Called By]

    LCD_Scan_Dir (Thumb, 306 bytes, Stack size 12 bytes, lcd.o(i.LCD_Scan_Dir))

    [Stack]


    [Calls]
    [Called By]

    LCD_SetCursor (Thumb, 84 bytes, Stack size 4 bytes, lcd.o(i.LCD_SetCursor))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowChar (Thumb, 264 bytes, Stack size 40 bytes, lcd.o(i.LCD_ShowChar))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowChar3232 (Thumb, 118 bytes, Stack size 36 bytes, lcd.o(i.LCD_ShowChar3232))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowCharString (Thumb, 76 bytes, Stack size 40 bytes, lcd.o(i.LCD_ShowCharString))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowHzString (Thumb, 184 bytes, Stack size 80 bytes, lcd.o(i.LCD_ShowHzString))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowString (Thumb, 82 bytes, Stack size 36 bytes, lcd.o(i.LCD_ShowString))

    [Stack]


    [Calls]
    [Called By]

    LCD_WR_DATA (Thumb, 6 bytes, Stack size 0 bytes, lcd.o(i.LCD_WR_DATA))

    [Called By]

    LCD_WR_REG (Thumb, 6 bytes, Stack size 0 bytes, lcd.o(i.LCD_WR_REG))

    [Called By]

    LCD_WriteRAM (Thumb, 6 bytes, Stack size 0 bytes, lcd.o(i.LCD_WriteRAM))

    [Called By]

    LCD_WriteRAM_Prepare (Thumb, 10 bytes, Stack size 0 bytes, lcd.o(i.LCD_WriteRAM_Prepare))

    [Called By]

    LCD_WriteReg (Thumb, 10 bytes, Stack size 0 bytes, lcd.o(i.LCD_WriteReg))

    [Called By]

    LCD_delayms (Thumb, 36 bytes, Stack size 8 bytes, lcd.o(i.LCD_delayms))

    [Stack]


    [Called By]

    LCD_delayus (Thumb, 28 bytes, Stack size 0 bytes, lcd.o(i.LCD_delayus))

    [Called By]

    LEDGpio_Init (Thumb, 112 bytes, Stack size 16 bytes, led.o(i.LEDGpio_Init))

    [Stack]


    [Calls]
    [Called By]

    LED_Flow_PingPong (Thumb, 484 bytes, Stack size 8 bytes, led.o(i.LED_Flow_PingPong))

    [Stack]


    [Calls]
    [Called By]

    LED_OFF (Thumb, 76 bytes, Stack size 8 bytes, led.o(i.LED_OFF))

    [Stack]


    [Calls]
    [Called By]

    Load_Drow_Dialog1 (Thumb, 666 bytes, Stack size 16 bytes, test.o(i.Load_Drow_Dialog1))

    [Stack]


    [Calls]
    [Called By]

    Load_Drow_Dialog2 (Thumb, 620 bytes, Stack size 16 bytes, test.o(i.Load_Drow_Dialog2))

    [Stack]


    [Calls]
    [Called By]

    Load_Drow_Dialog3 (Thumb, 180 bytes, Stack size 16 bytes, test.o(i.Load_Drow_Dialog3))

    [Stack]


    [Calls]
    [Called By]

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

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

    NVIC_Init (Thumb, 106 bytes, Stack size 16 bytes, misc.o(i.NVIC_Init))

    [Stack]


    [Called By]

    PID_Compute (Thumb, 226 bytes, Stack size 0 bytes, test.o(i.PID_Compute))

    [Called By]

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

    RCC_AHB1PeriphClockCmd (Thumb, 26 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_AHB1PeriphClockCmd))

    [Called By]

    RCC_AHB3PeriphClockCmd (Thumb, 26 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_AHB3PeriphClockCmd))

    [Called By]

    RCC_APB1PeriphClockCmd (Thumb, 26 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB1PeriphClockCmd))

    [Called By]

    RCC_APB2PeriphClockCmd (Thumb, 26 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB2PeriphClockCmd))

    [Called By]

    RCC_GetClocksFreq (Thumb, 214 bytes, Stack size 20 bytes, stm32f4xx_rcc.o(i.RCC_GetClocksFreq))

    [Stack]


    [Called By]

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

    SYSCFG_EXTILineConfig (Thumb, 60 bytes, Stack size 12 bytes, stm32f4xx_syscfg.o(i.SYSCFG_EXTILineConfig))

    [Stack]


    [Called By]

    SysTick_Handler (Thumb, 86 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.SysTick_Handler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    SysTick_Init (Thumb, 92 bytes, Stack size 12 bytes, delay.o(i.SysTick_Init))

    [Stack]


    [Called By]

    SystemInit (Thumb, 88 bytes, Stack size 8 bytes, system_stm32f4xx.o(i.SystemInit))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIM10_PWM_Init (Thumb, 152 bytes, Stack size 56 bytes, pwm.o(i.TIM10_PWM_Init))

    [Stack]


    [Calls]
    [Called By]

    TIM_ARRPreloadConfig (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_ARRPreloadConfig))

    [Called By]

    TIM_Cmd (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_Cmd))

    [Called By]

    TIM_OC1Init (Thumb, 114 bytes, Stack size 16 bytes, stm32f4xx_tim.o(i.TIM_OC1Init))

    [Stack]


    [Called By]

    TIM_OC1PreloadConfig (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_OC1PreloadConfig))

    [Called By]

    TIM_SetCompare1 (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_SetCompare1))

    [Called By]

    TIM_TimeBaseInit (Thumb, 104 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_TimeBaseInit))

    [Called By]

    TP_Init (Thumb, 72 bytes, Stack size 8 bytes, touch.o(i.TP_Init))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TimingDelay_Decrement (Thumb, 18 bytes, Stack size 0 bytes, delay.o(i.TimingDelay_Decrement))

    [Called By]

    UART3_Configuration (Thumb, 154 bytes, Stack size 32 bytes, usart3.o(i.UART3_Configuration))

    [Stack]


    [Calls]
    [Called By]

    UART5_Configuration (Thumb, 200 bytes, Stack size 40 bytes, usart3.o(i.UART5_Configuration))

    [Stack]


    [Calls]
    [Called By]

    UART5_IRQHandler (Thumb, 262 bytes, Stack size 24 bytes, stm32f4xx_it.o(i.UART5_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART5_Senddata (Thumb, 42 bytes, Stack size 16 bytes, usart3.o(i.UART5_Senddata))

    [Stack]


    [Calls]
    [Called By]

    UART6_Configuration (Thumb, 186 bytes, Stack size 40 bytes, usart3.o(i.UART6_Configuration))

    [Stack]


    [Calls]
    [Called By]

    USART3_Senddata (Thumb, 42 bytes, Stack size 16 bytes, usart3.o(i.USART3_Senddata))

    [Stack]


    [Calls]
    [Called By]

    USART6_IRQHandler (Thumb, 138 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.USART6_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART_ClearITPendingBit (Thumb, 30 bytes, Stack size 8 bytes, stm32f4xx_usart.o(i.USART_ClearITPendingBit))

    [Stack]


    [Called By]

    USART_Cmd (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_usart.o(i.USART_Cmd))

    [Called By]

    USART_GetFlagStatus (Thumb, 26 bytes, Stack size 0 bytes, stm32f4xx_usart.o(i.USART_GetFlagStatus))

    [Called By]

    USART_GetITStatus (Thumb, 84 bytes, Stack size 16 bytes, stm32f4xx_usart.o(i.USART_GetITStatus))

    [Stack]


    [Called By]

    USART_ITConfig (Thumb, 74 bytes, Stack size 20 bytes, stm32f4xx_usart.o(i.USART_ITConfig))

    [Stack]


    [Called By]

    USART_Init (Thumb, 204 bytes, Stack size 48 bytes, stm32f4xx_usart.o(i.USART_Init))

    [Stack]


    [Calls]
    [Called By]

    USART_ReceiveData (Thumb, 10 bytes, Stack size 0 bytes, stm32f4xx_usart.o(i.USART_ReceiveData))

    [Called By]

    USART_SendData (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_usart.o(i.USART_SendData))

    [Called By]

    Update_History_Chart (Thumb, 554 bytes, Stack size 48 bytes, test.o(i.Update_History_Chart))

    [Stack]


    [Calls]
    [Called By]

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

    WIFI_Configuration (Thumb, 124 bytes, Stack size 16 bytes, wifi.o(i.WIFI_Configuration))

    [Stack]


    [Calls]
    [Called By]

    __0printf (Thumb, 22 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))

    [Stack]


    [Called By]

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

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

    [Calls]

    __1sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

    __2sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf))

    [Stack]


    [Called By]

    __c89sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

    sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

    __ARM_fpclassify (Thumb, 48 bytes, Stack size 8 bytes, fpclassify.o(i.__ARM_fpclassify))

    [Stack]


    [Called By]

    __hardfp_cos (Thumb, 180 bytes, Stack size 32 bytes, cos.o(i.__hardfp_cos))

    [Stack]


    [Calls]
    [Called By]

    __hardfp_sin (Thumb, 180 bytes, Stack size 32 bytes, sin.o(i.__hardfp_sin))

    [Stack]


    [Calls]
    [Called By]

    __ieee754_rem_pio2 (Thumb, 938 bytes, Stack size 120 bytes, rred.o(i.__ieee754_rem_pio2))

    [Stack]


    [Calls]
    [Called By]

    __kernel_cos (Thumb, 322 bytes, Stack size 64 bytes, cos_i.o(i.__kernel_cos))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    __kernel_sin (Thumb, 280 bytes, Stack size 72 bytes, sin_i.o(i.__kernel_sin))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_underflow (Thumb, 24 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]

    ctp_led_handle (Thumb, 1262 bytes, Stack size 32 bytes, test.o(i.ctp_led_handle))

    [Stack]


    [Calls]
    [Called By]

    delay_ms (Thumb, 16 bytes, Stack size 0 bytes, delay.o(i.delay_ms))

    [Called By]

    delay_us (Thumb, 28 bytes, Stack size 0 bytes, delay.o(i.delay_us))

    [Called By]

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

    [Stack]


    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    init_CH455 (Thumb, 12 bytes, Stack size 8 bytes, ch455i2c.o(i.init_CH455))

    [Stack]


    [Calls]
    [Called By]

    is_touch_in_area (Thumb, 32 bytes, Stack size 16 bytes, test.o(i.is_touch_in_area))

    [Stack]


    [Called By]

    main (Thumb, 618 bytes, Stack size 16 bytes, test.o(i.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    millis (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.millis))

    [Called By]

    render_fan_animation (Thumb, 204 bytes, Stack size 24 bytes, test.o(i.render_fan_animation))

    [Stack]


    [Calls]
    [Called By]

    update_all_displays (Thumb, 576 bytes, Stack size 48 bytes, test.o(i.update_all_displays))

    [Stack]


    [Calls]
    [Called By]

    Local Symbols

    SetSysClock (Thumb, 220 bytes, Stack size 12 bytes, system_stm32f4xx.o(i.SetSysClock))

    [Stack]


    [Called By]

    DHT11_Check (Thumb, 82 bytes, Stack size 8 bytes, dht11.o(i.DHT11_Check))

    [Stack]


    [Calls]
    [Called By]

    DHT11_GPIO_Config (Thumb, 64 bytes, Stack size 16 bytes, dht11.o(i.DHT11_GPIO_Config))

    [Stack]


    [Calls]
    [Called By]

    DHT11_Mode_IN (Thumb, 34 bytes, Stack size 16 bytes, dht11.o(i.DHT11_Mode_IN))

    [Stack]


    [Calls]
    [Called By]

    DHT11_Mode_OUT (Thumb, 46 bytes, Stack size 16 bytes, dht11.o(i.DHT11_Mode_OUT))

    [Stack]


    [Calls]
    [Called By]

    DHT11_Read_Bit (Thumb, 74 bytes, Stack size 8 bytes, dht11.o(i.DHT11_Read_Bit))

    [Stack]


    [Calls]
    [Called By]

    DHT11_Read_Byte (Thumb, 30 bytes, Stack size 16 bytes, dht11.o(i.DHT11_Read_Byte))

    [Stack]


    [Calls]
    [Called By]

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

    [Calls]


    [Called By]

    _printf_core (Thumb, 1704 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)

    [Calls]


    [Called By]

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

    [Called By]

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

    [Called By]

    _sputc (Thumb, 10 bytes, Stack size 0 bytes, printfa.o(i._sputc))

    [Called By]


    [Address Reference Count : 1]

    Undefined Global Symbols