parse_array   ⇒   parse_value
Function Pointers
 - ADC0_1_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - ADC2_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - BusFault_Handler from gd32f10x_it.o(i.BusFault_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - CAN0_EWMC_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - CAN0_RX1_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA0_Channel0_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA0_Channel1_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA0_Channel2_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA0_Channel3_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA0_Channel4_IRQHandler from gd32f10x_it.o(i.DMA0_Channel4_IRQHandler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA0_Channel5_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA0_Channel6_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA1_Channel0_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA1_Channel1_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA1_Channel2_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DMA1_Channel3_4_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - DebugMon_Handler from gd32f10x_it.o(i.DebugMon_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXMC_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXTI0_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXTI10_15_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXTI1_IRQHandler from key.o(i.EXTI1_IRQHandler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXTI2_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXTI3_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXTI4_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - EXTI5_9_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - FMC_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - HardFault_Handler from gd32f10x_it.o(i.HardFault_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - I2C0_ER_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - I2C0_EV_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - I2C1_ER_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - I2C1_EV_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - LVD_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - MemManage_Handler from gd32f10x_it.o(i.MemManage_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - NMI_Handler from gd32f10x_it.o(i.NMI_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - PendSV_Handler from gd32f10x_it.o(i.PendSV_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - RCU_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - RTC_Alarm_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - RTC_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - Reset_Handler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - SDIO_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - SPI0_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - SPI1_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - SPI2_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - SVC_Handler from gd32f10x_it.o(i.SVC_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - SysTick_Handler from gd32f10x_it.o(i.SysTick_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - SystemInit from system_gd32f10x.o(i.SystemInit) referenced from startup_gd32f10x_xd.o(.text)
 
 - TAMPER_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER0_BRK_TIMER8_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER0_Channel_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER0_TRG_CMT_TIMER10_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER0_UP_TIMER9_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER1_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER2_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER3_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER4_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER5_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER6_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER7_BRK_TIMER11_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER7_Channel_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER7_TRG_CMT_TIMER13_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - TIMER7_UP_TIMER12_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - UART3_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - UART4_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - USART0_IRQHandler from gd32f10x_it.o(i.USART0_IRQHandler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - USART1_IRQHandler from gd32f10x_it.o(i.USART1_IRQHandler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - USART2_IRQHandler from pc.o(i.USART2_IRQHandler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - USBD_HP_CAN0_TX_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - USBD_LP_CAN0_RX0_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - USBD_WKUP_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - UsageFault_Handler from gd32f10x_it.o(i.UsageFault_Handler) referenced from startup_gd32f10x_xd.o(RESET)
 
 - WWDGT_IRQHandler from startup_gd32f10x_xd.o(.text) referenced from startup_gd32f10x_xd.o(RESET)
 
 - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_gd32f10x_xd.o(.text)
 
 - _sbackspace from _sgetc.o(.text) referenced 2 times from __0sscanf.o(.text)
 
 - _scanf_char_input from scanf_char.o(.text) referenced from scanf_char.o(.text)
 
 - _sgetc from _sgetc.o(.text) referenced 2 times from __0sscanf.o(.text)
 
 - _snputc from printfa.o(i._snputc) referenced from printfa.o(i.__0vsnprintf)
 
 - _sputc from printfa.o(i._sputc) referenced from printfa.o(i.__0sprintf)
 
 - dlt645_hw_read from dlt645_port.o(i.dlt645_hw_read) referenced from dlt645_port.o(.data)
 
 - dlt645_hw_write from dlt645_port.o(i.dlt645_hw_write) referenced from dlt645_port.o(.data)
 
 - fputc from log.o(i.fputc) referenced from printfa.o(i.__0printf)
 
 - free from mallocr.o(i.__free$realloc) referenced from cjson.o(.data)
 
 - isspace from isspace_o.o(.text) referenced 2 times from scanf_char.o(.text)
 
 - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
 
 - malloc from mallocr.o(i.__malloc$realloc) referenced from cjson.o(.data)
 
 - realloc from mallocr.o(i.realloc) referenced from cjson.o(.data)
 
Global Symbols
__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(.text)
 
_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]
-  startup_gd32f10x_xd.o(RESET)
 
ADC0_1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Calls]
[Called By]
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(RESET)
 
ADC2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
CAN0_EWMC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
CAN0_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA0_Channel0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA0_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA0_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA0_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA0_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA0_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA1_Channel0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
DMA1_Channel3_4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EXMC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EXTI10_15_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EXTI5_9_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
FMC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
I2C0_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
I2C0_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
LVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
RCU_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
RTC_Alarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
SDIO_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
SPI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER0_BRK_TIMER8_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER0_Channel_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER0_TRG_CMT_TIMER10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER0_UP_TIMER9_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER7_BRK_TIMER11_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER7_Channel_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER7_TRG_CMT_TIMER13_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
TIMER7_UP_TIMER12_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
UART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
UART4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
USBD_HP_CAN0_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
USBD_LP_CAN0_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
USBD_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
WWDGT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32f10x_xd.o(.text))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
tolower (Thumb, 12 bytes, Stack size 0 bytes, tolower.o(.text))
[Called By]
- >>   case_insensitive_strcmp
 
__aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
[Called By]
- >>   mmodbus_readCoils
 - >>   xmodem
 - >>   mmodbus_readHoldingRegisters8i
 - >>   dlt645_hw_read
 - >>   internal_alloc
 
__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]
- >>   _memset$wrapper
 - >>   __aeabi_memclr
 
__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]- >>   MQTT_BUFFER_READ
 - >>   Clear_DMA_Buffer
 - >>   xmodem
 - >>   USART2_IRQHandler
 - >>   main
 - >>   mmodbus_sendRaw
 
__aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
[Called By]
- >>   parseMQTTData
 - >>   mmodbus_init
 - >>   dlt645_hw_write
 - >>   dlt645_2007_read_data
 - >>   dlt645_1997_read_data
 - >>   cJSON_ParseWithLengthOpts
 - >>   cJSON_New_Item
 
__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]
- Max Depth = 12
 - Call Chain = strstr
 
[Called By]- >>   extract_data_from_buffer
 - >>   parseStringField
 - >>   parseIntField
 - >>   addGatewayParams
 - >>   addDevice
 - >>   WaitResponse
 - >>   Receive_MQTT_DataPack
 
strchr (Thumb, 20 bytes, Stack size 0 bytes, strchr.o(.text))
[Called By]
- >>   extract_data_from_buffer
 
strlen (Thumb, 14 bytes, Stack size 0 bytes, strlen.o(.text))
[Called By]
- >>   parseMQTTData
 - >>   parseStringField
 - >>   parseIntField
 - >>   MQTTSubTopic
 - >>   MQTTPublish
 - >>   EC800MGetUrl
 - >>   ConnectMQTTSever
 - >>   Receive_MQTT_DataPack
 - >>   dlt645_data_parse_by_format_to_float
 - >>   cJSON_ParseWithOpts
 
strcmp (Thumb, 28 bytes, Stack size 8 bytes, strcmp.o(.text))
[Stack]
- Max Depth = 8
 - Call Chain = strcmp
 
[Called By]- >>   parseMQTTData
 - >>   get_object_item
 
memcmp (Thumb, 26 bytes, Stack size 12 bytes, memcmp.o(.text))
[Stack]
- Max Depth = 12
 - Call Chain = memcmp
 
[Called By]- >>   mmodbus_writeHoldingRegister16i
 - >>   mmodbus_writeCoil
 - >>   dlt645_common_check
 
strcpy (Thumb, 18 bytes, Stack size 0 bytes, strcpy.o(.text))
[Called By]
- >>   MQTT_BUFFER_READ
 - >>   parseMQTTData
 - >>   main
 
strncmp (Thumb, 30 bytes, Stack size 12 bytes, strncmp.o(.text))
[Stack]
- Max Depth = 12
 - Call Chain = strncmp
 
[Called By]- >>   skip_utf8_bom
 - >>   parse_value
 
__0sscanf (Thumb, 48 bytes, Stack size 72 bytes, __0sscanf.o(.text))
[Stack]
- Max Depth = 264
 - Call Chain = __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]
[Called By]- >>   extract_data_from_buffer
 - >>   parseStringField
 - >>   addSensorListParams
 
_scanf_int (Thumb, 332 bytes, Stack size 56 bytes, _scanf_int.o(.text))
[Stack]
- Max Depth = 56
 - Call Chain = _scanf_int
 
[Calls]
[Called By]
_scanf_string (Thumb, 224 bytes, Stack size 56 bytes, _scanf_str.o(.text))
[Stack]
- Max Depth = 56
 - Call Chain = _scanf_string
 
[Called By]
_scanf_real (Thumb, 0 bytes, Stack size 104 bytes, scanf_fp.o(.text))
[Stack]
- Max Depth = 104
 - Call Chain = _scanf_real
 
[Called By]- >>   __vfscanf
 - >>   _local_sscanf
 
_scanf_really_real (Thumb, 556 bytes, Stack size 104 bytes, scanf_fp.o(.text), UNUSED)
[Calls]
- >>   __aeabi_d2f
 - >>   _is_digit
 - >>   _fp_value
 
strtol (Thumb, 112 bytes, Stack size 32 bytes, strtol.o(.text))
[Stack]
- Max Depth = 72
 - Call Chain = strtol ⇒ _strtoul
 
[Calls]- >>   __rt_ctype_table
 - >>   _strtoul
 - >>   __aeabi_errno_addr
 
[Called By]
__aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
[Stack]
- Max Depth = 88
 - Call Chain = __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   __aeabi_lasr
 - >>   __aeabi_llsl
 - >>   _double_round
 - >>   _double_epilogue
 
[Called By]- >>   __aeabi_drsub
 - >>   pow
 - >>   data_package_translate_to_int
 - >>   __aeabi_dsub
 - >>   __kernel_poly
 - >>   __mathlib_dbl_infnan2
 - >>   _fp_digits
 
__aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
[Stack]
- Max Depth = 88
 - Call Chain = __aeabi_dsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]
[Called By]
__aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
[Stack]
- Max Depth = 88
 - Call Chain = __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]
[Called By]
__aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
[Stack]
- Max Depth = 88
 - Call Chain = __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
 
[Calls]
[Called By]- >>   pow
 - >>   data_package_translate_to_int
 - >>   __kernel_poly
 - >>   _fp_value
 - >>   _fp_digits
 
__aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
[Stack]
- Max Depth = 40
 - Call Chain = __aeabi_ddiv ⇒ _double_round
 
[Calls]
[Called By]- >>   Read_Data
 - >>   pow
 - >>   dlt645_data_parse_by_format_to_float
 - >>   __mathlib_dbl_invalid
 - >>   __mathlib_dbl_divzero
 - >>   _fp_value
 - >>   _fp_digits
 
__aeabi_ui2f (Thumb, 10 bytes, Stack size 0 bytes, ffltui.o(.text))
[Stack]
- Max Depth = 4
 - Call Chain = __aeabi_ui2f ⇒ _float_epilogue
 
[Calls]
[Called By]
__aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
[Stack]
- Max Depth = 56
 - Call Chain = __aeabi_i2d ⇒ _double_epilogue ⇒ _double_round
 
[Calls]
[Called By]- >>   pow
 - >>   data_package_translate_to_int
 - >>   dlt645_data_parse_by_format_to_float
 
__aeabi_ui2d (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
[Stack]
- Max Depth = 56
 - Call Chain = __aeabi_ui2d ⇒ _double_epilogue ⇒ _double_round
 
[Calls]
[Called By]- >>   Read_Data
 - >>   data_package_translate_to_int
 
__aeabi_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))
[Stack]
- Max Depth = 16
 - Call Chain = __aeabi_d2iz
 
[Calls]
[Called By]- >>   data_package_translate_to_int
 - >>   parse_number
 
__aeabi_f2d (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
[Called By]
- >>   parseMQTTData
 - >>   Read_Data
 - >>   MQTTPublish
 
__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]
- >>   pow
 - >>   parse_number
 - >>   _fp_digits
 
__aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
[Stack]
- Max Depth = 8
 - Call Chain = __aeabi_d2f
 
[Calls]
[Called By]- >>   Read_Data
 - >>   dlt645_data_parse_by_format_to_float
 - >>   _scanf_really_real
 
__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]
- >>   __aeabi_llsr
 - >>   __aeabi_llsl
 
[Called By]- >>   _printf_core
 - >>   _fp_digits
 
__aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
[Called By]
- >>   __aeabi_dadd
 - >>   __aeabi_uldivmod
 - >>   _double_epilogue
 - >>   __aeabi_d2ulz
 
_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]
- >>   __aeabi_d2iz
 - >>   __aeabi_uldivmod
 - >>   _dsqrt
 - >>   _double_epilogue
 - >>   __aeabi_d2ulz
 
_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]
- Max Depth = 8
 - Call Chain = isspace
 
