Static Call Graph for image .\Objects\Xiaomi-IoT-C1-V1.axf



#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Jul 16 11:07:17 2024

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

Call chain for Maximum Stack Depth:

main ⇒ miio_command_handle_loop ⇒ send_error ⇒ do_req_error ⇒ send_error_code ⇒ str_n_cat ⇒ strncat

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_gd32f450_470.o(.text))
    [Address Reference Count : 1]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Calls]


    [Called By]

    __rt_ctype_table (Thumb, 4 bytes, Stack size 0 bytes, ctype_o.o(.text))

    [Called By]

    isspace (Thumb, 18 bytes, Stack size 8 bytes, isspace_o.o(.text))

    [Stack]


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

    [Called By]

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

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

    [Called By]

    strncpy (Thumb, 24 bytes, Stack size 8 bytes, strncpy.o(.text))

    [Stack]


    [Called By]

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

    [Called By]

    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]

    strncat (Thumb, 40 bytes, Stack size 8 bytes, strncat.o(.text))

    [Stack]


    [Called By]

    strncmp (Thumb, 30 bytes, Stack size 12 bytes, strncmp.o(.text))

    [Stack]


    [Called By]

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

    [Stack]


    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    atoi (Thumb, 26 bytes, Stack size 16 bytes, atoi.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

    [Calls]


    [Called By]

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

    [Calls]

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

    [Calls]

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

    [Calls]


    [Called By]

    __aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text), UNUSED)

    [Calls]


    [Called By]

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

    [Called By]

    __aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)

    __aeabi_cdcmple (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))

    [Called By]

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

    [Called By]

    __aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))

    [Stack]


    [Calls]
    [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_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

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

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

    [Called By]

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

    __strtod_int (Thumb, 90 bytes, Stack size 40 bytes, strtod.o(.text))

    [Stack]


    [Calls]
    [Called By]

    strtol (Thumb, 112 bytes, Stack size 32 bytes, strtol.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

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

    [Called By]

    _float_epilogue (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text), UNUSED)

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

    [Called By]

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

    [Calls]


    [Called By]

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

    [Calls]


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

    _scanf_real (Thumb, 0 bytes, Stack size 104 bytes, scanf_fp.o(.text))

    [Stack]


    [Called By]

    _scanf_really_real (Thumb, 556 bytes, Stack size 104 bytes, scanf_fp.o(.text), UNUSED)

    [Calls]

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

    _sbackspace (Thumb, 34 bytes, Stack size 0 bytes, _sgetc.o(.text))
    [Address Reference Count : 1]

    _strtoul (Thumb, 158 bytes, Stack size 40 bytes, _strtoul.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

    __aeabi_ul2d (Thumb, 24 bytes, Stack size 16 bytes, dfltul.o(.text), UNUSED)

    [Calls]


    [Called By]

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

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

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

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

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

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

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

    S_1_DeviceInformation_doGet (Thumb, 72 bytes, Stack size 8 bytes, s_1_deviceinformation_doget.o(i.S_1_DeviceInformation_doGet))

    [Stack]


    [Calls]
    [Called By]

    S_2_Light_doAction (Thumb, 80 bytes, Stack size 8 bytes, s_2_light_doaction.o(i.S_2_Light_doAction))

    [Stack]


    [Calls]
    [Called By]

    S_2_Light_doGet (Thumb, 174 bytes, Stack size 8 bytes, s_2_light_doget.o(i.S_2_Light_doGet))

    [Stack]


    [Calls]
    [Called By]

    S_2_Light_doSet (Thumb, 164 bytes, Stack size 8 bytes, s_2_light_doset.o(i.S_2_Light_doSet))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    SystemInit (Thumb, 194 bytes, Stack size 8 bytes, system_gd32f4xx.o(i.SystemInit))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART1_IRQHandler (Thumb, 120 bytes, Stack size 8 bytes, usart.o(i.USART1_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART2_IRQHandler (Thumb, 36 bytes, Stack size 8 bytes, arch_uart.o(i.USART2_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART5_IRQHandler (Thumb, 36 bytes, Stack size 8 bytes, arch_uart.o(i.USART5_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    _Xmodem_recv_str (Thumb, 60 bytes, Stack size 24 bytes, arch_uart.o(i._Xmodem_recv_str))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    __0snprintf (Thumb, 48 bytes, Stack size 40 bytes, printfa.o(i.__0snprintf), UNUSED)

    [Calls]

    __1snprintf (Thumb, 0 bytes, Stack size 40 bytes, printfa.o(i.__0snprintf), UNUSED)

    __2snprintf (Thumb, 0 bytes, Stack size 40 bytes, printfa.o(i.__0snprintf))

    [Stack]


    [Called By]

    __c89snprintf (Thumb, 0 bytes, Stack size 40 bytes, printfa.o(i.__0snprintf), UNUSED)

    snprintf (Thumb, 0 bytes, Stack size 40 bytes, printfa.o(i.__0snprintf), UNUSED)

    __aeabi_errno_addr (Thumb, 4 bytes, Stack size 0 bytes, errno.o(i.__aeabi_errno_addr))

    [Called By]

    __rt_errno_addr (Thumb, 0 bytes, Stack size 0 bytes, errno.o(i.__aeabi_errno_addr), UNUSED)

    __hardfp_atof (Thumb, 44 bytes, Stack size 24 bytes, atof.o(i.__hardfp_atof))

    [Stack]


    [Calls]
    [Called By]

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

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

    _is_digit (Thumb, 14 bytes, Stack size 0 bytes, scanf_fp.o(i._is_digit), UNUSED)

    [Called By]

    _read_ringbuff (Thumb, 80 bytes, Stack size 8 bytes, miio_uart.o(i._read_ringbuff))

    [Stack]


    [Calls]
    [Called By]

    _uart_init (Thumb, 172 bytes, Stack size 8 bytes, arch_uart.o(i._uart_init))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    _uart_interrupt (Thumb, 30 bytes, Stack size 8 bytes, arch_uart.o(i._uart_interrupt))

    [Stack]


    [Calls]
    [Called By]

    _uart_recv_byte (Thumb, 34 bytes, Stack size 24 bytes, arch_uart.o(i._uart_recv_byte))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    _uart_recv_str (Thumb, 228 bytes, Stack size 32 bytes, arch_uart.o(i._uart_recv_str))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    _uart_send_byte (Thumb, 126 bytes, Stack size 24 bytes, arch_uart.o(i._uart_send_byte))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    _uart_send_str (Thumb, 160 bytes, Stack size 32 bytes, arch_uart.o(i._uart_send_str))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    _uart_send_str_wait_ack (Thumb, 242 bytes, Stack size 832 bytes, arch_uart.o(i._uart_send_str_wait_ack))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    _write_ringbuff (Thumb, 68 bytes, Stack size 0 bytes, miio_uart.o(i._write_ringbuff))

    [Called By]

    action_operation_decode (Thumb, 310 bytes, Stack size 40 bytes, action_operation_decoder.o(i.action_operation_decode))

    [Stack]


    [Calls]
    [Called By]

    action_operation_delete (Thumb, 32 bytes, Stack size 8 bytes, action_operation.o(i.action_operation_delete))

    [Stack]


    [Calls]
    [Called By]

    action_operation_encode_param (Thumb, 504 bytes, Stack size 144 bytes, action_operation_encoder.o(i.action_operation_encode_param))

    [Stack]


    [Calls]
    [Called By]

    action_operation_encode_tail (Thumb, 98 bytes, Stack size 16 bytes, action_operation_encoder.o(i.action_operation_encode_tail))

    [Stack]


    [Calls]
    [Called By]

    action_operation_new (Thumb, 82 bytes, Stack size 8 bytes, action_operation.o(i.action_operation_new))

    [Stack]


    [Calls]
    [Called By]

    app_func_get_mac (Thumb, 84 bytes, Stack size 824 bytes, user_app_func.o(i.app_func_get_mac))

    [Stack]


    [Calls]
    [Called By]

    app_func_get_net_state (Thumb, 84 bytes, Stack size 824 bytes, user_app_func.o(i.app_func_get_net_state))

    [Stack]


    [Calls]
    [Called By]

    app_func_get_time (Thumb, 84 bytes, Stack size 824 bytes, user_app_func.o(i.app_func_get_time))

    [Stack]


    [Calls]
    [Called By]

    app_func_get_version (Thumb, 84 bytes, Stack size 824 bytes, user_app_func.o(i.app_func_get_version))

    [Stack]


    [Calls]
    [Called By]

    app_func_getwifi (Thumb, 84 bytes, Stack size 824 bytes, user_app_func.o(i.app_func_getwifi))

    [Stack]


    [Calls]
    [Called By]

    app_func_is_ota_busy (Thumb, 6 bytes, Stack size 0 bytes, user_app_func.o(i.app_func_is_ota_busy))

    [Called By]

    app_func_net_change (Thumb, 6 bytes, Stack size 0 bytes, user_app_func.o(i.app_func_net_change))

    [Called By]

    app_func_restore (Thumb, 84 bytes, Stack size 824 bytes, user_app_func.o(i.app_func_restore))

    [Stack]


    [Calls]
    [Called By]

    arch_mcu_init (Thumb, 50 bytes, Stack size 8 bytes, arch_init.o(i.arch_mcu_init))

    [Stack]


    [Calls]
    [Called By]

    arch_os_mutex_deinit (Thumb, 2 bytes, Stack size 0 bytes, arch_os.o(i.arch_os_mutex_deinit))

    [Called By]

    arch_os_mutex_get (Thumb, 2 bytes, Stack size 0 bytes, arch_os.o(i.arch_os_mutex_get))

    [Called By]

    arch_os_mutex_init (Thumb, 2 bytes, Stack size 0 bytes, arch_os.o(i.arch_os_mutex_init))

    [Called By]

    arch_os_mutex_put (Thumb, 2 bytes, Stack size 0 bytes, arch_os.o(i.arch_os_mutex_put))

    [Called By]

    arch_ota_func (Thumb, 6 bytes, Stack size 0 bytes, arch_ota.o(i.arch_ota_func))

    [Called By]

    arch_printf_begin (Thumb, 2 bytes, Stack size 0 bytes, arch_dbg.o(i.arch_printf_begin))

    [Called By]

    arch_printf_end (Thumb, 10 bytes, Stack size 8 bytes, arch_dbg.o(i.arch_printf_end))

    [Stack]


    [Calls]
    [Called By]

    arguments_delete (Thumb, 60 bytes, Stack size 16 bytes, arguments.o(i.arguments_delete))

    [Stack]


    [Calls]
    [Called By]

    arguments_new (Thumb, 38 bytes, Stack size 8 bytes, arguments.o(i.arguments_new))

    [Stack]


    [Calls]
    [Called By]

    con_rgb_led (Thumb, 34 bytes, Stack size 8 bytes, i2c_test.o(i.con_rgb_led))

    [Stack]


    [Calls]
    [Called By]

    delay_decrement (Thumb, 18 bytes, Stack size 0 bytes, systick.o(i.delay_decrement))

    [Called By]

    delay_init (Thumb, 50 bytes, Stack size 8 bytes, delay.o(i.delay_init))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

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

    [Called By]

    do_get_properties (Thumb, 60 bytes, Stack size 24 bytes, main.o(i.do_get_properties))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    do_invoke_action (Thumb, 62 bytes, Stack size 24 bytes, main.o(i.do_invoke_action))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    do_invoke_none (Thumb, 36 bytes, Stack size 16 bytes, main.o(i.do_invoke_none))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    do_invoke_ota (Thumb, 100 bytes, Stack size 32 bytes, main.o(i.do_invoke_ota))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    do_req_error (Thumb, 50 bytes, Stack size 24 bytes, miio_api.o(i.do_req_error))

    [Stack]


    [Calls]
    [Called By]

    do_set_properties (Thumb, 60 bytes, Stack size 24 bytes, main.o(i.do_set_properties))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    execute_action_invocation (Thumb, 334 bytes, Stack size 856 bytes, operation_executor.o(i.execute_action_invocation))

    [Stack]


    [Calls]
    [Called By]

    execute_ota_operation (Thumb, 58 bytes, Stack size 40 bytes, ota.o(i.execute_ota_operation))

    [Stack]


    [Calls]
    [Called By]

    execute_property_operation (Thumb, 406 bytes, Stack size 864 bytes, operation_executor.o(i.execute_property_operation))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    free (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))

    [Stack]


    [Called By]

    gpio_af_set (Thumb, 94 bytes, Stack size 20 bytes, gd32f4xx_gpio.o(i.gpio_af_set))

    [Stack]


    [Called By]

    gpio_mode_set (Thumb, 78 bytes, Stack size 20 bytes, gd32f4xx_gpio.o(i.gpio_mode_set))

    [Stack]


    [Called By]

    gpio_output_options_set (Thumb, 66 bytes, Stack size 20 bytes, gd32f4xx_gpio.o(i.gpio_output_options_set))

    [Stack]


    [Called By]

    ht16k33_display_off (Thumb, 114 bytes, Stack size 16 bytes, ht16k33.o(i.ht16k33_display_off))

    [Stack]


    [Calls]
    [Called By]

    ht16k33_init (Thumb, 26 bytes, Stack size 16 bytes, ht16k33.o(i.ht16k33_init))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    i2c0_gpio_config (Thumb, 92 bytes, Stack size 8 bytes, i2c.o(i.i2c0_gpio_config))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    i2c1_gpio_config (Thumb, 80 bytes, Stack size 8 bytes, i2c.o(i.i2c1_gpio_config))

    [Stack]


    [Calls]
    [Called By]

    i2c_ack_config (Thumb, 24 bytes, Stack size 0 bytes, gd32f4xx_i2c.o(i.i2c_ack_config))

    [Called By]

    i2c_addr_init (Thumb, 264 bytes, Stack size 8 bytes, i2c_test.o(i.i2c_addr_init))

    [Stack]


    [Calls]
    [Called By]

    i2c_addr_poll (Thumb, 130 bytes, Stack size 24 bytes, i2c.o(i.i2c_addr_poll))

    [Stack]


    [Calls]
    [Called By]

    i2c_byte_write (Thumb, 196 bytes, Stack size 24 bytes, i2c.o(i.i2c_byte_write))

    [Stack]


    [Calls]
    [Called By]

    i2c_clock_config (Thumb, 204 bytes, Stack size 40 bytes, gd32f4xx_i2c.o(i.i2c_clock_config))

    [Stack]


    [Calls]
    [Called By]

    i2c_cmd_write (Thumb, 170 bytes, Stack size 24 bytes, i2c.o(i.i2c_cmd_write))

    [Stack]


    [Calls]
    [Called By]

    i2c_data_transmit (Thumb, 6 bytes, Stack size 0 bytes, gd32f4xx_i2c.o(i.i2c_data_transmit))

    [Called By]

    i2c_enable (Thumb, 10 bytes, Stack size 0 bytes, gd32f4xx_i2c.o(i.i2c_enable))

    [Called By]

    i2c_flag_clear (Thumb, 40 bytes, Stack size 8 bytes, gd32f4xx_i2c.o(i.i2c_flag_clear))

    [Stack]


    [Called By]

    i2c_flag_get (Thumb, 30 bytes, Stack size 8 bytes, gd32f4xx_i2c.o(i.i2c_flag_get))

    [Stack]


    [Called By]

    i2c_master_addressing (Thumb, 20 bytes, Stack size 0 bytes, gd32f4xx_i2c.o(i.i2c_master_addressing))

    [Called By]

    i2c_mode_addr_config (Thumb, 28 bytes, Stack size 12 bytes, gd32f4xx_i2c.o(i.i2c_mode_addr_config))

    [Stack]


    [Called By]

    i2c_start_on_bus (Thumb, 10 bytes, Stack size 0 bytes, gd32f4xx_i2c.o(i.i2c_start_on_bus))

    [Called By]

    i2c_stop_on_bus (Thumb, 10 bytes, Stack size 0 bytes, gd32f4xx_i2c.o(i.i2c_stop_on_bus))

    [Called By]

    main (Thumb, 326 bytes, Stack size 824 bytes, main.o(i.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    malloc (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))

    [Stack]


    [Called By]

    miio_cmd_method_register (Thumb, 124 bytes, Stack size 32 bytes, miio_api.o(i.miio_cmd_method_register))

    [Stack]


    [Calls]
    [Called By]

    miio_command_handle_loop (Thumb, 510 bytes, Stack size 120 bytes, miio_api.o(i.miio_command_handle_loop))

    [Stack]


    [Calls]
    [Called By]

    miio_instance_add_uart (Thumb, 46 bytes, Stack size 32 bytes, miio_api.o(i.miio_instance_add_uart))

    [Stack]


    [Calls]
    [Called By]

    miio_instance_add_xmodem (Thumb, 26 bytes, Stack size 16 bytes, miio_api.o(i.miio_instance_add_xmodem))

    [Stack]


    [Calls]
    [Called By]

    miio_instance_create (Thumb, 76 bytes, Stack size 16 bytes, miio_api.o(i.miio_instance_create))

    [Stack]


    [Calls]
    [Called By]

    miio_instance_destroy (Thumb, 166 bytes, Stack size 64 bytes, miio_api.o(i.miio_instance_destroy))

    [Stack]


    [Calls]
    [Called By]

    miio_property_operation_decode (Thumb, 292 bytes, Stack size 40 bytes, property_operation_decoder.o(i.miio_property_operation_decode))

    [Stack]


    [Calls]
    [Called By]

    miio_property_operation_delete (Thumb, 22 bytes, Stack size 8 bytes, property_operation.o(i.miio_property_operation_delete))

    [Stack]


    [Calls]
    [Called By]

    miio_property_operation_new (Thumb, 44 bytes, Stack size 8 bytes, property_operation.o(i.miio_property_operation_new))

    [Stack]


    [Calls]
    [Called By]

    miio_uart_destroy (Thumb, 26 bytes, Stack size 8 bytes, miio_uart.o(i.miio_uart_destroy))

    [Stack]


    [Calls]
    [Called By]

    miio_uart_instance_create (Thumb, 78 bytes, Stack size 40 bytes, miio_uart.o(i.miio_uart_instance_create))

    [Stack]


    [Calls]
    [Called By]

    miio_xmodem_create_instance (Thumb, 62 bytes, Stack size 24 bytes, xmodem.o(i.miio_xmodem_create_instance))

    [Stack]


    [Calls]
    [Called By]

    nvic_irq_enable (Thumb, 186 bytes, Stack size 24 bytes, gd32f4xx_misc.o(i.nvic_irq_enable))

    [Stack]


    [Calls]
    [Called By]

    nvic_priority_group_set (Thumb, 10 bytes, Stack size 0 bytes, gd32f4xx_misc.o(i.nvic_priority_group_set))

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    on_property_get (Thumb, 124 bytes, Stack size 8 bytes, on_property_get.o(i.on_property_get))

    [Stack]


    [Calls]
    [Called By]

    on_property_set (Thumb, 104 bytes, Stack size 8 bytes, on_property_set.o(i.on_property_set))

    [Stack]


    [Calls]
    [Called By]

    pc9685_init (Thumb, 28 bytes, Stack size 16 bytes, pca9685.o(i.pc9685_init))

    [Stack]


    [Calls]
    [Called By]

    pc9685_rgb_led_control (Thumb, 214 bytes, Stack size 24 bytes, i2c_test.o(i.pc9685_rgb_led_control))

    [Stack]


    [Calls]
    [Called By]

    print_value (Thumb, 214 bytes, Stack size 16 bytes, print_value.o(i.print_value))

    [Stack]


    [Calls]
    [Called By]

    property_operation_encode_param (Thumb, 370 bytes, Stack size 112 bytes, property_operation_encoder.o(i.property_operation_encode_param))

    [Stack]


    [Calls]
    [Called By]

    property_operation_encode_tail (Thumb, 98 bytes, Stack size 16 bytes, property_operation_encoder.o(i.property_operation_encode_tail))

    [Stack]


    [Calls]
    [Called By]

    property_value_delete (Thumb, 38 bytes, Stack size 8 bytes, property_value.o(i.property_value_delete))

    [Stack]


    [Calls]
    [Called By]

    property_value_new (Thumb, 42 bytes, Stack size 8 bytes, property_value.o(i.property_value_new))

    [Stack]


    [Calls]
    [Called By]

    property_value_new_boolean (Thumb, 22 bytes, Stack size 16 bytes, property_value.o(i.property_value_new_boolean))

    [Stack]


    [Calls]
    [Called By]

    property_value_new_float (Thumb, 38 bytes, Stack size 16 bytes, property_value.o(i.property_value_new_float))

    [Stack]


    [Calls]
    [Called By]

    property_value_new_integer (Thumb, 26 bytes, Stack size 16 bytes, property_value.o(i.property_value_new_integer))

    [Stack]


    [Calls]
    [Called By]

    property_value_new_string (Thumb, 42 bytes, Stack size 16 bytes, property_value.o(i.property_value_new_string))

    [Stack]


    [Calls]
    [Called By]

    rcu_clock_freq_get (Thumb, 264 bytes, Stack size 84 bytes, gd32f4xx_rcu.o(i.rcu_clock_freq_get))

    [Stack]


    [Called By]

    rcu_periph_clock_enable (Thumb, 32 bytes, Stack size 0 bytes, gd32f4xx_rcu.o(i.rcu_periph_clock_enable))

    [Called By]

    rcu_periph_reset_disable (Thumb, 32 bytes, Stack size 0 bytes, gd32f4xx_rcu.o(i.rcu_periph_reset_disable))

    [Called By]

    rcu_periph_reset_enable (Thumb, 32 bytes, Stack size 0 bytes, gd32f4xx_rcu.o(i.rcu_periph_reset_enable))

    [Called By]

    send_error (Thumb, 66 bytes, Stack size 824 bytes, miio_api.o(i.send_error))

    [Stack]


    [Calls]
    [Called By]

    send_error_code (Thumb, 74 bytes, Stack size 824 bytes, operation_executor.o(i.send_error_code))

    [Stack]


    [Calls]
    [Called By]

    setPWM (Thumb, 82 bytes, Stack size 24 bytes, pca9685.o(i.setPWM))

    [Stack]


    [Calls]
    [Called By]

    setPWM_off (Thumb, 56 bytes, Stack size 16 bytes, pca9685.o(i.setPWM_off))

    [Stack]


    [Calls]
    [Called By]

    str_n_cat (Thumb, 58 bytes, Stack size 40 bytes, util.o(i.str_n_cat))

    [Stack]


    [Calls]
    [Called By]

    systick_clksource_set (Thumb, 40 bytes, Stack size 0 bytes, gd32f4xx_misc.o(i.systick_clksource_set))

    [Called By]

    uart_comamnd_decoder (Thumb, 178 bytes, Stack size 32 bytes, uart_command_decoder.o(i.uart_comamnd_decoder))

    [Stack]


    [Calls]
    [Called By]

    usart_baudrate_set (Thumb, 224 bytes, Stack size 32 bytes, gd32f4xx_usart.o(i.usart_baudrate_set))

    [Stack]


    [Calls]
    [Called By]

    usart_data_receive (Thumb, 10 bytes, Stack size 0 bytes, gd32f4xx_usart.o(i.usart_data_receive))

    [Called By]

    usart_data_transmit (Thumb, 8 bytes, Stack size 0 bytes, gd32f4xx_usart.o(i.usart_data_transmit))

    [Called By]

    usart_deinit (Thumb, 210 bytes, Stack size 8 bytes, gd32f4xx_usart.o(i.usart_deinit))

    [Stack]


    [Calls]
    [Called By]

    usart_enable (Thumb, 10 bytes, Stack size 0 bytes, gd32f4xx_usart.o(i.usart_enable))

    [Called By]

    usart_flag_get (Thumb, 30 bytes, Stack size 8 bytes, gd32f4xx_usart.o(i.usart_flag_get))

    [Stack]


    [Called By]

    usart_interrupt_disable (Thumb, 26 bytes, Stack size 8 bytes, gd32f4xx_usart.o(i.usart_interrupt_disable))

    [Stack]


    [Called By]

    usart_interrupt_enable (Thumb, 26 bytes, Stack size 8 bytes, gd32f4xx_usart.o(i.usart_interrupt_enable))

    [Stack]


    [Called By]

    usart_interrupt_flag_clear (Thumb, 26 bytes, Stack size 8 bytes, gd32f4xx_usart.o(i.usart_interrupt_flag_clear))

    [Stack]


    [Called By]

    usart_interrupt_flag_get (Thumb, 56 bytes, Stack size 16 bytes, gd32f4xx_usart.o(i.usart_interrupt_flag_get))

    [Stack]


    [Called By]

    usart_receive_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f4xx_usart.o(i.usart_receive_config))

    [Called By]

    usart_transmit_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f4xx_usart.o(i.usart_transmit_config))

    [Called By]

    user_app_main (Thumb, 82 bytes, Stack size 16 bytes, user_app_main.o(i.user_app_main))

    [Stack]


    [Calls]
    [Called By]

    xmodem_recv_data (Thumb, 878 bytes, Stack size 72 bytes, xmodem.o(i.xmodem_recv_data))

    [Stack]


    [Calls]
    [Called By]

    Local Symbols

    system_clock_200m_25m_hxtal (Thumb, 240 bytes, Stack size 0 bytes, system_gd32f4xx.o(i.system_clock_200m_25m_hxtal))

    [Called By]

    system_clock_config (Thumb, 8 bytes, Stack size 8 bytes, system_gd32f4xx.o(i.system_clock_config))

    [Stack]


    [Calls]
    [Called By]

    crc16_ccitt (Thumb, 64 bytes, Stack size 12 bytes, xmodem.o(i.crc16_ccitt))

    [Stack]


    [Called By]

    xmodem_cal_data_len (Thumb, 46 bytes, Stack size 0 bytes, xmodem.o(i.xmodem_cal_data_len))

    [Called By]

    xmodem_check_crc (Thumb, 76 bytes, Stack size 16 bytes, xmodem.o(i.xmodem_check_crc))

    [Stack]


    [Called By]

    xmodem_check_packno (Thumb, 66 bytes, Stack size 12 bytes, xmodem.o(i.xmodem_check_packno))

    [Stack]


    [Called By]

    xmodem_print_crc_error (Thumb, 98 bytes, Stack size 24 bytes, xmodem.o(i.xmodem_print_crc_error))

    [Stack]


    [Calls]
    [Called By]

    xmodem_print_data (Thumb, 42 bytes, Stack size 16 bytes, xmodem.o(i.xmodem_print_data))

    [Stack]


    [Calls]
    [Called By]

    xmodem_print_header_info (Thumb, 214 bytes, Stack size 16 bytes, xmodem.o(i.xmodem_print_header_info))

    [Stack]


    [Calls]
    [Called By]

    xmodem_print_packno_error (Thumb, 58 bytes, Stack size 16 bytes, xmodem.o(i.xmodem_print_packno_error))

    [Stack]


    [Calls]
    [Called By]

    xmodem_recv_str (Thumb, 24 bytes, Stack size 16 bytes, xmodem.o(i.xmodem_recv_str))

    [Stack]


    [Called By]

    xmodem_send_byte (Thumb, 20 bytes, Stack size 8 bytes, xmodem.o(i.xmodem_send_byte))

    [Stack]


    [Called By]

    P_1_1_Manufacturer_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_1_deviceinformation_doget.o(i.P_1_1_Manufacturer_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_1_2_Model_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_1_deviceinformation_doget.o(i.P_1_2_Model_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_1_3_SerialNumber_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_1_deviceinformation_doget.o(i.P_1_3_SerialNumber_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_1_4_FirmwareRevision_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_1_deviceinformation_doget.o(i.P_1_4_FirmwareRevision_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_1_5_SerialNo_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_1_deviceinformation_doget.o(i.P_1_5_SerialNo_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_10_WakeUpMode_doSet (Thumb, 22 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_10_WakeUpMode_doSet))

    [Called By]

    P_2_11_SleepAidMode_doSet (Thumb, 22 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_11_SleepAidMode_doSet))

    [Called By]

    P_2_16_MultiLightWorkMode_doSet (Thumb, 44 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_16_MultiLightWorkMode_doSet))

    [Called By]

    P_2_17_LightOnGradientTime_doSet (Thumb, 108 bytes, Stack size 16 bytes, s_2_light_doset.o(i.P_2_17_LightOnGradientTime_doSet))

    [Stack]


    [Calls]
    [Called By]

    P_2_18_LightOffGradientTime_doSet (Thumb, 108 bytes, Stack size 16 bytes, s_2_light_doset.o(i.P_2_18_LightOffGradientTime_doSet))

    [Stack]


    [Calls]
    [Called By]

    P_2_19_FlowSpeedLevel_doSet (Thumb, 44 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_19_FlowSpeedLevel_doSet))

    [Called By]

    P_2_1_On_doSet (Thumb, 46 bytes, Stack size 8 bytes, s_2_light_doset.o(i.P_2_1_On_doSet))

    [Stack]


    [Calls]
    [Called By]

    P_2_2_Mode_doSet (Thumb, 44 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_2_Mode_doSet))

    [Called By]

    P_2_3_Brightness_doSet (Thumb, 44 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_3_Brightness_doSet))

    [Called By]

    P_2_4_Color_doSet (Thumb, 46 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_4_Color_doSet))

    [Called By]

    P_2_5_ColorTemperature_doSet (Thumb, 50 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_5_ColorTemperature_doSet))

    [Called By]

    P_2_6_Flow_doSet (Thumb, 22 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_6_Flow_doSet))

    [Called By]

    P_2_7_Saturability_doSet (Thumb, 44 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_7_Saturability_doSet))

    [Called By]

    P_2_8_FlexSwitch_doSet (Thumb, 22 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_8_FlexSwitch_doSet))

    [Called By]

    P_2_9_DefaultPowerOnState_doSet (Thumb, 44 bytes, Stack size 0 bytes, s_2_light_doset.o(i.P_2_9_DefaultPowerOnState_doSet))

    [Called By]

    P_2_10_WakeUpMode_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_10_WakeUpMode_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_11_SleepAidMode_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_11_SleepAidMode_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_15_CurrentColorMode_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_15_CurrentColorMode_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_16_MultiLightWorkMode_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_16_MultiLightWorkMode_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_17_LightOnGradientTime_doGet (Thumb, 16 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_17_LightOnGradientTime_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_18_LightOffGradientTime_doGet (Thumb, 16 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_18_LightOffGradientTime_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_19_FlowSpeedLevel_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_19_FlowSpeedLevel_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_1_On_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_1_On_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_2_Mode_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_2_Mode_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_3_Brightness_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_3_Brightness_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_4_Color_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_4_Color_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_5_ColorTemperature_doGet (Thumb, 16 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_5_ColorTemperature_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_6_Flow_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_6_Flow_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_7_Saturability_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_7_Saturability_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_8_FlexSwitch_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_8_FlexSwitch_doGet))

    [Stack]


    [Calls]
    [Called By]

    P_2_9_DefaultPowerOnState_doGet (Thumb, 14 bytes, Stack size 8 bytes, s_2_light_doget.o(i.P_2_9_DefaultPowerOnState_doGet))

    [Stack]


    [Calls]
    [Called By]

    A_2_1_Toggle (Thumb, 4 bytes, Stack size 0 bytes, s_2_light_doaction.o(i.A_2_1_Toggle))

    [Called By]

    A_2_1_Toggle_doInvoke (Thumb, 32 bytes, Stack size 8 bytes, s_2_light_doaction.o(i.A_2_1_Toggle_doInvoke))

    [Stack]


    [Calls]
    [Called By]

    A_2_2_GetAwakeConfig (Thumb, 6 bytes, Stack size 0 bytes, s_2_light_doaction.o(i.A_2_2_GetAwakeConfig))

    [Called By]

    A_2_2_GetAwakeConfig_doInvoke (Thumb, 108 bytes, Stack size 8 bytes, s_2_light_doaction.o(i.A_2_2_GetAwakeConfig_doInvoke))

    [Stack]


    [Calls]
    [Called By]

    A_2_3_SetAwakeConfig (Thumb, 6 bytes, Stack size 0 bytes, s_2_light_doaction.o(i.A_2_3_SetAwakeConfig))

    [Called By]

    A_2_3_SetAwakeConfig_doInvoke (Thumb, 142 bytes, Stack size 8 bytes, s_2_light_doaction.o(i.A_2_3_SetAwakeConfig_doInvoke))

    [Stack]


    [Calls]
    [Called By]

    A_2_4_GetAsleepConfig (Thumb, 6 bytes, Stack size 0 bytes, s_2_light_doaction.o(i.A_2_4_GetAsleepConfig))

    [Called By]

    A_2_4_GetAsleepConfig_doInvoke (Thumb, 108 bytes, Stack size 8 bytes, s_2_light_doaction.o(i.A_2_4_GetAsleepConfig_doInvoke))

    [Stack]


    [Calls]
    [Called By]

    A_2_5_SetAsleepConfig (Thumb, 6 bytes, Stack size 0 bytes, s_2_light_doaction.o(i.A_2_5_SetAsleepConfig))

    [Called By]

    A_2_5_SetAsleepConfig_doInvoke (Thumb, 142 bytes, Stack size 8 bytes, s_2_light_doaction.o(i.A_2_5_SetAsleepConfig_doInvoke))

    [Stack]


    [Calls]
    [Called By]

    A_2_6_ToggleLightMode (Thumb, 4 bytes, Stack size 0 bytes, s_2_light_doaction.o(i.A_2_6_ToggleLightMode))

    [Called By]

    A_2_6_ToggleLightMode_doInvoke (Thumb, 32 bytes, Stack size 8 bytes, s_2_light_doaction.o(i.A_2_6_ToggleLightMode_doInvoke))

    [Stack]


    [Calls]
    [Called By]

    _miio_cmd_ack (Thumb, 130 bytes, Stack size 40 bytes, miio_api.o(i._miio_cmd_ack))

    [Stack]


    [Calls]
    [Address Reference Count : 2]

    miio_command_find_by_method (Thumb, 84 bytes, Stack size 24 bytes, miio_api.o(i.miio_command_find_by_method))

    [Stack]


    [Calls]
    [Called By]

    uart_command_config_arg (Thumb, 20 bytes, Stack size 0 bytes, miio_api.o(i.uart_command_config_arg))

    [Called By]

    miio_send_response (Thumb, 30 bytes, Stack size 24 bytes, operation_executor.o(i.miio_send_response))

    [Stack]


    [Calls]
    [Called By]

    miio_action_get_arguments_in (Thumb, 220 bytes, Stack size 48 bytes, action_operation_decoder.o(i.miio_action_get_arguments_in))

    [Stack]


    [Calls]
    [Called By]

    miio_get_value (Thumb, 222 bytes, Stack size 32 bytes, property_operation_decoder.o(i.miio_get_value))

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

    _snputc (Thumb, 22 bytes, Stack size 0 bytes, printfa.o(i._snputc))
    [Address Reference Count : 1]

    _local_sscanf (Thumb, 54 bytes, Stack size 56 bytes, strtod.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _fp_value (Thumb, 296 bytes, Stack size 64 bytes, scanf_fp.o(.text), UNUSED)

    [Calls]


    [Called By]

    Undefined Global Symbols