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



#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Wed Apr 10 15:39:03 2024

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

Call chain for Maximum Stack Depth:

main ⇒ MQTT_Alarm_clock ⇒ Read_Data ⇒ parseMQTTData ⇒ dlt645_read_data ⇒ dlt645_2007_read_data ⇒ dlt645_2007_parsing_data ⇒ dlt645_data_parse_by_format_to_float ⇒ data_package_translate_to_int ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round

Mutually Recursive functions

  • ADC0_1_IRQHandler   ⇒   ADC0_1_IRQHandler
  • cJSON_Delete   ⇒   cJSON_Delete
  • parse_object   ⇒   parse_value
  • parse_array   ⇒   parse_value

    Function Pointers

    Global Symbols

    __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
    [Address Reference Count : 1]

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

    _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

    [Calls]

    __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

    [Called By]

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

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

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

    ADC0_1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Called By]

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

    [Called By]

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

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

    strstr (Thumb, 36 bytes, Stack size 12 bytes, strstr.o(.text))

    [Stack]


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

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

    [Stack]


    [Called By]

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

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

    __0sscanf (Thumb, 48 bytes, Stack size 72 bytes, __0sscanf.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _scanf_int (Thumb, 332 bytes, Stack size 56 bytes, _scanf_int.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _scanf_string (Thumb, 224 bytes, Stack size 56 bytes, _scanf_str.o(.text))

    [Stack]


    [Called By]

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

    strtol (Thumb, 112 bytes, Stack size 32 bytes, strtol.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))

    [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_ui2f (Thumb, 10 bytes, Stack size 0 bytes, ffltui.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_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))

    [Stack]


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

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

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

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

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

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

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

    [Stack]


    [Calls]
    [Called By]

    __strtod_int (Thumb, 90 bytes, Stack size 40 bytes, strtod.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))

    [Stack]


    [Called By]

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

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

    [Stack]


    [Called By]

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

    __aeabi_ul2d (Thumb, 24 bytes, Stack size 16 bytes, dfltul.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)

    __vfscanf (Thumb, 808 bytes, Stack size 88 bytes, _scanf.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

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

    Clear_DMA_Buffer (Thumb, 20 bytes, Stack size 8 bytes, usart.o(i.Clear_DMA_Buffer))

    [Stack]


    [Calls]
    [Called By]

    ConnectMQTTSever (Thumb, 290 bytes, Stack size 192 bytes, ec800m.o(i.ConnectMQTTSever))

    [Stack]


    [Calls]
    [Called By]

    DMA0_Channel4_IRQHandler (Thumb, 14 bytes, Stack size 8 bytes, gd32f10x_it.o(i.DMA0_Channel4_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    EC800MGetUrl (Thumb, 268 bytes, Stack size 120 bytes, ec800m.o(i.EC800MGetUrl))

    [Stack]


    [Calls]
    [Called By]

    EC800MPwoerOn (Thumb, 82 bytes, Stack size 8 bytes, ec800m.o(i.EC800MPwoerOn))

    [Stack]


    [Calls]
    [Called By]

    EC800MSendCmd (Thumb, 48 bytes, Stack size 24 bytes, ec800m.o(i.EC800MSendCmd))

    [Stack]


    [Calls]
    [Called By]

    EC800MSetPDP (Thumb, 60 bytes, Stack size 8 bytes, ec800m.o(i.EC800MSetPDP))

    [Stack]


    [Calls]
    [Called By]

    EC800MWaitReady (Thumb, 20 bytes, Stack size 8 bytes, ec800m.o(i.EC800MWaitReady))

    [Stack]


    [Calls]
    [Called By]

    EXTI1_IRQHandler (Thumb, 70 bytes, Stack size 8 bytes, key.o(i.EXTI1_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    GD32_EraseFlash (Thumb, 48 bytes, Stack size 16 bytes, gd_ota_flash.o(i.GD32_EraseFlash))

    [Stack]


    [Calls]
    [Called By]

    GD32_READ_OTA (Thumb, 18 bytes, Stack size 16 bytes, gd_ota_flash.o(i.GD32_READ_OTA))

    [Stack]


    [Calls]
    [Called By]

    GD32_WriteFlash (Thumb, 38 bytes, Stack size 16 bytes, gd_ota_flash.o(i.GD32_WriteFlash))

    [Stack]


    [Calls]
    [Called By]

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

    LogPrint (Thumb, 136 bytes, Stack size 296 bytes, log.o(i.LogPrint))

    [Stack]


    [Calls]
    [Called By]

    MQTTPublish (Thumb, 624 bytes, Stack size 272 bytes, ec800m.o(i.MQTTPublish))

    [Stack]


    [Calls]
    [Called By]

    MQTTSubTopic (Thumb, 64 bytes, Stack size 120 bytes, ec800m.o(i.MQTTSubTopic))

    [Stack]


    [Calls]
    [Called By]

    MQTT_Alarm_clock (Thumb, 78 bytes, Stack size 16 bytes, main.o(i.MQTT_Alarm_clock))

    [Stack]


    [Calls]
    [Called By]

    MQTT_BUFFER_READ (Thumb, 114 bytes, Stack size 24 bytes, mqttrecv.o(i.MQTT_BUFFER_READ))

    [Stack]


    [Calls]
    [Called By]

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

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

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

    Read_Data (Thumb, 784 bytes, Stack size 72 bytes, parsedevicemessage.o(i.Read_Data))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    SPI0_ReadWriteByte (Thumb, 50 bytes, Stack size 8 bytes, spi.o(i.SPI0_ReadWriteByte))

    [Stack]


    [Calls]
    [Called By]

    SPI0_Write (Thumb, 26 bytes, Stack size 16 bytes, spi.o(i.SPI0_Write))

    [Stack]


    [Calls]
    [Called By]

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

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    SystemInit (Thumb, 198 bytes, Stack size 8 bytes, system_gd32f10x.o(i.SystemInit))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART0_IRQHandler (Thumb, 54 bytes, Stack size 8 bytes, gd32f10x_it.o(i.USART0_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART1_IRQHandler (Thumb, 30 bytes, Stack size 8 bytes, gd32f10x_it.o(i.USART1_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART2_IRQHandler (Thumb, 374 bytes, Stack size 16 bytes, pc.o(i.USART2_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    W25Q32_Enable (Thumb, 30 bytes, Stack size 8 bytes, w25q32.o(i.W25Q32_Enable))

    [Stack]


    [Calls]
    [Called By]

    W25Q32_Erase64K (Thumb, 70 bytes, Stack size 16 bytes, w25q32.o(i.W25Q32_Erase64K))

    [Stack]


    [Calls]
    [Called By]

    W25Q32_PageWrite (Thumb, 80 bytes, Stack size 16 bytes, w25q32.o(i.W25Q32_PageWrite))

    [Stack]


    [Calls]
    [Called By]

    W25Q32_WaitBusy (Thumb, 44 bytes, Stack size 8 bytes, w25q32.o(i.W25Q32_WaitBusy))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    WaitResponse (Thumb, 82 bytes, Stack size 24 bytes, ec800m.o(i.WaitResponse))

    [Stack]


    [Calls]
    [Called By]

    Xmodem_CRC16 (Thumb, 68 bytes, Stack size 16 bytes, otaevent.o(i.Xmodem_CRC16))

    [Stack]


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

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

    [Calls]

    __1vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)

    __2vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)

    __c89vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)

    vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf))

    [Stack]


    [Called By]

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

    [Called By]

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

    free (Thumb, 88 bytes, Stack size 12 bytes, mallocr.o(i.__free$realloc))

    [Stack]


    [Called By]
    [Address Reference Count : 1]

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

    [Stack]


    [Calls]
    [Called By]

    malloc (Thumb, 64 bytes, Stack size 32 bytes, mallocr.o(i.__malloc$realloc))

    [Stack]


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

    __mathlib_dbl_divzero (Thumb, 12 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_divzero))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_invalid (Thumb, 12 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_invalid))

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_overflow (Thumb, 14 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_overflow))

    [Stack]


    [Calls]
    [Called By]

    __mathlib_dbl_underflow (Thumb, 10 bytes, Stack size 0 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]

    _crc (Thumb, 26 bytes, Stack size 8 bytes, dlt645_data.o(i._crc))

    [Stack]


    [Called By]

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

    [Called By]

    addCommandListParams (Thumb, 96 bytes, Stack size 16 bytes, device_message.o(i.addCommandListParams))

    [Stack]


    [Calls]
    [Called By]

    addDevice (Thumb, 216 bytes, Stack size 16 bytes, device_message.o(i.addDevice))

    [Stack]


    [Calls]
    [Called By]

    addGatewayParams (Thumb, 234 bytes, Stack size 16 bytes, device_message.o(i.addGatewayParams))

    [Stack]


    [Calls]
    [Called By]

    addSensorListParams (Thumb, 256 bytes, Stack size 32 bytes, device_message.o(i.addSensorListParams))

    [Stack]


    [Calls]
    [Called By]

    cJSON_Delete (Thumb, 84 bytes, Stack size 16 bytes, cjson.o(i.cJSON_Delete))

    [Stack]


    [Calls]
    [Called By]

    cJSON_GetObjectItemCaseSensitive (Thumb, 18 bytes, Stack size 16 bytes, cjson.o(i.cJSON_GetObjectItemCaseSensitive))

    [Stack]


    [Calls]
    [Called By]

    cJSON_IsNumber (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(i.cJSON_IsNumber))

    [Called By]

    cJSON_IsString (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(i.cJSON_IsString))

    [Called By]

    cJSON_Parse (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(i.cJSON_Parse))

    [Stack]


    [Calls]
    [Called By]

    cJSON_ParseWithLengthOpts (Thumb, 204 bytes, Stack size 72 bytes, cjson.o(i.cJSON_ParseWithLengthOpts))

    [Stack]


    [Calls]
    [Called By]

    cJSON_ParseWithOpts (Thumb, 40 bytes, Stack size 24 bytes, cjson.o(i.cJSON_ParseWithOpts))

    [Stack]


    [Calls]
    [Called By]

    check_ota_event (Thumb, 72 bytes, Stack size 8 bytes, otaevent.o(i.check_ota_event))

    [Stack]


    [Calls]
    [Called By]

    check_soft_version (Thumb, 284 bytes, Stack size 168 bytes, load_file.o(i.check_soft_version))

    [Stack]


    [Calls]
    [Called By]

    check_update (Thumb, 172 bytes, Stack size 16 bytes, load_file.o(i.check_update))

    [Stack]


    [Calls]
    [Called By]

    clear_time_flag (Thumb, 16 bytes, Stack size 0 bytes, device_alive.o(i.clear_time_flag))

    [Called By]

    config_485_port (Thumb, 240 bytes, Stack size 32 bytes, usart.o(i.config_485_port))

    [Stack]


    [Calls]
    [Called By]

    data_package_translate_to_int (Thumb, 254 bytes, Stack size 80 bytes, dlt645_data.o(i.data_package_translate_to_int))

    [Stack]


    [Calls]
    [Called By]

    delay_1ms (Thumb, 16 bytes, Stack size 0 bytes, systick.o(i.delay_1ms))

    [Called By]

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

    [Called By]

    delete_config_file (Thumb, 26 bytes, Stack size 8 bytes, ec800m.o(i.delete_config_file))

    [Stack]


    [Calls]
    [Called By]

    delete_file (Thumb, 80 bytes, Stack size 64 bytes, load_file.o(i.delete_file))

    [Stack]


    [Calls]
    [Called By]

    dlt645_1997_read_data (Thumb, 152 bytes, Stack size 104 bytes, dlt645_1997.o(i.dlt645_1997_read_data))

    [Stack]


    [Calls]
    [Called By]

    dlt645_1997_recv_check (Thumb, 82 bytes, Stack size 40 bytes, dlt645_1997.o(i.dlt645_1997_recv_check))

    [Stack]


    [Calls]
    [Called By]

    dlt645_2007_parsing_data (Thumb, 888 bytes, Stack size 24 bytes, dlt645_2007.o(i.dlt645_2007_parsing_data))

    [Stack]


    [Calls]
    [Called By]

    dlt645_2007_read_data (Thumb, 174 bytes, Stack size 104 bytes, dlt645_2007.o(i.dlt645_2007_read_data))

    [Stack]


    [Calls]
    [Called By]

    dlt645_2007_recv_check (Thumb, 84 bytes, Stack size 40 bytes, dlt645_2007.o(i.dlt645_2007_recv_check))

    [Stack]


    [Calls]
    [Called By]

    dlt645_common_check (Thumb, 124 bytes, Stack size 24 bytes, dlt645_data.o(i.dlt645_common_check))

    [Stack]


    [Calls]
    [Called By]

    dlt645_data_parse_by_format_to_float (Thumb, 136 bytes, Stack size 72 bytes, dlt645_data.o(i.dlt645_data_parse_by_format_to_float))

    [Stack]


    [Calls]
    [Called By]

    dlt645_init (Thumb, 30 bytes, Stack size 8 bytes, dlt645_port.o(i.dlt645_init))

    [Stack]


    [Calls]
    [Called By]

    dlt645_read_data (Thumb, 62 bytes, Stack size 24 bytes, dlt645.o(i.dlt645_read_data))

    [Stack]


    [Calls]
    [Called By]

    dlt645_receive_msg (Thumb, 70 bytes, Stack size 32 bytes, dlt645.o(i.dlt645_receive_msg))

    [Stack]


    [Calls]
    [Called By]

    dlt645_send_msg (Thumb, 46 bytes, Stack size 16 bytes, dlt645.o(i.dlt645_send_msg))

    [Stack]


    [Calls]
    [Called By]

    dlt645_set_addr (Thumb, 42 bytes, Stack size 20 bytes, dlt645.o(i.dlt645_set_addr))

    [Stack]


    [Called By]

    dlt_callback (Thumb, 154 bytes, Stack size 8 bytes, dlt645_port.o(i.dlt_callback))

    [Stack]


    [Calls]
    [Called By]

    dma_channel_disable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_channel_disable))

    [Stack]


    [Calls]
    [Called By]

    dma_channel_enable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_channel_enable))

    [Stack]


    [Calls]
    [Called By]

    dma_circulation_disable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_circulation_disable))

    [Stack]


    [Calls]
    [Called By]

    dma_config (Thumb, 122 bytes, Stack size 32 bytes, usart.o(i.dma_config))

    [Stack]


    [Calls]
    [Called By]

    dma_config_change (Thumb, 120 bytes, Stack size 40 bytes, usart.o(i.dma_config_change))

    [Stack]


    [Calls]
    [Called By]

    dma_deinit (Thumb, 112 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_deinit))

    [Stack]


    [Calls]
    [Called By]

    dma_init (Thumb, 302 bytes, Stack size 24 bytes, gd32f10x_dma.o(i.dma_init))

    [Stack]


    [Calls]
    [Called By]

    dma_interrupt_enable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_interrupt_enable))

    [Stack]


    [Calls]
    [Called By]

    dma_interrupt_flag_clear (Thumb, 16 bytes, Stack size 8 bytes, gd32f10x_dma.o(i.dma_interrupt_flag_clear))

    [Stack]


    [Called By]

    dma_memory_to_memory_disable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_memory_to_memory_disable))

    [Stack]


    [Calls]
    [Called By]

    exti_init (Thumb, 184 bytes, Stack size 8 bytes, gd32f10x_exti.o(i.exti_init))

    [Stack]


    [Called By]

    exti_interrupt_flag_clear (Thumb, 6 bytes, Stack size 0 bytes, gd32f10x_exti.o(i.exti_interrupt_flag_clear))

    [Called By]

    exti_interrupt_flag_get (Thumb, 18 bytes, Stack size 0 bytes, gd32f10x_exti.o(i.exti_interrupt_flag_get))

    [Called By]

    extract_url_and_version (Thumb, 180 bytes, Stack size 56 bytes, load_file.o(i.extract_url_and_version))

    [Stack]


    [Calls]
    [Called By]

    fmc_bank0_ready_wait (Thumb, 34 bytes, Stack size 4 bytes, gd32f10x_fmc.o(i.fmc_bank0_ready_wait))

    [Stack]


    [Calls]
    [Called By]

    fmc_bank0_state_get (Thumb, 44 bytes, Stack size 0 bytes, gd32f10x_fmc.o(i.fmc_bank0_state_get))

    [Called By]

    fmc_bank1_ready_wait (Thumb, 34 bytes, Stack size 4 bytes, gd32f10x_fmc.o(i.fmc_bank1_ready_wait))

    [Stack]


    [Calls]
    [Called By]

    fmc_bank1_state_get (Thumb, 44 bytes, Stack size 0 bytes, gd32f10x_fmc.o(i.fmc_bank1_state_get))

    [Called By]

    fmc_lock (Thumb, 34 bytes, Stack size 0 bytes, gd32f10x_fmc.o(i.fmc_lock))

    [Called By]

    fmc_page_erase (Thumb, 222 bytes, Stack size 12 bytes, gd32f10x_fmc.o(i.fmc_page_erase))

    [Stack]


    [Calls]
    [Called By]

    fmc_unlock (Thumb, 52 bytes, Stack size 0 bytes, gd32f10x_fmc.o(i.fmc_unlock))

    [Called By]

    fmc_word_program (Thumb, 178 bytes, Stack size 16 bytes, gd32f10x_fmc.o(i.fmc_word_program))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    fwdgt_config (Thumb, 94 bytes, Stack size 12 bytes, gd32f10x_fwdgt.o(i.fwdgt_config))

    [Stack]


    [Called By]

    fwdgt_counter_reload (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_fwdgt.o(i.fwdgt_counter_reload))

    [Called By]

    fwdgt_enable (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_fwdgt.o(i.fwdgt_enable))

    [Called By]

    fwdgt_init (Thumb, 26 bytes, Stack size 8 bytes, main.o(i.fwdgt_init))

    [Stack]


    [Calls]
    [Called By]

    fwdgt_write_enable (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_fwdgt.o(i.fwdgt_write_enable))

    [Called By]

    gd_485_DE_pin_init (Thumb, 36 bytes, Stack size 8 bytes, usart.o(i.gd_485_DE_pin_init))

    [Stack]


    [Calls]
    [Called By]

    gd_485_DE_tx (Thumb, 10 bytes, Stack size 0 bytes, usart.o(i.gd_485_DE_tx))

    [Called By]

    gd_EC800M_pin_init (Thumb, 62 bytes, Stack size 8 bytes, usart.o(i.gd_EC800M_pin_init))

    [Stack]


    [Calls]
    [Called By]

    gd_com_init (Thumb, 210 bytes, Stack size 16 bytes, usart.o(i.gd_com_init))

    [Stack]


    [Calls]
    [Called By]

    gd_eval_key_init (Thumb, 98 bytes, Stack size 16 bytes, key.o(i.gd_eval_key_init))

    [Stack]


    [Calls]
    [Called By]

    gd_eval_led_init (Thumb, 60 bytes, Stack size 8 bytes, led.o(i.gd_eval_led_init))

    [Stack]


    [Calls]
    [Called By]

    gd_eval_led_toggle (Thumb, 46 bytes, Stack size 16 bytes, led.o(i.gd_eval_led_toggle))

    [Stack]


    [Calls]
    [Called By]

    gd_pull_EC800M_pwr_down (Thumb, 8 bytes, Stack size 0 bytes, usart.o(i.gd_pull_EC800M_pwr_down))

    [Called By]

    gd_pull_EC800M_pwr_up (Thumb, 8 bytes, Stack size 0 bytes, usart.o(i.gd_pull_EC800M_pwr_up))

    [Called By]

    gd_pull_EC800M_rst_down (Thumb, 10 bytes, Stack size 0 bytes, usart.o(i.gd_pull_EC800M_rst_down))

    [Called By]

    gd_pull_EC800M_rst_up (Thumb, 10 bytes, Stack size 0 bytes, usart.o(i.gd_pull_EC800M_rst_up))

    [Called By]

    get_gateway_config_params (Thumb, 4 bytes, Stack size 0 bytes, device_message.o(i.get_gateway_config_params))

    [Called By]

    gettick (Thumb, 6 bytes, Stack size 0 bytes, systick.o(i.gettick))

    [Called By]

    gpio_bit_reset (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_gpio.o(i.gpio_bit_reset))

    [Called By]

    gpio_bit_set (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_gpio.o(i.gpio_bit_set))

    [Called By]

    gpio_bit_write (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_gpio.o(i.gpio_bit_write))

    [Called By]

    gpio_exti_source_select (Thumb, 146 bytes, Stack size 8 bytes, gd32f10x_gpio.o(i.gpio_exti_source_select))

    [Stack]


    [Called By]

    gpio_init (Thumb, 172 bytes, Stack size 20 bytes, gd32f10x_gpio.o(i.gpio_init))

    [Stack]


    [Called By]

    gpio_input_bit_get (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_gpio.o(i.gpio_input_bit_get))

    [Called By]

    gpio_pin_remap_config (Thumb, 138 bytes, Stack size 20 bytes, gd32f10x_gpio.o(i.gpio_pin_remap_config))

    [Stack]


    [Called By]

    http_load_config (Thumb, 112 bytes, Stack size 16 bytes, main.o(i.http_load_config))

    [Stack]


    [Calls]
    [Called By]

    load_file_config (Thumb, 226 bytes, Stack size 64 bytes, load_file.o(i.load_file_config))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    mmodbus_callback (Thumb, 108 bytes, Stack size 8 bytes, mmodbus.o(i.mmodbus_callback))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_crc16 (Thumb, 42 bytes, Stack size 12 bytes, mmodbus.o(i.mmodbus_crc16))

    [Stack]


    [Called By]

    mmodbus_init (Thumb, 30 bytes, Stack size 8 bytes, mmodbus.o(i.mmodbus_init))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_readCoils (Thumb, 210 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_readCoils))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_readHoldingRegisters16i (Thumb, 138 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_readHoldingRegisters16i))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_readHoldingRegisters8i (Thumb, 256 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_readHoldingRegisters8i))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_receiveRaw (Thumb, 90 bytes, Stack size 16 bytes, mmodbus.o(i.mmodbus_receiveRaw))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_sendRaw (Thumb, 236 bytes, Stack size 24 bytes, mmodbus.o(i.mmodbus_sendRaw))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_set16bitOrder (Thumb, 8 bytes, Stack size 0 bytes, mmodbus.o(i.mmodbus_set16bitOrder))

    [Called By]

    mmodbus_writeCoil (Thumb, 134 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_writeCoil))

    [Stack]


    [Calls]
    [Called By]

    mmodbus_writeHoldingRegister16i (Thumb, 124 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_writeHoldingRegister16i))

    [Stack]


    [Calls]
    [Called By]

    nvic_config (Thumb, 52 bytes, Stack size 8 bytes, usart.o(i.nvic_config))

    [Stack]


    [Calls]
    [Called By]

    nvic_irq_enable (Thumb, 162 bytes, Stack size 24 bytes, gd32f10x_misc.o(i.nvic_irq_enable))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

    nvic_vector_table_set (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_misc.o(i.nvic_vector_table_set))

    [Called By]

    parseIntField (Thumb, 42 bytes, Stack size 24 bytes, device_message.o(i.parseIntField))

    [Stack]


    [Calls]
    [Called By]

    parseMQTTData (Thumb, 1168 bytes, Stack size 712 bytes, parsedevicemessage.o(i.parseMQTTData))

    [Stack]


    [Calls]
    [Called By]

    parseStringField (Thumb, 56 bytes, Stack size 24 bytes, device_message.o(i.parseStringField))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    processIntData (Thumb, 34 bytes, Stack size 16 bytes, parsedevicemessage.o(i.processIntData))

    [Stack]


    [Calls]
    [Called By]

    processStringData (Thumb, 36 bytes, Stack size 16 bytes, parsedevicemessage.o(i.processStringData))

    [Stack]


    [Calls]
    [Called By]

    rcu_clock_freq_get (Thumb, 264 bytes, Stack size 80 bytes, gd32f10x_rcu.o(i.rcu_clock_freq_get))

    [Stack]


    [Called By]

    rcu_osci_on (Thumb, 28 bytes, Stack size 0 bytes, gd32f10x_rcu.o(i.rcu_osci_on))

    [Called By]

    rcu_periph_clock_enable (Thumb, 28 bytes, Stack size 0 bytes, gd32f10x_rcu.o(i.rcu_periph_clock_enable))

    [Called By]

    rcu_periph_reset_disable (Thumb, 28 bytes, Stack size 0 bytes, gd32f10x_rcu.o(i.rcu_periph_reset_disable))

    [Called By]

    rcu_periph_reset_enable (Thumb, 28 bytes, Stack size 0 bytes, gd32f10x_rcu.o(i.rcu_periph_reset_enable))

    [Called By]

    readID (Thumb, 232 bytes, Stack size 52 bytes, main.o(i.readID))

    [Stack]


    [Called By]

    realloc (Thumb, 102 bytes, Stack size 32 bytes, mallocr.o(i.realloc))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    ring_buffer_init (Thumb, 8 bytes, Stack size 0 bytes, ring_buffer.o(i.ring_buffer_init))

    [Called By]

    ring_buffer_read (Thumb, 40 bytes, Stack size 0 bytes, ring_buffer.o(i.ring_buffer_read))

    [Called By]

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

    [Stack]


    [Called By]

    runtime_increment (Thumb, 30 bytes, Stack size 0 bytes, systick.o(i.runtime_increment))

    [Called By]

    save_version (Thumb, 78 bytes, Stack size 16 bytes, load_file.o(i.save_version))

    [Stack]


    [Calls]
    [Called By]

    spi_i2s_data_receive (Thumb, 8 bytes, Stack size 0 bytes, gd32f10x_spi.o(i.spi_i2s_data_receive))

    [Called By]

    spi_i2s_data_transmit (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_spi.o(i.spi_i2s_data_transmit))

    [Called By]

    spi_i2s_flag_get (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_spi.o(i.spi_i2s_flag_get))

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    systick_config (Thumb, 74 bytes, Stack size 8 bytes, systick.o(i.systick_config))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    time_arrive (Thumb, 66 bytes, Stack size 8 bytes, device_alive.o(i.time_arrive))

    [Stack]


    [Calls]
    [Called By]

    update_version (Thumb, 122 bytes, Stack size 32 bytes, load_file.o(i.update_version))

    [Stack]


    [Calls]
    [Called By]

    usart_baudrate_set (Thumb, 136 bytes, Stack size 32 bytes, gd32f10x_usart.o(i.usart_baudrate_set))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

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

    [Called By]

    usart_deinit (Thumb, 136 bytes, Stack size 8 bytes, gd32f10x_usart.o(i.usart_deinit))

    [Stack]


    [Calls]
    [Called By]

    usart_dma_transmit_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_dma_transmit_config))

    [Called By]

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

    [Called By]

    usart_flag_clear (Thumb, 26 bytes, Stack size 8 bytes, gd32f10x_usart.o(i.usart_flag_clear))

    [Stack]


    [Called By]

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

    [Stack]


    [Called By]

    usart_hardware_flow_cts_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_hardware_flow_cts_config))

    [Called By]

    usart_hardware_flow_rts_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_hardware_flow_rts_config))

    [Called By]

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

    [Stack]


    [Called By]

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

    [Stack]


    [Called By]

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

    [Stack]


    [Called By]

    usart_parity_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_parity_config))

    [Called By]

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

    [Called By]

    usart_stop_bit_set (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_stop_bit_set))

    [Called By]

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

    [Called By]

    usart_word_length_set (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_word_length_set))

    [Called By]

    write_soft_version (Thumb, 26 bytes, Stack size 8 bytes, gd_ota_flash.o(i.write_soft_version))

    [Stack]


    [Calls]
    [Called By]

    xmodem (Thumb, 460 bytes, Stack size 32 bytes, otaevent.o(i.xmodem))

    [Stack]


    [Calls]
    [Called By]

    Local Symbols

    system_clock_108m_hxtal (Thumb, 182 bytes, Stack size 0 bytes, system_gd32f10x.o(i.system_clock_108m_hxtal))

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    NVIC_SetPriority (Thumb, 32 bytes, Stack size 8 bytes, systick.o(i.NVIC_SetPriority))

    [Stack]


    [Called By]

    NVIC_SystemReset (Thumb, 30 bytes, Stack size 0 bytes, ec800m.o(i.NVIC_SystemReset))

    [Called By]

    checksum (Thumb, 66 bytes, Stack size 16 bytes, parsedevicemessage.o(i.checksum))

    [Stack]


    [Called By]

    extract_data_from_buffer (Thumb, 78 bytes, Stack size 32 bytes, parsedevicemessage.o(i.extract_data_from_buffer))

    [Stack]


    [Calls]
    [Called By]

    NVIC_SystemReset (Thumb, 30 bytes, Stack size 0 bytes, mqttrecv.o(i.NVIC_SystemReset))

    [Called By]

    dma_periph_and_channel_check (Thumb, 18 bytes, Stack size 0 bytes, gd32f10x_dma.o(i.dma_periph_and_channel_check))

    [Called By]

    buffer_skip_whitespace (Thumb, 72 bytes, Stack size 0 bytes, cjson.o(i.buffer_skip_whitespace))

    [Called By]

    cJSON_New_Item (Thumb, 26 bytes, Stack size 16 bytes, cjson.o(i.cJSON_New_Item))

    [Stack]


    [Calls]
    [Called By]

    case_insensitive_strcmp (Thumb, 72 bytes, Stack size 16 bytes, cjson.o(i.case_insensitive_strcmp))

    [Stack]


    [Calls]
    [Called By]

    get_decimal_point (Thumb, 4 bytes, Stack size 0 bytes, cjson.o(i.get_decimal_point))

    [Called By]

    get_object_item (Thumb, 82 bytes, Stack size 24 bytes, cjson.o(i.get_object_item))

    [Stack]


    [Calls]
    [Called By]

    parse_array (Thumb, 248 bytes, Stack size 24 bytes, cjson.o(i.parse_array))

    [Stack]


    [Calls]
    [Called By]

    parse_hex4 (Thumb, 90 bytes, Stack size 0 bytes, cjson.o(i.parse_hex4))

    [Called By]

    parse_number (Thumb, 298 bytes, Stack size 96 bytes, cjson.o(i.parse_number))

    [Stack]


    [Calls]
    [Called By]

    parse_object (Thumb, 318 bytes, Stack size 24 bytes, cjson.o(i.parse_object))

    [Stack]


    [Calls]
    [Called By]

    parse_string (Thumb, 396 bytes, Stack size 40 bytes, cjson.o(i.parse_string))

    [Stack]


    [Calls]
    [Called By]

    parse_value (Thumb, 290 bytes, Stack size 16 bytes, cjson.o(i.parse_value))

    [Stack]


    [Calls]
    [Called By]

    skip_utf8_bom (Thumb, 56 bytes, Stack size 8 bytes, cjson.o(i.skip_utf8_bom))

    [Stack]


    [Calls]
    [Called By]

    utf16_literal_to_utf8 (Thumb, 300 bytes, Stack size 56 bytes, cjson.o(i.utf16_literal_to_utf8))

    [Stack]


    [Calls]
    [Called By]

    dlt645_hw_read (Thumb, 92 bytes, Stack size 24 bytes, dlt645_port.o(i.dlt645_hw_read))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    dlt645_hw_write (Thumb, 100 bytes, Stack size 24 bytes, dlt645_port.o(i.dlt645_hw_write))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    dlt645_1997_parsing_data (Thumb, 206 bytes, Stack size 24 bytes, dlt645_1997.o(i.dlt645_1997_parsing_data))

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

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

    [Called By]


    [Address Reference Count : 1]

    internal_alloc (Thumb, 76 bytes, Stack size 24 bytes, mallocr.o(i.internal_alloc))

    [Stack]


    [Calls]
    [Called By]

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

    [Calls]


    [Called By]

    _scanf_char_input (Thumb, 12 bytes, Stack size 0 bytes, scanf_char.o(.text))
    [Address Reference Count : 1]

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

    [Stack]


    [Calls]
    [Called By]

    Undefined Global Symbols