[Calls]
[Address Reference Count : 2]-  scanf_char.o(.text)
 -  strtod.o(.text)
 
_chval (Thumb, 28 bytes, Stack size 0 bytes, _chval.o(.text))
[Called By]
- >>   _scanf_int
 - >>   _strtoul
 
__vfscanf_char (Thumb, 20 bytes, Stack size 0 bytes, scanf_char.o(.text))
[Stack]
- Max Depth = 192
 - Call Chain = __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]
[Called By]
_sgetc (Thumb, 30 bytes, Stack size 0 bytes, _sgetc.o(.text))
[Address Reference Count : 2]
-  __0sscanf.o(.text)
 -  strtod.o(.text)
 
_sbackspace (Thumb, 34 bytes, Stack size 0 bytes, _sgetc.o(.text))
[Address Reference Count : 2]
-  __0sscanf.o(.text)
 -  strtod.o(.text)
 
_strtoul (Thumb, 158 bytes, Stack size 40 bytes, _strtoul.o(.text))
[Stack]
- Max Depth = 40
 - Call Chain = _strtoul
 
[Calls]- >>   _chval
 - >>   __aeabi_errno_addr
 
[Called By]
__strtod_int (Thumb, 90 bytes, Stack size 40 bytes, strtod.o(.text))
[Stack]
- Max Depth = 200
 - Call Chain = __strtod_int ⇒ _local_sscanf ⇒ _scanf_real
 
[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]
- Max Depth = 4
 - Call Chain = _float_epilogue
 
[Called By]
_double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
[Stack]
- Max Depth = 8
 - Call Chain = _double_round
 
[Called By]- >>   __aeabi_ddiv
 - >>   __aeabi_dadd
 - >>   _dsqrt
 - >>   _double_epilogue
 
_double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))
[Stack]
- Max Depth = 40
 - Call Chain = _double_epilogue ⇒ _double_round
 
[Calls]- >>   __aeabi_llsr
 - >>   __aeabi_llsl
 - >>   _double_round
 
[Called By]- >>   __aeabi_ui2d
 - >>   __aeabi_dadd
 - >>   __aeabi_i2d
 - >>   __aeabi_dmul
 - >>   __aeabi_ul2d
 
__ARM_scalbn (Thumb, 46 bytes, Stack size 16 bytes, dscalb.o(.text))
[Stack]
- Max Depth = 16
 - Call Chain = __ARM_scalbn
 
[Called By]- >>   pow
 - >>   __mathlib_dbl_underflow
 - >>   __mathlib_dbl_overflow
 
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]
- >>   __aeabi_llsr
 - >>   __aeabi_llsl
 
[Called By]
__scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
[Calls]
- >>   __main_after_scatterload
 
[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]
- Max Depth = 192
 - Call Chain = __vfscanf ⇒ _scanf_real
 
[Calls]- >>   _scanf_real
 - >>   _scanf_string
 - >>   _scanf_int
 
[Called By]
_dsqrt (Thumb, 162 bytes, Stack size 32 bytes, dsqrt.o(.text))
[Stack]
- Max Depth = 40
 - Call Chain = _dsqrt ⇒ _double_round
 
[Calls]- >>   __aeabi_llsr
 - >>   _double_round
 
[Called By]
BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_it.o(i.BusFault_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
Clear_DMA_Buffer (Thumb, 20 bytes, Stack size 8 bytes, usart.o(i.Clear_DMA_Buffer))
[Stack]
- Max Depth = 8
 - Call Chain = Clear_DMA_Buffer
 
[Calls]
[Called By]- >>   WaitResponse
 - >>   Receive_MQTT_DataPack
 
ConnectMQTTSever (Thumb, 196 bytes, Stack size 192 bytes, ec800m.o(i.ConnectMQTTSever))
[Stack]
- Max Depth = 228
 - Call Chain = ConnectMQTTSever ⇒ WaitResponse ⇒ strstr
 
[Calls]- >>   WaitResponse
 - >>   EC800MSendCmd
 - >>   __2sprintf
 - >>   strlen
 
[Called By]
DMA0_Channel4_IRQHandler (Thumb, 14 bytes, Stack size 8 bytes, gd32f10x_it.o(i.DMA0_Channel4_IRQHandler))
[Stack]
- Max Depth = 16
 - Call Chain = DMA0_Channel4_IRQHandler ⇒ dma_interrupt_flag_clear
 
[Calls]- >>   dma_interrupt_flag_clear
 
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(RESET)
 
DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, gd32f10x_it.o(i.DebugMon_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
EC800MGetUrl (Thumb, 196 bytes, Stack size 120 bytes, ec800m.o(i.EC800MGetUrl))
[Stack]
- Max Depth = 184
 - Call Chain = EC800MGetUrl ⇒ dma_config_change ⇒ dma_init
 
[Calls]- >>   dma_config_change
 - >>   WaitResponse
 - >>   EC800MSendCmd
 - >>   delay_1ms
 - >>   __2sprintf
 - >>   strlen
 
[Called By]
EC800MPwoerOn (Thumb, 82 bytes, Stack size 8 bytes, ec800m.o(i.EC800MPwoerOn))
[Stack]
- Max Depth = 28
 - Call Chain = EC800MPwoerOn ⇒ gpio_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 - >>   gpio_bit_set
 - >>   gd_pull_EC800M_rst_up
 - >>   gd_pull_EC800M_rst_down
 - >>   gd_pull_EC800M_pwr_up
 - >>   gd_pull_EC800M_pwr_down
 - >>   delay_1ms
 
[Called By]
EC800MSendCmd (Thumb, 48 bytes, Stack size 24 bytes, ec800m.o(i.EC800MSendCmd))
[Stack]
- Max Depth = 32
 - Call Chain = EC800MSendCmd ⇒ usart_flag_get
 
[Calls]- >>   usart_flag_get
 - >>   usart_data_transmit
 
[Called By]- >>   parseMQTTData
 - >>   MQTTSubTopic
 - >>   MQTTPublish
 - >>   EC800MSetPDP
 - >>   EC800MGetUrl
 - >>   ConnectMQTTSever
 - >>   http_load_config
 
EC800MSetPDP (Thumb, 58 bytes, Stack size 8 bytes, ec800m.o(i.EC800MSetPDP))
[Stack]
- Max Depth = 44
 - Call Chain = EC800MSetPDP ⇒ WaitResponse ⇒ strstr
 
[Calls]- >>   WaitResponse
 - >>   EC800MSendCmd
 - >>   delay_1ms
 
[Called By]
EC800MWaitReady (Thumb, 12 bytes, Stack size 8 bytes, ec800m.o(i.EC800MWaitReady))
[Stack]
- Max Depth = 44
 - Call Chain = EC800MWaitReady ⇒ WaitResponse ⇒ strstr
 
[Calls]
[Called By]
EXTI1_IRQHandler (Thumb, 72 bytes, Stack size 8 bytes, key.o(i.EXTI1_IRQHandler))
[Stack]
- Max Depth = 8
 - Call Chain = EXTI1_IRQHandler
 
[Calls]- >>   delay_1ms
 - >>   exti_interrupt_flag_get
 - >>   exti_interrupt_flag_clear
 - >>   gpio_input_bit_get
 
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(RESET)
 
HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_it.o(i.HardFault_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
LogPrint (Thumb, 136 bytes, Stack size 296 bytes, log.o(i.LogPrint))
[Stack]
- Max Depth = 320
 - Call Chain = LogPrint ⇒ vsnprintf
 
[Calls]- >>   vsnprintf
 - >>   __2printf
 
[Called By]
MQTTPublish (Thumb, 606 bytes, Stack size 272 bytes, ec800m.o(i.MQTTPublish))
[Stack]
- Max Depth = 328
 - Call Chain = MQTTPublish ⇒ malloc ⇒ internal_alloc
 
[Calls]- >>   get_gateway_config_params
 - >>   __aeabi_f2d
 - >>   WaitResponse
 - >>   EC800MSendCmd
 - >>   delay_1ms
 - >>   malloc
 - >>   free
 - >>   __2sprintf
 - >>   strlen
 
[Called By]
MQTTSubTopic (Thumb, 64 bytes, Stack size 120 bytes, ec800m.o(i.MQTTSubTopic))
[Stack]
- Max Depth = 156
 - Call Chain = MQTTSubTopic ⇒ WaitResponse ⇒ strstr
 
[Calls]- >>   WaitResponse
 - >>   EC800MSendCmd
 - >>   __2sprintf
 - >>   strlen
 
[Called By]
MQTT_Alarm_clock (Thumb, 58 bytes, Stack size 16 bytes, main.o(i.MQTT_Alarm_clock))
[Stack]
- Max Depth = 1272
 - Call Chain = MQTT_Alarm_clock ⇒ 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_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   task_fwdgt_reload
 - >>   parseMQTTData
 - >>   Read_Data
 - >>   MQTTPublish
 - >>   delay_1ms
 - >>   gd_eval_led_toggle
 - >>   check_ota_event
 
[Called By]
MQTT_BUFFER_READ (Thumb, 114 bytes, Stack size 24 bytes, mqttrecv.o(i.MQTT_BUFFER_READ))
[Stack]
- Max Depth = 24
 - Call Chain = MQTT_BUFFER_READ
 
[Calls]- >>   ring_buffer_read
 - >>   strcpy
 - >>   __aeabi_memclr
 
[Called By]
MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_it.o(i.MemManage_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, gd32f10x_it.o(i.NMI_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, gd32f10x_it.o(i.PendSV_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
Read_Data (Thumb, 588 bytes, Stack size 72 bytes, parsedevicemessage.o(i.Read_Data))
[Stack]
- Max Depth = 616
 - Call Chain = Read_Data ⇒ 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_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   task_fwdgt_reload
 - >>   mmodbus_set16bitOrder
 - >>   mmodbus_readHoldingRegisters16i
 - >>   mmodbus_readCoils
 - >>   dlt645_set_addr
 - >>   dlt645_read_data
 - >>   __aeabi_ui2f
 - >>   __aeabi_ui2d
 - >>   __aeabi_ddiv
 - >>   __aeabi_d2f
 - >>   get_gateway_config_params
 - >>   __aeabi_f2d
 - >>   delay_1ms
 - >>   pow
 - >>   malloc
 - >>   free
 - >>   __aeabi_memcpy4
 
[Called By]
Receive_MQTT_DataPack (Thumb, 120 bytes, Stack size 8 bytes, mqttrecv.o(i.Receive_MQTT_DataPack))
[Stack]
- Max Depth = 20
 - Call Chain = Receive_MQTT_DataPack ⇒ strstr
 
[Calls]- >>   Clear_DMA_Buffer
 - >>   ring_buffer_write
 - >>   strlen
 - >>   strstr
 
[Called By]
SPI0_Init (Thumb, 94 bytes, Stack size 32 bytes, spi.o(i.SPI0_Init))
[Stack]
- Max Depth = 52
 - Call Chain = SPI0_Init ⇒ gpio_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 - >>   spi_init
 - >>   spi_i2s_deinit
 - >>   spi_enable
 
[Called By]
SPI0_ReadWriteByte (Thumb, 50 bytes, Stack size 8 bytes, spi.o(i.SPI0_ReadWriteByte))
[Stack]
- Max Depth = 8
 - Call Chain = SPI0_ReadWriteByte
 
[Calls]- >>   spi_i2s_flag_get
 - >>   spi_i2s_data_transmit
 - >>   spi_i2s_data_receive
 
[Called By]- >>   W25Q32_WaitBusy
 - >>   W25Q32_Enable
 - >>   SPI0_Write
 
SPI0_Write (Thumb, 26 bytes, Stack size 16 bytes, spi.o(i.SPI0_Write))
[Stack]
- Max Depth = 24
 - Call Chain = SPI0_Write ⇒ SPI0_ReadWriteByte
 
[Calls]
[Called By]- >>   W25Q32_PageWrite
 - >>   W25Q32_Erase64K
 
SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, gd32f10x_it.o(i.SVC_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
SysTick_Handler (Thumb, 12 bytes, Stack size 8 bytes, gd32f10x_it.o(i.SysTick_Handler))
[Stack]
- Max Depth = 8
 - Call Chain = SysTick_Handler
 
[Calls]- >>   runtime_increment
 - >>   delay_decrement
 
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(RESET)
 
SystemInit (Thumb, 198 bytes, Stack size 8 bytes, system_gd32f10x.o(i.SystemInit))
[Stack]
- Max Depth = 16
 - Call Chain = SystemInit ⇒ system_clock_config
 
[Calls]- >>   nvic_vector_table_set
 - >>   system_clock_config
 
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(.text)
 
USART0_IRQHandler (Thumb, 54 bytes, Stack size 8 bytes, gd32f10x_it.o(i.USART0_IRQHandler))
[Stack]
- Max Depth = 28
 - Call Chain = USART0_IRQHandler ⇒ Receive_MQTT_DataPack ⇒ strstr
 
[Calls]- >>   usart_interrupt_flag_get
 - >>   usart_interrupt_flag_clear
 - >>   usart_data_receive
 - >>   dma_channel_enable
 - >>   dma_channel_disable
 - >>   Receive_MQTT_DataPack
 
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(RESET)
 
USART1_IRQHandler (Thumb, 30 bytes, Stack size 8 bytes, gd32f10x_it.o(i.USART1_IRQHandler))
[Stack]
- Max Depth = 32
 - Call Chain = USART1_IRQHandler ⇒ mmodbus_callback ⇒ usart_interrupt_flag_get
 
[Calls]- >>   mmodbus_callback
 - >>   dlt_callback
 
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(RESET)
 
USART2_IRQHandler (Thumb, 374 bytes, Stack size 16 bytes, pc.o(i.USART2_IRQHandler))
[Stack]
- Max Depth = 72
 - Call Chain = USART2_IRQHandler ⇒ malloc ⇒ internal_alloc
 
[Calls]- >>   usart_interrupt_flag_get
 - >>   usart_interrupt_flag_clear
 - >>   usart_data_receive
 - >>   malloc
 - >>   __aeabi_memclr
 
[Address Reference Count : 1]-  startup_gd32f10x_xd.o(RESET)
 
UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_it.o(i.UsageFault_Handler))
[Address Reference Count : 1]
-  startup_gd32f10x_xd.o(RESET)
 
W25Q32_Enable (Thumb, 30 bytes, Stack size 8 bytes, w25q32.o(i.W25Q32_Enable))
[Stack]
- Max Depth = 24
 - Call Chain = W25Q32_Enable ⇒ W25Q32_WaitBusy ⇒ SPI0_ReadWriteByte
 
[Calls]- >>   gpio_bit_set
 - >>   gpio_bit_reset
 - >>   W25Q32_WaitBusy
 - >>   SPI0_ReadWriteByte
 
[Called By]- >>   W25Q32_PageWrite
 - >>   W25Q32_Erase64K
 
W25Q32_Erase64K (Thumb, 70 bytes, Stack size 16 bytes, w25q32.o(i.W25Q32_Erase64K))
[Stack]
- Max Depth = 40
 - Call Chain = W25Q32_Erase64K ⇒ W25Q32_Enable ⇒ W25Q32_WaitBusy ⇒ SPI0_ReadWriteByte
 
[Calls]- >>   gpio_bit_set
 - >>   gpio_bit_reset
 - >>   W25Q32_WaitBusy
 - >>   W25Q32_Enable
 - >>   SPI0_Write
 
[Called By]- >>   xmodem
 - >>   check_ota_event
 
W25Q32_Init (Thumb, 36 bytes, Stack size 8 bytes, w25q32.o(i.W25Q32_Init))
[Stack]
- Max Depth = 60
 - Call Chain = W25Q32_Init ⇒ SPI0_Init ⇒ gpio_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 - >>   gpio_bit_set
 - >>   SPI0_Init
 
[Called By]
W25Q32_PageWrite (Thumb, 80 bytes, Stack size 16 bytes, w25q32.o(i.W25Q32_PageWrite))
[Stack]
- Max Depth = 40
 - Call Chain = W25Q32_PageWrite ⇒ W25Q32_Enable ⇒ W25Q32_WaitBusy ⇒ SPI0_ReadWriteByte
 
[Calls]- >>   gpio_bit_set
 - >>   gpio_bit_reset
 - >>   W25Q32_WaitBusy
 - >>   W25Q32_Enable
 - >>   SPI0_Write
 
[Called By]
W25Q32_WaitBusy (Thumb, 44 bytes, Stack size 8 bytes, w25q32.o(i.W25Q32_WaitBusy))
[Stack]
- Max Depth = 16
 - Call Chain = W25Q32_WaitBusy ⇒ SPI0_ReadWriteByte
 
[Calls]- >>   gpio_bit_set
 - >>   gpio_bit_reset
 - >>   SPI0_ReadWriteByte
 
[Called By]- >>   W25Q32_PageWrite
 - >>   W25Q32_Erase64K
 - >>   W25Q32_Enable
 
WaitForUpData (Thumb, 66 bytes, Stack size 24 bytes, parsedevicemessage.o(i.WaitForUpData))
[Stack]
- Max Depth = 376
 - Call Chain = WaitForUpData ⇒ addGatewayParams ⇒ addDevice ⇒ addSensorListParams ⇒ parseStringField ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   extract_data_from_buffer
 - >>   checksum
 - >>   addGatewayParams
 
[Called By]
WaitResponse (Thumb, 82 bytes, Stack size 24 bytes, ec800m.o(i.WaitResponse))
[Stack]
- Max Depth = 36
 - Call Chain = WaitResponse ⇒ strstr
 
[Calls]- >>   Clear_DMA_Buffer
 - >>   delay_1ms
 - >>   strstr
 
[Called By]- >>   parseMQTTData
 - >>   MQTTSubTopic
 - >>   MQTTPublish
 - >>   EC800MWaitReady
 - >>   EC800MSetPDP
 - >>   EC800MGetUrl
 - >>   ConnectMQTTSever
 
Xmodem_CRC16 (Thumb, 68 bytes, Stack size 16 bytes, otaevent.o(i.Xmodem_CRC16))
[Stack]
- Max Depth = 16
 - Call Chain = Xmodem_CRC16
 
[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]
- Max Depth = 24
 - Call Chain = __2printf
 
[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]
- >>   _sputc
 - >>   _printf_core
 
__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]
- Max Depth = 24
 - Call Chain = __2sprintf
 
[Called By]- >>   parseMQTTData
 - >>   MQTTSubTopic
 - >>   MQTTPublish
 - >>   EC800MGetUrl
 - >>   ConnectMQTTSever
 - >>   main
 
__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]
- Max Depth = 24
 - Call Chain = vsnprintf
 
[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]
- Max Depth = 12
 - Call Chain = free
 
[Called By]- >>   Read_Data
 - >>   addSensorListParams
 - >>   MQTTPublish
 - >>   main
 - >>   http_load_config
 - >>   realloc
 
[Address Reference Count : 1]
__kernel_poly (Thumb, 170 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly))
[Stack]
- Max Depth = 112
 - Call Chain = __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   __aeabi_dadd
 - >>   __aeabi_dmul
 
[Called By]
malloc (Thumb, 64 bytes, Stack size 32 bytes, mallocr.o(i.__malloc$realloc))
[Stack]
- Max Depth = 56
 - Call Chain = malloc ⇒ internal_alloc
 
[Calls]
[Called By]- >>   Read_Data
 - >>   addSensorListParams
 - >>   addDevice
 - >>   addCommandListParams
 - >>   MQTTPublish
 - >>   USART2_IRQHandler
 - >>   main
 - >>   http_load_config
 - >>   realloc
 
[Address Reference Count : 1]
__mathlib_dbl_divzero (Thumb, 12 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_divzero))
[Stack]
- Max Depth = 40
 - Call Chain = __mathlib_dbl_divzero ⇒ __aeabi_ddiv ⇒ _double_round
 
[Calls]
[Called By]
__mathlib_dbl_infnan2 (Thumb, 4 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_infnan2))
[Stack]
- Max Depth = 88
 - Call Chain = __mathlib_dbl_infnan2 ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]
[Called By]
__mathlib_dbl_invalid (Thumb, 12 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_invalid))
[Stack]
- Max Depth = 40
 - Call Chain = __mathlib_dbl_invalid ⇒ __aeabi_ddiv ⇒ _double_round
 
[Calls]
[Called By]
__mathlib_dbl_overflow (Thumb, 14 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_overflow))
[Stack]
- Max Depth = 16
 - Call Chain = __mathlib_dbl_overflow ⇒ __ARM_scalbn
 
[Calls]
[Called By]
__mathlib_dbl_underflow (Thumb, 10 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_underflow))
[Stack]
- Max Depth = 16
 - Call Chain = __mathlib_dbl_underflow ⇒ __ARM_scalbn
 
[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]
- Max Depth = 8
 - Call Chain = _crc
 
[Called By]- >>   dlt645_common_check
 - >>   dlt645_send_msg
 
_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]
- Max Depth = 304
 - Call Chain = addCommandListParams ⇒ parseStringField ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   parseStringField
 - >>   parseIntField
 - >>   malloc
 
[Called By]
addDevice (Thumb, 216 bytes, Stack size 16 bytes, device_message.o(i.addDevice))
[Stack]
- Max Depth = 336
 - Call Chain = addDevice ⇒ addSensorListParams ⇒ parseStringField ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   parseStringField
 - >>   parseIntField
 - >>   addSensorListParams
 - >>   addCommandListParams
 - >>   malloc
 - >>   strstr
 
[Called By]
addGatewayParams (Thumb, 210 bytes, Stack size 16 bytes, device_message.o(i.addGatewayParams))
[Stack]
- Max Depth = 352
 - Call Chain = addGatewayParams ⇒ addDevice ⇒ addSensorListParams ⇒ parseStringField ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   parseStringField
 - >>   parseIntField
 - >>   addDevice
 - >>   strstr
 
[Called By]
addSensorListParams (Thumb, 256 bytes, Stack size 32 bytes, device_message.o(i.addSensorListParams))
[Stack]
- Max Depth = 320
 - Call Chain = addSensorListParams ⇒ parseStringField ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   parseStringField
 - >>   parseIntField
 - >>   __0sscanf
 - >>   malloc
 - >>   free
 
[Called By]
cJSON_Delete (Thumb, 84 bytes, Stack size 16 bytes, cjson.o(i.cJSON_Delete))
[Stack]
- Max Depth = 16 + In Cycle
 - Call Chain = cJSON_Delete ⇒  cJSON_Delete (Cycle)
 
[Calls]
[Called By]- >>   cJSON_Delete
 - >>   parseMQTTData
 - >>   cJSON_ParseWithLengthOpts
 - >>   parse_object
 - >>   parse_array
 
cJSON_GetObjectItemCaseSensitive (Thumb, 18 bytes, Stack size 16 bytes, cjson.o(i.cJSON_GetObjectItemCaseSensitive))
[Stack]
- Max Depth = 56
 - Call Chain = cJSON_GetObjectItemCaseSensitive ⇒ get_object_item ⇒ case_insensitive_strcmp
 
[Calls]
[Called By]- >>   processStringData
 - >>   processIntData
 
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]
- Max Depth = 432
 - Call Chain = cJSON_Parse ⇒ cJSON_ParseWithOpts ⇒ cJSON_ParseWithLengthOpts ⇒ parse_value ⇒ parse_number ⇒ strtod ⇒ __strtod_int ⇒ _local_sscanf ⇒ _scanf_real
 
[Calls]
[Called By]
cJSON_ParseWithLengthOpts (Thumb, 204 bytes, Stack size 72 bytes, cjson.o(i.cJSON_ParseWithLengthOpts))
[Stack]
- Max Depth = 400
 - Call Chain = cJSON_ParseWithLengthOpts ⇒ parse_value ⇒ parse_number ⇒ strtod ⇒ __strtod_int ⇒ _local_sscanf ⇒ _scanf_real
 
[Calls]- >>   cJSON_Delete
 - >>   skip_utf8_bom
 - >>   parse_value
 - >>   cJSON_New_Item
 - >>   buffer_skip_whitespace
 - >>   __aeabi_memclr4
 
[Called By]
cJSON_ParseWithOpts (Thumb, 40 bytes, Stack size 24 bytes, cjson.o(i.cJSON_ParseWithOpts))
[Stack]
- Max Depth = 424
 - Call Chain = cJSON_ParseWithOpts ⇒ cJSON_ParseWithLengthOpts ⇒ parse_value ⇒ parse_number ⇒ strtod ⇒ __strtod_int ⇒ _local_sscanf ⇒ _scanf_real
 
[Calls]- >>   cJSON_ParseWithLengthOpts
 - >>   strlen
 
[Called By]
check_ota_event (Thumb, 72 bytes, Stack size 8 bytes, otaevent.o(i.check_ota_event))
[Stack]
- Max Depth = 80
 - Call Chain = check_ota_event ⇒ xmodem ⇒ W25Q32_PageWrite ⇒ W25Q32_Enable ⇒ W25Q32_WaitBusy ⇒ SPI0_ReadWriteByte
 
[Calls]- >>   W25Q32_Erase64K
 - >>   xmodem
 
[Called By]- >>   main
 - >>   MQTT_Alarm_clock
 
config_485_port (Thumb, 240 bytes, Stack size 32 bytes, usart.o(i.config_485_port))
[Stack]
- Max Depth = 144
 - Call Chain = config_485_port ⇒ usart_baudrate_set ⇒ rcu_clock_freq_get
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 - >>   usart_word_length_set
 - >>   usart_transmit_config
 - >>   usart_stop_bit_set
 - >>   usart_receive_config
 - >>   usart_parity_config
 - >>   usart_interrupt_enable
 - >>   usart_hardware_flow_rts_config
 - >>   usart_hardware_flow_cts_config
 - >>   usart_flag_clear
 - >>   usart_enable
 - >>   usart_baudrate_set
 
[Called By]
data_package_translate_to_int (Thumb, 254 bytes, Stack size 80 bytes, dlt645_data.o(i.data_package_translate_to_int))
[Stack]
- Max Depth = 320
 - Call Chain = data_package_translate_to_int ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   __aeabi_ui2d
 - >>   pow
 - >>   __aeabi_dadd
 - >>   __aeabi_i2d
 - >>   __aeabi_dmul
 - >>   __aeabi_d2iz
 
[Called By]- >>   dlt645_data_parse_by_format_to_float
 
delay_1ms (Thumb, 16 bytes, Stack size 0 bytes, systick.o(i.delay_1ms))
[Called By]
- >>   Read_Data
 - >>   WaitResponse
 - >>   MQTTPublish
 - >>   EC800MSetPDP
 - >>   EC800MPwoerOn
 - >>   EC800MGetUrl
 - >>   xmodem
 - >>   http_load_config
 - >>   MQTT_Alarm_clock
 - >>   mmodbus_sendRaw
 - >>   mmodbus_receiveRaw
 - >>   EXTI1_IRQHandler
 
delay_decrement (Thumb, 18 bytes, Stack size 0 bytes, systick.o(i.delay_decrement))
[Called By]
dlt645_1997_read_data (Thumb, 152 bytes, Stack size 104 bytes, dlt645_1997.o(i.dlt645_1997_read_data))
[Stack]
- Max Depth = 520
 - Call Chain = dlt645_1997_read_data ⇒ dlt645_1997_parsing_data ⇒ dlt645_data_parse_by_format_to_float ⇒ data_package_translate_to_int ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   dlt645_1997_parsing_data
 - >>   dlt645_send_msg
 - >>   dlt645_receive_msg
 - >>   __aeabi_memclr4
 
[Called By]
dlt645_1997_recv_check (Thumb, 82 bytes, Stack size 40 bytes, dlt645_1997.o(i.dlt645_1997_recv_check))
[Stack]
- Max Depth = 76
 - Call Chain = dlt645_1997_recv_check ⇒ dlt645_common_check ⇒ memcmp
 
[Calls]
[Called By]
dlt645_2007_parsing_data (Thumb, 888 bytes, Stack size 24 bytes, dlt645_2007.o(i.dlt645_2007_parsing_data))
[Stack]
- Max Depth = 416
 - Call Chain = dlt645_2007_parsing_data ⇒ dlt645_data_parse_by_format_to_float ⇒ data_package_translate_to_int ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   dlt645_data_parse_by_format_to_float
 
[Called By]
dlt645_2007_read_data (Thumb, 174 bytes, Stack size 104 bytes, dlt645_2007.o(i.dlt645_2007_read_data))
[Stack]
- Max Depth = 520
 - Call Chain = dlt645_2007_read_data ⇒ dlt645_2007_parsing_data ⇒ dlt645_data_parse_by_format_to_float ⇒ data_package_translate_to_int ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   dlt645_2007_parsing_data
 - >>   dlt645_send_msg
 - >>   dlt645_receive_msg
 - >>   __aeabi_memclr4
 
[Called By]
dlt645_2007_recv_check (Thumb, 84 bytes, Stack size 40 bytes, dlt645_2007.o(i.dlt645_2007_recv_check))
[Stack]
- Max Depth = 76
 - Call Chain = dlt645_2007_recv_check ⇒ dlt645_common_check ⇒ memcmp
 
[Calls]
[Called By]
dlt645_common_check (Thumb, 124 bytes, Stack size 24 bytes, dlt645_data.o(i.dlt645_common_check))
[Stack]
- Max Depth = 36
 - Call Chain = dlt645_common_check ⇒ memcmp
 
[Calls]
[Called By]- >>   dlt645_2007_recv_check
 - >>   dlt645_1997_recv_check
 
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]
- Max Depth = 392
 - Call Chain = dlt645_data_parse_by_format_to_float ⇒ data_package_translate_to_int ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   __aeabi_ddiv
 - >>   __aeabi_d2f
 - >>   pow
 - >>   data_package_translate_to_int
 - >>   __aeabi_i2d
 - >>   strlen
 
[Called By]- >>   dlt645_1997_parsing_data
 - >>   dlt645_2007_parsing_data
 
dlt645_init (Thumb, 30 bytes, Stack size 8 bytes, dlt645_port.o(i.dlt645_init))
[Stack]
- Max Depth = 8
 - Call Chain = dlt645_init
 
[Calls]
[Called By]
dlt645_read_data (Thumb, 62 bytes, Stack size 24 bytes, dlt645.o(i.dlt645_read_data))
[Stack]
- Max Depth = 544
 - Call Chain = 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_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   dlt645_2007_read_data
 - >>   dlt645_1997_read_data
 
[Called By]- >>   parseMQTTData
 - >>   Read_Data
 
dlt645_receive_msg (Thumb, 70 bytes, Stack size 32 bytes, dlt645.o(i.dlt645_receive_msg))
[Stack]
- Max Depth = 108
 - Call Chain = dlt645_receive_msg ⇒ dlt645_2007_recv_check ⇒ dlt645_common_check ⇒ memcmp
 
[Calls]- >>   dlt645_2007_recv_check
 - >>   dlt645_1997_recv_check
 
[Called By]- >>   dlt645_2007_read_data
 - >>   dlt645_1997_read_data
 
dlt645_send_msg (Thumb, 46 bytes, Stack size 16 bytes, dlt645.o(i.dlt645_send_msg))
[Stack]
- Max Depth = 24
 - Call Chain = dlt645_send_msg ⇒ _crc
 
[Calls]
[Called By]- >>   dlt645_2007_read_data
 - >>   dlt645_1997_read_data
 
dlt645_set_addr (Thumb, 42 bytes, Stack size 20 bytes, dlt645.o(i.dlt645_set_addr))
[Stack]
- Max Depth = 20
 - Call Chain = dlt645_set_addr
 
[Called By]- >>   parseMQTTData
 - >>   Read_Data
 
dlt_callback (Thumb, 118 bytes, Stack size 8 bytes, dlt645_port.o(i.dlt_callback))
[Stack]
- Max Depth = 24
 - Call Chain = dlt_callback ⇒ usart_interrupt_flag_get
 
[Calls]- >>   usart_interrupt_flag_get
 - >>   usart_interrupt_flag_clear
 - >>   usart_data_receive
 
[Called By]
dma_channel_disable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_channel_disable))
[Stack]
- Max Depth = 16
 - Call Chain = dma_channel_disable
 
[Calls]- >>   dma_periph_and_channel_check
 
[Called By]
dma_channel_enable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_channel_enable))
[Stack]
- Max Depth = 16
 - Call Chain = dma_channel_enable
 
[Calls]- >>   dma_periph_and_channel_check
 
[Called By]- >>   dma_config_change
 - >>   USART0_IRQHandler
 - >>   dma_config
 
dma_circulation_disable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_circulation_disable))
[Stack]
- Max Depth = 16
 - Call Chain = dma_circulation_disable
 
[Calls]- >>   dma_periph_and_channel_check
 
[Called By]- >>   dma_config_change
 - >>   dma_config
 
dma_config (Thumb, 122 bytes, Stack size 32 bytes, usart.o(i.dma_config))
[Stack]
- Max Depth = 56
 - Call Chain = dma_config ⇒ dma_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   dma_channel_enable
 - >>   dma_memory_to_memory_disable
 - >>   dma_interrupt_enable
 - >>   dma_init
 - >>   dma_deinit
 - >>   dma_circulation_disable
 - >>   usart_dma_transmit_config
 
[Called By]- >>   main
 - >>   http_load_config
 
dma_config_change (Thumb, 120 bytes, Stack size 40 bytes, usart.o(i.dma_config_change))
[Stack]
- Max Depth = 64
 - Call Chain = dma_config_change ⇒ dma_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   dma_channel_enable
 - >>   dma_memory_to_memory_disable
 - >>   dma_interrupt_enable
 - >>   dma_init
 - >>   dma_deinit
 - >>   dma_circulation_disable
 - >>   usart_dma_transmit_config
 
[Called By]- >>   EC800MGetUrl
 - >>   http_load_config
 
dma_deinit (Thumb, 112 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_deinit))
[Stack]
- Max Depth = 16
 - Call Chain = dma_deinit
 
[Calls]- >>   dma_periph_and_channel_check
 
[Called By]- >>   dma_config_change
 - >>   dma_config
 
dma_init (Thumb, 302 bytes, Stack size 24 bytes, gd32f10x_dma.o(i.dma_init))
[Stack]
- Max Depth = 24
 - Call Chain = dma_init
 
[Calls]- >>   dma_periph_and_channel_check
 
[Called By]- >>   dma_config_change
 - >>   dma_config
 
dma_interrupt_enable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_interrupt_enable))
[Stack]
- Max Depth = 16
 - Call Chain = dma_interrupt_enable
 
[Calls]- >>   dma_periph_and_channel_check
 
[Called By]- >>   dma_config_change
 - >>   dma_config
 
dma_interrupt_flag_clear (Thumb, 16 bytes, Stack size 8 bytes, gd32f10x_dma.o(i.dma_interrupt_flag_clear))
[Stack]
- Max Depth = 8
 - Call Chain = dma_interrupt_flag_clear
 
[Called By]- >>   DMA0_Channel4_IRQHandler
 
dma_memory_to_memory_disable (Thumb, 50 bytes, Stack size 16 bytes, gd32f10x_dma.o(i.dma_memory_to_memory_disable))
[Stack]
- Max Depth = 16
 - Call Chain = dma_memory_to_memory_disable
 
[Calls]- >>   dma_periph_and_channel_check
 
[Called By]- >>   dma_config_change
 - >>   dma_config
 
exti_init (Thumb, 184 bytes, Stack size 8 bytes, gd32f10x_exti.o(i.exti_init))
[Stack]
- Max Depth = 8
 - Call Chain = exti_init
 
[Called By]
exti_interrupt_flag_clear (Thumb, 6 bytes, Stack size 0 bytes, gd32f10x_exti.o(i.exti_interrupt_flag_clear))
[Called By]
- >>   gd_eval_key_init
 - >>   EXTI1_IRQHandler
 
exti_interrupt_flag_get (Thumb, 18 bytes, Stack size 0 bytes, gd32f10x_exti.o(i.exti_interrupt_flag_get))
[Called By]
fputc (Thumb, 32 bytes, Stack size 16 bytes, log.o(i.fputc))
[Stack]
- Max Depth = 24
 - Call Chain = fputc ⇒ usart_flag_get
 
[Calls]- >>   usart_flag_get
 - >>   usart_data_transmit
 
[Address Reference Count : 1]
fwdgt_counter_reload (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_fwdgt.o(i.fwdgt_counter_reload))
[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]
- Max Depth = 28
 - Call Chain = gd_485_DE_pin_init ⇒ gpio_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 
[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]
- Max Depth = 28
 - Call Chain = gd_EC800M_pin_init ⇒ gpio_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 
[Called By]
gd_com_init (Thumb, 210 bytes, Stack size 16 bytes, usart.o(i.gd_com_init))
[Stack]
- Max Depth = 128
 - Call Chain = gd_com_init ⇒ usart_baudrate_set ⇒ rcu_clock_freq_get
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 - >>   gpio_pin_remap_config
 - >>   usart_word_length_set
 - >>   usart_transmit_config
 - >>   usart_stop_bit_set
 - >>   usart_receive_config
 - >>   usart_parity_config
 - >>   usart_interrupt_enable
 - >>   usart_hardware_flow_rts_config
 - >>   usart_hardware_flow_cts_config
 - >>   usart_enable
 - >>   usart_deinit
 - >>   usart_baudrate_set
 
[Called By]
gd_eval_key_init (Thumb, 98 bytes, Stack size 16 bytes, key.o(i.gd_eval_key_init))
[Stack]
- Max Depth = 40
 - Call Chain = gd_eval_key_init ⇒ nvic_irq_enable
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 - >>   exti_interrupt_flag_clear
 - >>   exti_init
 - >>   nvic_irq_enable
 - >>   gpio_exti_source_select
 
[Called By]
gd_eval_led_init (Thumb, 60 bytes, Stack size 8 bytes, led.o(i.gd_eval_led_init))
[Stack]
- Max Depth = 28
 - Call Chain = gd_eval_led_init ⇒ gpio_init
 
[Calls]- >>   rcu_periph_clock_enable
 - >>   gpio_init
 - >>   gpio_bit_set
 
[Called By]
gd_eval_led_toggle (Thumb, 46 bytes, Stack size 16 bytes, led.o(i.gd_eval_led_toggle))
[Stack]
- Max Depth = 16
 - Call Chain = gd_eval_led_toggle
 
[Calls]- >>   gpio_input_bit_get
 - >>   gpio_bit_write
 
[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]
- >>   Read_Data
 - >>   MQTTPublish
 - >>   main
 
gettick (Thumb, 6 bytes, Stack size 0 bytes, systick.o(i.gettick))
[Called By]
- >>   mmodbus_callback
 - >>   xmodem
 - >>   mmodbus_sendRaw
 - >>   mmodbus_receiveRaw
 - >>   dlt645_hw_read
 
gpio_bit_reset (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_gpio.o(i.gpio_bit_reset))
[Called By]
- >>   W25Q32_PageWrite
 - >>   W25Q32_Erase64K
 - >>   mmodbus_sendRaw
 - >>   mmodbus_init
 - >>   W25Q32_WaitBusy
 - >>   W25Q32_Enable
 - >>   dlt645_hw_write
 
gpio_bit_set (Thumb, 4 bytes, Stack size 0 bytes, gd32f10x_gpio.o(i.gpio_bit_set))
[Called By]
- >>   EC800MPwoerOn
 - >>   W25Q32_PageWrite
 - >>   W25Q32_Erase64K
 - >>   gd_eval_led_init
 - >>   dlt645_init
 - >>   W25Q32_Init
 - >>   mmodbus_sendRaw
 - >>   W25Q32_WaitBusy
 - >>   W25Q32_Enable
 - >>   dlt645_hw_write
 
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]
- Max Depth = 8
 - Call Chain = gpio_exti_source_select
 
[Called By]
gpio_init (Thumb, 172 bytes, Stack size 20 bytes, gd32f10x_gpio.o(i.gpio_init))
[Stack]
- Max Depth = 20
 - Call Chain = gpio_init
 
[Called By]- >>   EC800MPwoerOn
 - >>   gd_eval_led_init
 - >>   gd_eval_key_init
 - >>   gd_com_init
 - >>   gd_EC800M_pin_init
 - >>   gd_485_DE_pin_init
 - >>   config_485_port
 - >>   W25Q32_Init
 - >>   SPI0_Init
 
gpio_input_bit_get (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_gpio.o(i.gpio_input_bit_get))
[Called By]
- >>   gd_eval_led_toggle
 - >>   EXTI1_IRQHandler
 
gpio_pin_remap_config (Thumb, 138 bytes, Stack size 20 bytes, gd32f10x_gpio.o(i.gpio_pin_remap_config))
[Stack]
- Max Depth = 20
 - Call Chain = gpio_pin_remap_config
 
[Called By]
http_load_config (Thumb, 92 bytes, Stack size 16 bytes, main.o(i.http_load_config))
[Stack]
- Max Depth = 392
 - Call Chain = http_load_config ⇒ WaitForUpData ⇒ addGatewayParams ⇒ addDevice ⇒ addSensorListParams ⇒ parseStringField ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   WaitForUpData
 - >>   dma_config_change
 - >>   EC800MSendCmd
 - >>   EC800MGetUrl
 - >>   delay_1ms
 - >>   dma_config
 - >>   malloc
 - >>   free
 
[Called By]
main (Thumb, 286 bytes, Stack size 8 bytes, main.o(i.main))
[Stack]
- Max Depth = 1280
 - Call Chain = main ⇒ MQTT_Alarm_clock ⇒ 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_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   get_gateway_config_params
 - >>   MQTTSubTopic
 - >>   EC800MWaitReady
 - >>   EC800MSetPDP
 - >>   EC800MPwoerOn
 - >>   ConnectMQTTSever
 - >>   systick_config
 - >>   ring_buffer_init
 - >>   rcu_osci_on
 - >>   nvic_config
 - >>   gd_eval_led_init
 - >>   gd_eval_key_init
 - >>   gd_com_init
 - >>   gd_EC800M_pin_init
 - >>   gd_485_DE_tx
 - >>   gd_485_DE_pin_init
 - >>   dma_config
 - >>   dlt645_init
 - >>   config_485_port
 - >>   check_ota_event
 - >>   W25Q32_Init
 - >>   readID
 - >>   http_load_config
 - >>   MQTT_Alarm_clock
 - >>   mmodbus_init
 - >>   malloc
 - >>   free
 - >>   __2sprintf
 - >>   strcpy
 - >>   __aeabi_memclr
 
[Address Reference Count : 1]-  entry9a.o(.ARM.Collect$$$$0000000B)
 
mmodbus_callback (Thumb, 108 bytes, Stack size 8 bytes, mmodbus.o(i.mmodbus_callback))
[Stack]
- Max Depth = 24
 - Call Chain = mmodbus_callback ⇒ usart_interrupt_flag_get
 
[Calls]- >>   gettick
 - >>   usart_interrupt_flag_get
 - >>   usart_interrupt_flag_clear
 - >>   usart_data_receive
 
[Called By]
mmodbus_crc16 (Thumb, 42 bytes, Stack size 12 bytes, mmodbus.o(i.mmodbus_crc16))
[Stack]
- Max Depth = 12
 - Call Chain = mmodbus_crc16
 
[Called By]- >>   mmodbus_writeHoldingRegister16i
 - >>   mmodbus_writeCoil
 - >>   mmodbus_readCoils
 - >>   mmodbus_readHoldingRegisters8i
 
mmodbus_init (Thumb, 30 bytes, Stack size 8 bytes, mmodbus.o(i.mmodbus_init))
[Stack]
- Max Depth = 8
 - Call Chain = mmodbus_init
 
[Calls]- >>   gpio_bit_reset
 - >>   __aeabi_memclr4
 
[Called By]
mmodbus_readCoils (Thumb, 210 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_readCoils))
[Stack]
- Max Depth = 64
 - Call Chain = mmodbus_readCoils ⇒ mmodbus_sendRaw ⇒ usart_flag_get
 
[Calls]- >>   mmodbus_sendRaw
 - >>   mmodbus_receiveRaw
 - >>   mmodbus_crc16
 - >>   __aeabi_memcpy
 
[Called By]- >>   parseMQTTData
 - >>   Read_Data
 
mmodbus_readHoldingRegisters16i (Thumb, 138 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_readHoldingRegisters16i))
[Stack]
- Max Depth = 96
 - Call Chain = mmodbus_readHoldingRegisters16i ⇒ mmodbus_readHoldingRegisters8i ⇒ mmodbus_sendRaw ⇒ usart_flag_get
 
[Calls]- >>   mmodbus_readHoldingRegisters8i
 
[Called By]
mmodbus_readHoldingRegisters8i (Thumb, 256 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_readHoldingRegisters8i))
[Stack]
- Max Depth = 64
 - Call Chain = mmodbus_readHoldingRegisters8i ⇒ mmodbus_sendRaw ⇒ usart_flag_get
 
[Calls]- >>   mmodbus_sendRaw
 - >>   mmodbus_receiveRaw
 - >>   mmodbus_crc16
 - >>   __aeabi_memcpy
 
[Called By]- >>   mmodbus_readHoldingRegisters16i
 
mmodbus_receiveRaw (Thumb, 90 bytes, Stack size 16 bytes, mmodbus.o(i.mmodbus_receiveRaw))
[Stack]
- Max Depth = 32
 - Call Chain = mmodbus_receiveRaw ⇒ usart_interrupt_flag_get
 
[Calls]- >>   gettick
 - >>   delay_1ms
 - >>   usart_interrupt_flag_get
 - >>   usart_data_receive
 
[Called By]- >>   mmodbus_writeHoldingRegister16i
 - >>   mmodbus_writeCoil
 - >>   mmodbus_readCoils
 - >>   mmodbus_readHoldingRegisters8i
 
mmodbus_sendRaw (Thumb, 236 bytes, Stack size 24 bytes, mmodbus.o(i.mmodbus_sendRaw))
[Stack]
- Max Depth = 32
 - Call Chain = mmodbus_sendRaw ⇒ usart_flag_get
 
[Calls]- >>   gpio_bit_set
 - >>   usart_flag_get
 - >>   usart_data_transmit
 - >>   gettick
 - >>   delay_1ms
 - >>   gpio_bit_reset
 - >>   __aeabi_memclr
 
[Called By]- >>   mmodbus_writeHoldingRegister16i
 - >>   mmodbus_writeCoil
 - >>   mmodbus_readCoils
 - >>   mmodbus_readHoldingRegisters8i
 
mmodbus_set16bitOrder (Thumb, 8 bytes, Stack size 0 bytes, mmodbus.o(i.mmodbus_set16bitOrder))
[Called By]
- >>   parseMQTTData
 - >>   Read_Data
 
mmodbus_writeCoil (Thumb, 134 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_writeCoil))
[Stack]
- Max Depth = 64
 - Call Chain = mmodbus_writeCoil ⇒ mmodbus_sendRaw ⇒ usart_flag_get
 
[Calls]- >>   mmodbus_sendRaw
 - >>   mmodbus_receiveRaw
 - >>   mmodbus_crc16
 - >>   memcmp
 
[Called By]
mmodbus_writeHoldingRegister16i (Thumb, 124 bytes, Stack size 32 bytes, mmodbus.o(i.mmodbus_writeHoldingRegister16i))
[Stack]
- Max Depth = 64
 - Call Chain = mmodbus_writeHoldingRegister16i ⇒ mmodbus_sendRaw ⇒ usart_flag_get
 
[Calls]- >>   mmodbus_sendRaw
 - >>   mmodbus_receiveRaw
 - >>   mmodbus_crc16
 - >>   memcmp
 
[Called By]
nvic_config (Thumb, 52 bytes, Stack size 8 bytes, usart.o(i.nvic_config))
[Stack]
- Max Depth = 32
 - Call Chain = nvic_config ⇒ nvic_irq_enable
 
[Calls]- >>   nvic_priority_group_set
 - >>   nvic_irq_enable
 
[Called By]
nvic_irq_enable (Thumb, 162 bytes, Stack size 24 bytes, gd32f10x_misc.o(i.nvic_irq_enable))
[Stack]
- Max Depth = 24
 - Call Chain = nvic_irq_enable
 
[Calls]- >>   nvic_priority_group_set
 
[Called By]- >>   nvic_config
 - >>   gd_eval_key_init
 
nvic_priority_group_set (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_misc.o(i.nvic_priority_group_set))
[Called By]
- >>   nvic_config
 - >>   nvic_irq_enable
 
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]
- Max Depth = 96
 - Call Chain = parseIntField ⇒ strtol ⇒ _strtoul
 
[Calls]
[Called By]- >>   addSensorListParams
 - >>   addGatewayParams
 - >>   addDevice
 - >>   addCommandListParams
 
parseMQTTData (Thumb, 1168 bytes, Stack size 712 bytes, parsedevicemessage.o(i.parseMQTTData))
[Stack]
- Max Depth = 1256
 - Call Chain = 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_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   mmodbus_writeHoldingRegister16i
 - >>   mmodbus_writeCoil
 - >>   mmodbus_set16bitOrder
 - >>   mmodbus_readCoils
 - >>   dlt645_set_addr
 - >>   dlt645_read_data
 - >>   cJSON_Parse
 - >>   cJSON_Delete
 - >>   MQTT_BUFFER_READ
 - >>   processStringData
 - >>   processIntData
 - >>   __aeabi_f2d
 - >>   WaitResponse
 - >>   EC800MSendCmd
 - >>   LogPrint
 - >>   __2sprintf
 - >>   strcpy
 - >>   strcmp
 - >>   strlen
 - >>   __aeabi_memclr4
 
[Called By]
parseStringField (Thumb, 44 bytes, Stack size 24 bytes, device_message.o(i.parseStringField))
[Stack]
- Max Depth = 288
 - Call Chain = parseStringField ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   __0sscanf
 - >>   strlen
 - >>   strstr
 
[Called By]- >>   addSensorListParams
 - >>   addGatewayParams
 - >>   addDevice
 - >>   addCommandListParams
 
pow (Thumb, 2512 bytes, Stack size 128 bytes, pow.o(i.pow))
[Stack]
- Max Depth = 240
 - Call Chain = pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   __aeabi_ddiv
 - >>   __aeabi_drsub
 - >>   __ARM_scalbn
 - >>   __aeabi_dadd
 - >>   __aeabi_i2d
 - >>   __aeabi_dsub
 - >>   __aeabi_dmul
 - >>   __aeabi_cdrcmple
 - >>   sqrt
 - >>   __kernel_poly
 - >>   __ARM_fpclassify
 - >>   __mathlib_dbl_underflow
 - >>   __mathlib_dbl_overflow
 - >>   __mathlib_dbl_invalid
 - >>   __mathlib_dbl_infnan2
 - >>   __mathlib_dbl_divzero
 - >>   __set_errno
 
[Called By]- >>   Read_Data
 - >>   data_package_translate_to_int
 - >>   dlt645_data_parse_by_format_to_float
 
processIntData (Thumb, 34 bytes, Stack size 16 bytes, parsedevicemessage.o(i.processIntData))
[Stack]
- Max Depth = 72
 - Call Chain = processIntData ⇒ cJSON_GetObjectItemCaseSensitive ⇒ get_object_item ⇒ case_insensitive_strcmp
 
[Calls]- >>   cJSON_IsNumber
 - >>   cJSON_GetObjectItemCaseSensitive
 
[Called By]
processStringData (Thumb, 36 bytes, Stack size 16 bytes, parsedevicemessage.o(i.processStringData))
[Stack]
- Max Depth = 72
 - Call Chain = processStringData ⇒ cJSON_GetObjectItemCaseSensitive ⇒ get_object_item ⇒ case_insensitive_strcmp
 
[Calls]- >>   cJSON_IsString
 - >>   cJSON_GetObjectItemCaseSensitive
 
[Called By]
rcu_clock_freq_get (Thumb, 264 bytes, Stack size 80 bytes, gd32f10x_rcu.o(i.rcu_clock_freq_get))
[Stack]
- Max Depth = 80
 - Call Chain = rcu_clock_freq_get
 
[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]
- >>   dma_config_change
 - >>   EC800MPwoerOn
 - >>   gd_eval_led_init
 - >>   gd_eval_key_init
 - >>   gd_com_init
 - >>   gd_EC800M_pin_init
 - >>   gd_485_DE_pin_init
 - >>   dma_config
 - >>   config_485_port
 - >>   W25Q32_Init
 - >>   SPI0_Init
 
rcu_periph_reset_disable (Thumb, 28 bytes, Stack size 0 bytes, gd32f10x_rcu.o(i.rcu_periph_reset_disable))
[Called By]
- >>   spi_i2s_deinit
 - >>   usart_deinit
 
rcu_periph_reset_enable (Thumb, 28 bytes, Stack size 0 bytes, gd32f10x_rcu.o(i.rcu_periph_reset_enable))
[Called By]
- >>   spi_i2s_deinit
 - >>   usart_deinit
 
readID (Thumb, 232 bytes, Stack size 52 bytes, main.o(i.readID))
[Stack]
- Max Depth = 52
 - Call Chain = readID
 
[Called By]
realloc (Thumb, 102 bytes, Stack size 32 bytes, mallocr.o(i.realloc))
[Stack]
- Max Depth = 88
 - Call Chain = realloc ⇒ malloc ⇒ internal_alloc
 
[Calls]- >>   malloc
 - >>   free
 - >>   internal_alloc
 
[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]
- Max Depth = 8
 - Call Chain = ring_buffer_write
 
[Called By]
runtime_increment (Thumb, 30 bytes, Stack size 0 bytes, systick.o(i.runtime_increment))
[Called By]
spi_enable (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_spi.o(i.spi_enable))
[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_deinit (Thumb, 82 bytes, Stack size 8 bytes, gd32f10x_spi.o(i.spi_i2s_deinit))
[Stack]
- Max Depth = 8
 - Call Chain = spi_i2s_deinit
 
[Calls]- >>   rcu_periph_reset_enable
 - >>   rcu_periph_reset_disable
 
[Called By]
spi_i2s_flag_get (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_spi.o(i.spi_i2s_flag_get))
[Called By]
spi_init (Thumb, 50 bytes, Stack size 0 bytes, gd32f10x_spi.o(i.spi_init))
[Called By]
sqrt (Thumb, 76 bytes, Stack size 24 bytes, sqrt.o(i.sqrt))
[Stack]
- Max Depth = 64
 - Call Chain = sqrt ⇒ _dsqrt ⇒ _double_round
 
[Calls]
[Called By]
strtod (Thumb, 28 bytes, Stack size 16 bytes, strtod.o(i.strtod))
[Stack]
- Max Depth = 216
 - Call Chain = strtod ⇒ __strtod_int ⇒ _local_sscanf ⇒ _scanf_real
 
[Calls]
[Called By]
systick_config (Thumb, 74 bytes, Stack size 8 bytes, systick.o(i.systick_config))
[Stack]
- Max Depth = 16
 - Call Chain = systick_config ⇒ NVIC_SetPriority
 
[Calls]
[Called By]
task_fwdgt_reload (Thumb, 12 bytes, Stack size 8 bytes, main.o(i.task_fwdgt_reload))
[Stack]
- Max Depth = 8
 - Call Chain = task_fwdgt_reload
 
[Calls]- >>   fwdgt_write_enable
 - >>   fwdgt_counter_reload
 
[Called By]- >>   Read_Data
 - >>   xmodem
 - >>   MQTT_Alarm_clock
 
usart_baudrate_set (Thumb, 136 bytes, Stack size 32 bytes, gd32f10x_usart.o(i.usart_baudrate_set))
[Stack]
- Max Depth = 112
 - Call Chain = usart_baudrate_set ⇒ rcu_clock_freq_get
 
[Calls]
[Called By]- >>   gd_com_init
 - >>   config_485_port
 
usart_data_receive (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_data_receive))
[Called By]
- >>   mmodbus_callback
 - >>   dlt_callback
 - >>   USART0_IRQHandler
 - >>   USART2_IRQHandler
 - >>   mmodbus_receiveRaw
 
usart_data_transmit (Thumb, 8 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_data_transmit))
[Called By]
- >>   EC800MSendCmd
 - >>   fputc
 - >>   xmodem
 - >>   mmodbus_sendRaw
 - >>   dlt645_hw_write
 
usart_deinit (Thumb, 136 bytes, Stack size 8 bytes, gd32f10x_usart.o(i.usart_deinit))
[Stack]
- Max Depth = 8
 - Call Chain = usart_deinit
 
[Calls]- >>   rcu_periph_reset_enable
 - >>   rcu_periph_reset_disable
 
[Called By]
usart_dma_transmit_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_dma_transmit_config))
[Called By]
- >>   dma_config_change
 - >>   dma_config
 
usart_enable (Thumb, 10 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_enable))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
usart_flag_clear (Thumb, 26 bytes, Stack size 8 bytes, gd32f10x_usart.o(i.usart_flag_clear))
[Stack]
- Max Depth = 8
 - Call Chain = usart_flag_clear
 
[Called By]
usart_flag_get (Thumb, 30 bytes, Stack size 8 bytes, gd32f10x_usart.o(i.usart_flag_get))
[Stack]
- Max Depth = 8
 - Call Chain = usart_flag_get
 
[Called By]- >>   EC800MSendCmd
 - >>   fputc
 - >>   mmodbus_sendRaw
 - >>   dlt645_hw_write
 
usart_hardware_flow_cts_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_hardware_flow_cts_config))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
usart_hardware_flow_rts_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_hardware_flow_rts_config))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
usart_interrupt_enable (Thumb, 26 bytes, Stack size 8 bytes, gd32f10x_usart.o(i.usart_interrupt_enable))
[Stack]
- Max Depth = 8
 - Call Chain = usart_interrupt_enable
 
[Called By]- >>   gd_com_init
 - >>   config_485_port
 
usart_interrupt_flag_clear (Thumb, 26 bytes, Stack size 8 bytes, gd32f10x_usart.o(i.usart_interrupt_flag_clear))
[Stack]
- Max Depth = 8
 - Call Chain = usart_interrupt_flag_clear
 
[Called By]- >>   mmodbus_callback
 - >>   dlt_callback
 - >>   USART0_IRQHandler
 - >>   USART2_IRQHandler
 
usart_interrupt_flag_get (Thumb, 56 bytes, Stack size 16 bytes, gd32f10x_usart.o(i.usart_interrupt_flag_get))
[Stack]
- Max Depth = 16
 - Call Chain = usart_interrupt_flag_get
 
[Called By]- >>   mmodbus_callback
 - >>   dlt_callback
 - >>   USART0_IRQHandler
 - >>   USART2_IRQHandler
 - >>   mmodbus_receiveRaw
 
usart_parity_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_parity_config))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
usart_receive_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_receive_config))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
usart_stop_bit_set (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_stop_bit_set))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
usart_transmit_config (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_transmit_config))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
usart_word_length_set (Thumb, 16 bytes, Stack size 0 bytes, gd32f10x_usart.o(i.usart_word_length_set))
[Called By]
- >>   gd_com_init
 - >>   config_485_port
 
xmodem (Thumb, 460 bytes, Stack size 32 bytes, otaevent.o(i.xmodem))
[Stack]
- Max Depth = 72
 - Call Chain = xmodem ⇒ W25Q32_PageWrite ⇒ W25Q32_Enable ⇒ W25Q32_WaitBusy ⇒ SPI0_ReadWriteByte
 
[Calls]- >>   task_fwdgt_reload
 - >>   usart_data_transmit
 - >>   gettick
 - >>   delay_1ms
 - >>   W25Q32_PageWrite
 - >>   W25Q32_Erase64K
 - >>   Xmodem_CRC16
 - >>   __aeabi_memclr
 - >>   __aeabi_memcpy
 
[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]
- Max Depth = 8
 - Call Chain = system_clock_config
 
[Calls]- >>   system_clock_108m_hxtal
 
[Called By]
NVIC_SetPriority (Thumb, 32 bytes, Stack size 8 bytes, systick.o(i.NVIC_SetPriority))
[Stack]
- Max Depth = 8
 - Call Chain = NVIC_SetPriority
 
[Called By]
checksum (Thumb, 66 bytes, Stack size 16 bytes, parsedevicemessage.o(i.checksum))
[Stack]
- Max Depth = 16
 - Call Chain = checksum
 
[Called By]
extract_data_from_buffer (Thumb, 78 bytes, Stack size 32 bytes, parsedevicemessage.o(i.extract_data_from_buffer))
[Stack]
- Max Depth = 296
 - Call Chain = extract_data_from_buffer ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
 
[Calls]- >>   __0sscanf
 - >>   strchr
 - >>   strstr
 
[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]
- >>   dma_channel_enable
 - >>   dma_channel_disable
 - >>   dma_memory_to_memory_disable
 - >>   dma_interrupt_enable
 - >>   dma_init
 - >>   dma_deinit
 - >>   dma_circulation_disable
 
buffer_skip_whitespace (Thumb, 72 bytes, Stack size 0 bytes, cjson.o(i.buffer_skip_whitespace))
[Called By]
- >>   cJSON_ParseWithLengthOpts
 - >>   parse_object
 - >>   parse_array
 
cJSON_New_Item (Thumb, 26 bytes, Stack size 16 bytes, cjson.o(i.cJSON_New_Item))
[Stack]
- Max Depth = 16
 - Call Chain = cJSON_New_Item
 
[Calls]
[Called By]- >>   cJSON_ParseWithLengthOpts
 - >>   parse_object
 - >>   parse_array
 
case_insensitive_strcmp (Thumb, 72 bytes, Stack size 16 bytes, cjson.o(i.case_insensitive_strcmp))
[Stack]
- Max Depth = 16
 - Call Chain = case_insensitive_strcmp
 
[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]
- Max Depth = 40
 - Call Chain = get_object_item ⇒ case_insensitive_strcmp
 
[Calls]- >>   case_insensitive_strcmp
 - >>   strcmp
 
[Called By]- >>   cJSON_GetObjectItemCaseSensitive
 
parse_array (Thumb, 248 bytes, Stack size 24 bytes, cjson.o(i.parse_array))
[Stack]
- Max Depth = 40 + In Cycle
 - Call Chain = parse_array ⇒  parse_value (Cycle)
 
[Calls]- >>   cJSON_Delete
 - >>   parse_value
 - >>   cJSON_New_Item
 - >>   buffer_skip_whitespace
 
[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]
- Max Depth = 312
 - Call Chain = parse_number ⇒ strtod ⇒ __strtod_int ⇒ _local_sscanf ⇒ _scanf_real
 
[Calls]- >>   __aeabi_d2iz
 - >>   __aeabi_cdrcmple
 - >>   __aeabi_cdcmple
 - >>   get_decimal_point
 - >>   strtod
 
[Called By]
parse_object (Thumb, 318 bytes, Stack size 24 bytes, cjson.o(i.parse_object))
[Stack]
- Max Depth = 120 + In Cycle
 - Call Chain = parse_object ⇒  parse_value (Cycle)
 
[Calls]- >>   cJSON_Delete
 - >>   parse_value
 - >>   parse_string
 - >>   cJSON_New_Item
 - >>   buffer_skip_whitespace
 
[Called By]
parse_string (Thumb, 396 bytes, Stack size 40 bytes, cjson.o(i.parse_string))
[Stack]
- Max Depth = 96
 - Call Chain = parse_string ⇒ utf16_literal_to_utf8
 
[Calls]
[Called By]- >>   parse_value
 - >>   parse_object
 
parse_value (Thumb, 290 bytes, Stack size 16 bytes, cjson.o(i.parse_value))
[Stack]
- Max Depth = 328
 - Call Chain = parse_value ⇒ parse_number ⇒ strtod ⇒ __strtod_int ⇒ _local_sscanf ⇒ _scanf_real
 
[Calls]- >>   parse_string
 - >>   parse_object
 - >>   parse_number
 - >>   parse_array
 - >>   strncmp
 
[Called By]- >>   cJSON_ParseWithLengthOpts
 - >>   parse_object
 - >>   parse_array
 
skip_utf8_bom (Thumb, 56 bytes, Stack size 8 bytes, cjson.o(i.skip_utf8_bom))
[Stack]
- Max Depth = 20
 - Call Chain = skip_utf8_bom ⇒ strncmp
 
[Calls]
[Called By]- >>   cJSON_ParseWithLengthOpts
 
utf16_literal_to_utf8 (Thumb, 300 bytes, Stack size 56 bytes, cjson.o(i.utf16_literal_to_utf8))
[Stack]
- Max Depth = 56
 - Call Chain = utf16_literal_to_utf8
 
[Calls]
[Called By]
dlt645_hw_read (Thumb, 92 bytes, Stack size 24 bytes, dlt645_port.o(i.dlt645_hw_read))
[Stack]
- Max Depth = 24
 - Call Chain = dlt645_hw_read
 
[Calls]- >>   gettick
 - >>   __aeabi_memcpy
 
[Address Reference Count : 1]
dlt645_hw_write (Thumb, 92 bytes, Stack size 24 bytes, dlt645_port.o(i.dlt645_hw_write))
[Stack]
- Max Depth = 32
 - Call Chain = dlt645_hw_write ⇒ usart_flag_get
 
[Calls]- >>   gpio_bit_set
 - >>   usart_flag_get
 - >>   usart_data_transmit
 - >>   gpio_bit_reset
 - >>   __aeabi_memclr4
 
[Address Reference Count : 1]
dlt645_1997_parsing_data (Thumb, 206 bytes, Stack size 24 bytes, dlt645_1997.o(i.dlt645_1997_parsing_data))
[Stack]
- Max Depth = 416
 - Call Chain = dlt645_1997_parsing_data ⇒ dlt645_data_parse_by_format_to_float ⇒ data_package_translate_to_int ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
 
[Calls]- >>   dlt645_data_parse_by_format_to_float
 
[Called By]
_fp_digits (Thumb, 366 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)
[Calls]
- >>   __aeabi_ddiv
 - >>   __aeabi_dadd
 - >>   __aeabi_dmul
 - >>   __aeabi_cdrcmple
 - >>   __aeabi_uldivmod
 - >>   __aeabi_d2ulz
 
[Called By]
_printf_core (Thumb, 1744 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
[Calls]
- >>   __aeabi_uldivmod
 - >>   __aeabi_uidivmod
 - >>   _printf_pre_padding
 - >>   _printf_post_padding
 - >>   _fp_digits
 
[Called By]- >>   __0vsnprintf
 - >>   __0sprintf
 - >>   __0printf
 
_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]
-  printfa.o(i.__0vsnprintf)
 
_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]
- Max Depth = 24
 - Call Chain = internal_alloc
 
[Calls]
[Called By]
_fp_value (Thumb, 296 bytes, Stack size 64 bytes, scanf_fp.o(.text), UNUSED)
[Calls]
- >>   __aeabi_ddiv
 - >>   __aeabi_dmul
 - >>   __aeabi_ul2d
 
[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]
- Max Depth = 160
 - Call Chain = _local_sscanf ⇒ _scanf_real
 
[Calls]
[Called By]
Undefined Global Symbols