parse_array ⇒ parse_value
Function Pointers
- ADC1_2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- ADC3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- BusFault_Handler from stm32f1xx_it.o(i.BusFault_Handler) referenced from startup_stm32f103xe.o(RESET)
- CAN1_RX1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- CAN1_SCE_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA1_Channel1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA1_Channel2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA1_Channel3_IRQHandler from stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- DMA1_Channel4_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA1_Channel5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA1_Channel6_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA1_Channel7_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA2_Channel1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA2_Channel2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DMA2_Channel3_IRQHandler from stm32f1xx_it.o(i.DMA2_Channel3_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- DMA2_Channel4_5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- DebugMon_Handler from stm32f1xx_it.o(i.DebugMon_Handler) referenced from startup_stm32f103xe.o(RESET)
- EXTI0_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- EXTI15_10_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- EXTI1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- EXTI2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- EXTI3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- EXTI4_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- EXTI9_5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- FLASH_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- FSMC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- HardFault_Handler from stm32f1xx_it.o(i.HardFault_Handler) referenced from startup_stm32f103xe.o(RESET)
- I2C1_ER_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- I2C1_EV_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- I2C2_ER_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- I2C2_EV_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- MemManage_Handler from stm32f1xx_it.o(i.MemManage_Handler) referenced from startup_stm32f103xe.o(RESET)
- NMI_Handler from stm32f1xx_it.o(i.NMI_Handler) referenced from startup_stm32f103xe.o(RESET)
- PVD_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- PendSV_Handler from port.o(.emb_text) referenced from startup_stm32f103xe.o(RESET)
- RCC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- RTC_Alarm_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- RTC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- Reset_Handler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- SDIO_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- SPI1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- SPI2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- SPI3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- SVC_Handler from port.o(.emb_text) referenced from startup_stm32f103xe.o(RESET)
- StartDefaultTask from freertos.o(i.StartDefaultTask) referenced from freertos.o(i.MX_FREERTOS_Init)
- SysTick_Handler from port.o(i.SysTick_Handler) referenced from startup_stm32f103xe.o(RESET)
- SystemInit from system_stm32f1xx.o(i.SystemInit) referenced from startup_stm32f103xe.o(.text)
- TAMPER_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM1_BRK_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM1_CC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM1_TRG_COM_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM1_UP_IRQHandler from stm32f1xx_it.o(i.TIM1_UP_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- TIM2_IRQHandler from stm32f1xx_it.o(i.TIM2_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- TIM3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM4_IRQHandler from stm32f1xx_it.o(i.TIM4_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- TIM5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM6_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM7_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM8_BRK_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM8_CC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM8_TRG_COM_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- TIM8_UP_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- Task_communication from freertos.o(i.Task_communication) referenced from freertos.o(i.MX_FREERTOS_Init)
- Task_ec800_upload from freertos.o(i.Task_ec800_upload) referenced from freertos.o(i.MX_FREERTOS_Init)
- Time2_Callback from freertos.o(i.Time2_Callback) referenced from freertos.o(i.MX_FREERTOS_Init)
- TimerCallback from cmsis_os2.o(i.TimerCallback) referenced from cmsis_os2.o(i.osTimerNew)
- UART4_IRQHandler from stm32f1xx_it.o(i.UART4_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- UART5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- UART_DMAAbortOnError from stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) referenced from stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler)
- UART_DMAError from stm32f1xx_hal_uart.o(i.UART_DMAError) referenced from stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
- UART_DMAReceiveCplt from stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) referenced from stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
- UART_DMARxHalfCplt from stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) referenced from stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
- USART1_IRQHandler from stm32f1xx_it.o(i.USART1_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- USART2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- USART3_IRQHandler from stm32f1xx_it.o(i.USART3_IRQHandler) referenced from startup_stm32f103xe.o(RESET)
- USBWakeUp_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- USB_HP_CAN1_TX_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- USB_LP_CAN1_RX0_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- UsageFault_Handler from stm32f1xx_it.o(i.UsageFault_Handler) referenced from startup_stm32f103xe.o(RESET)
- WWDG_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
- __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f103xe.o(.text)
- _sbackspace from _sgetc.o(.text) referenced from __0sscanf.o(.text)
- _scanf_char_input from scanf_char.o(.text) referenced from scanf_char.o(.text)
- _sgetc from _sgetc.o(.text) referenced from __0sscanf.o(.text)
- _snputc from printfa.o(i._snputc) referenced from printfa.o(i.__0snprintf)
- _sputc from printfa.o(i._sputc) referenced from printfa.o(i.__0sprintf)
- fputc from main.o(i.fputc) referenced from printfa.o(i.__0printf)
- free from malloc.o(i.free) referenced 2 times from cjson.o(.data)
- isspace from isspace_o.o(.text) referenced from scanf_char.o(.text)
- main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
- malloc from malloc.o(i.malloc) referenced 2 times from cjson.o(.data)
- prvIdleTask from tasks.o(i.prvIdleTask) referenced from tasks.o(i.vTaskStartScheduler)
- prvTaskExitError from port.o(i.prvTaskExitError) referenced from port.o(i.pxPortInitialiseStack)
- prvTimerTask from timers.o(i.prvTimerTask) referenced from timers.o(i.xTimerCreateTimerTask)
Global Symbols
__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]
- startup_stm32f103xe.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))
SVC_Handler (Thumb, 32 bytes, Stack size 0 bytes, port.o(.emb_text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
__asm___6_port_c_39a90d8d__prvStartFirstTask (Thumb, 28 bytes, Stack size 0 bytes, port.o(.emb_text))
[Called By]
PendSV_Handler (Thumb, 72 bytes, Stack size 0 bytes, port.o(.emb_text))
[Stack]
- Max Depth = 8
- Call Chain = PendSV_Handler ⇒ vTaskSwitchContext
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
vPortGetIPSR (Thumb, 6 bytes, Stack size 0 bytes, port.o(.emb_text))
[Called By]
- >> vPortValidateInterruptPriority
Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Calls]
[Called By]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
ADC3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA1_Channel4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA1_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA1_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA1_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA2_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA2_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA2_Channel4_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
FSMC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
RTC_Alarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
SDIO_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
SPI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM1_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM1_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM8_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM8_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM8_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
TIM8_UP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
UART5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
USBWakeUp_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
USB_HP_CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
USB_LP_CAN1_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
__aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
[Called By]
- >> __aeabi_d2iz
- >> HAL_FLASH_Program
- >> _dsqrt
- >> __aeabi_uldivmod
- >> _double_epilogue
- >> __aeabi_d2ulz
_ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
__rt_ctype_table (Thumb, 4 bytes, Stack size 0 bytes, ctype_o.o(.text))
[Called By]
- >> EC800_getIMSI
- >> isspace
- >> strtol
isspace (Thumb, 18 bytes, Stack size 8 bytes, isspace_o.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = isspace
[Calls]
[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]
- >> print_object
- >> print_array
- >> ensure
- >> cJSON_strdup
- >> prvCopyDataToQueue
- >> prvCopyDataFromQueue
- >> extract_data_as_uint32
__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]
- >> prvInitialiseNewTask
- >> memset
- >> __aeabi_memclr
- >> UpdateFirmware
__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]- >> EC800_extractSignal
- >> EC800_stateTransition_use
- >> EC800_readGnssDate
- >> EC800M_link
- >> EC800M_RecRespond
- >> extract_data_as_uint32
__aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
[Called By]
- >> print_object
- >> print_array
- >> cJSON_New_Item
- >> EC800_stateTransition_use
- >> SystemClock_Config
- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
- >> EC800_subscribeToTopic
- >> EC800_publishMessage
- >> EC800M_link
- >> UpdateFirmware
- >> EC800_LogIn_FTP
- >> EC800_FTP_DownloadText
__aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
memset (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]- >> NMEA_GNRMC_Analysis
- >> EC800_readGnssDate
- >> EC800_getIMSI
- >> EC800M_link
- >> EC800M_RecRespond
- >> extract_data_as_uint32
strncpy (Thumb, 24 bytes, Stack size 8 bytes, strncpy.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = strncpy
[Called By]
strchr (Thumb, 20 bytes, Stack size 0 bytes, strchr.o(.text))
[Called By]
- >> print_string_ptr
- >> EC800_respondParse
strlen (Thumb, 14 bytes, Stack size 0 bytes, strlen.o(.text))
[Called By]
- >> update
- >> print_object
- >> print_array
- >> cJSON_strdup
- >> EC800_stateTransition_use
- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
- >> EC800_getIMSI
- >> Accept_and_Compare_Str
- >> extract_data_as_uint32
strcpy (Thumb, 18 bytes, Stack size 0 bytes, strcpy.o(.text))
[Called By]
- >> print_value
- >> print_string_ptr
- >> print_object
- >> print_array
strncmp (Thumb, 30 bytes, Stack size 12 bytes, strncmp.o(.text))
[Stack]
- Max Depth = 12
- Call Chain = strncmp
[Called By]
strtok (Thumb, 62 bytes, Stack size 16 bytes, strtok.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = strtok
[Called By]
__0sscanf (Thumb, 48 bytes, Stack size 72 bytes, __0sscanf.o(.text))
[Stack]
- Max Depth = 216
- Call Chain = __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_int
[Calls]
[Called By]- >> EC800_FTP_DownloadText
_scanf_int (Thumb, 332 bytes, Stack size 56 bytes, _scanf_int.o(.text))
[Stack]
- Max Depth = 56
- Call Chain = _scanf_int
[Calls]
[Called By]
atoi (Thumb, 26 bytes, Stack size 16 bytes, atoi.o(.text))
[Stack]
- Max Depth = 88
- Call Chain = atoi ⇒ strtol ⇒ _strtoul
[Calls]- >> strtol
- >> __aeabi_errno_addr
[Called By]- >> EC800_extractSignal
- >> parseServerTime
__aeabi_fadd (Thumb, 164 bytes, Stack size 16 bytes, fadd.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = __aeabi_fadd ⇒ _float_epilogue
[Calls]- >> _float_round
- >> _float_epilogue
[Called By]- >> NMEA_GNRMC_Analysis
- >> __aeabi_fsub
- >> atk_ms6050_dmp_get_data
- >> __aeabi_frsub
__aeabi_fsub (Thumb, 6 bytes, Stack size 0 bytes, fadd.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = __aeabi_fsub ⇒ __aeabi_fadd ⇒ _float_epilogue
[Calls]
[Called By]- >> isTurning
- >> atk_ms6050_dmp_get_data
__aeabi_frsub (Thumb, 6 bytes, Stack size 0 bytes, fadd.o(.text), UNUSED)
[Calls]
__aeabi_fmul (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_fmul
[Called By]- >> NMEA_GNRMC_Analysis
- >> atk_ms6050_dmp_get_data
__aeabi_fdiv (Thumb, 124 bytes, Stack size 8 bytes, fdiv.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_fdiv
[Calls]
[Called By]- >> NMEA_GNRMC_Analysis
- >> atk_ms6050_dmp_get_data
__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_dsub
- >> parse_number
- >> __aeabi_drsub
- >> lowPassFilter
- >> getAngularVelocity
- >> _fp_digits
- >> pow
- >> floor
- >> asin
- >> __kernel_poly
- >> __mathlib_dbl_infnan2
- >> atan
__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]- >> print_number
- >> parse_number
- >> pow
- >> atan2
- >> asin
- >> atan
__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]- >> parse_number
- >> lowPassFilter
- >> atk_ms6050_dmp_get_data
- >> _fp_digits
- >> pow
- >> asin
- >> __kernel_poly
- >> atan
__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]- >> _fp_digits
- >> pow
- >> atan2
- >> asin
- >> __mathlib_dbl_invalid
- >> __mathlib_dbl_divzero
- >> atan
__aeabi_i2f (Thumb, 18 bytes, Stack size 0 bytes, fflti.o(.text))
[Stack]
- Max Depth = 4
- Call Chain = __aeabi_i2f ⇒ _float_epilogue
[Calls]
[Called By]- >> atk_ms6050_dmp_get_data
__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]- >> print_number
- >> parse_number
- >> EC800_uploadRealDate
- >> getAngularVelocity
- >> pow
__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]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
__aeabi_f2uiz (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
[Called By]
__aeabi_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = __aeabi_d2iz
[Calls]
[Called By]- >> cJSON_CreateNumber
- >> parse_number
__aeabi_f2d (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
[Called By]
- >> isTurning
- >> lowPassFilter
- >> atk_ms6050_dmp_get_data
__aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text))
[Called By]
__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]
- >> print_number
- >> isTurning
- >> _fp_digits
- >> pow
- >> floor
__aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_d2f
[Calls]
[Called By]- >> isTurning
- >> lowPassFilter
- >> getAngularVelocity
- >> atk_ms6050_dmp_get_data
__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_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)
_chval (Thumb, 28 bytes, Stack size 0 bytes, _chval.o(.text))
[Called By]
- >> _strtoul
- >> _scanf_int
__vfscanf_char (Thumb, 20 bytes, Stack size 0 bytes, scanf_char.o(.text))
[Stack]
- Max Depth = 144
- Call Chain = __vfscanf_char ⇒ __vfscanf ⇒ _scanf_int
[Calls]
[Called By]
_sgetc (Thumb, 30 bytes, Stack size 0 bytes, _sgetc.o(.text))
[Address Reference Count : 1]
_sbackspace (Thumb, 34 bytes, Stack size 0 bytes, _sgetc.o(.text))
[Address Reference Count : 1]
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]
__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]
- >> __aeabi_fdiv
- >> __aeabi_fadd
- >> __aeabi_d2f
_float_epilogue (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text))
[Stack]
- Max Depth = 4
- Call Chain = _float_epilogue
[Called By]- >> __aeabi_ui2f
- >> __aeabi_fadd
- >> __aeabi_i2f
_double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = _double_round
[Called By]- >> __aeabi_dadd
- >> __aeabi_ddiv
- >> _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_i2d
- >> __aeabi_dmul
- >> __aeabi_dadd
- >> __aeabi_ui2d
__ARM_scalbn (Thumb, 46 bytes, Stack size 16 bytes, dscalb.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = __ARM_scalbn
[Called By]- >> pow
- >> asin
- >> __mathlib_dbl_underflow
- >> __mathlib_dbl_overflow
- >> __mathlib_dbl_infnan
- >> atan
scalbn (Thumb, 0 bytes, Stack size 16 bytes, dscalb.o(.text), UNUSED)
_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]
__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 = 144
- Call Chain = __vfscanf ⇒ _scanf_int
[Calls]
[Called By]
_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]
__decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
__decompress1 (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
Accept_and_Compare_Str (Thumb, 144 bytes, Stack size 16 bytes, ec800.o(i.Accept_and_Compare_Str))
[Stack]
- Max Depth = 100
- Call Chain = Accept_and_Compare_Str ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> osDelay
- >> HAL_UART_Receive_DMA
- >> search_sequence
- >> strlen
[Called By]- >> EC800_subscribeToTopic
- >> EC800_publishMessage
- >> EC800M_link
- >> UpdateFirmware
- >> EC800_LogIn_FTP
- >> EC800_FTP_DownloadText
BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.BusFault_Handler))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
DMA1_Channel3_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler))
[Stack]
- Max Depth = 24
- Call Chain = DMA1_Channel3_IRQHandler ⇒ HAL_DMA_IRQHandler
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
DMA2_Channel3_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.DMA2_Channel3_IRQHandler))
[Stack]
- Max Depth = 24
- Call Chain = DMA2_Channel3_IRQHandler ⇒ HAL_DMA_IRQHandler
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
DWT_Delay_us (Thumb, 36 bytes, Stack size 8 bytes, atk_ms6050_iic.o(i.DWT_Delay_us))
[Stack]
- Max Depth = 8
- Call Chain = DWT_Delay_us
[Called By]
DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.DebugMon_Handler))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
EC800M_RecRespond (Thumb, 98 bytes, Stack size 16 bytes, ec800.o(i.EC800M_RecRespond))
[Stack]
- Max Depth = 100
- Call Chain = EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> osDelay
- >> HAL_UART_Receive_DMA
- >> strstr
- >> __aeabi_memclr
[Called By]- >> EC800_publishMessage
- >> EC800_gnss_init
- >> EC800M_link
- >> EC800_LogIn_FTP
EC800M_SendCommand (Thumb, 30 bytes, Stack size 16 bytes, ec800.o(i.EC800M_SendCommand))
[Stack]
- Max Depth = 80
- Call Chain = EC800M_SendCommand ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
[Calls]- >> HAL_UART_Transmit
- >> EC800_calculateStringLength
[Called By]- >> EC800_subscribeToTopic
- >> EC800_readGnssDate
- >> EC800_publishMessage
- >> EC800_gnss_init
- >> EC800_getIMSI
- >> EC800M_link
- >> UpdateFirmware
- >> EC800_LogIn_FTP
- >> EC800_FTP_DownloadText
EC800M_link (Thumb, 1712 bytes, Stack size 120 bytes, ec800.o(i.EC800M_link))
[Stack]
- Max Depth = 252
- Call Chain = EC800M_link ⇒ EC800_getIMSI ⇒ EC800_recEnable ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> EC800_extractSignal
- >> EC800_recEnable
- >> EC800_getIMSI
- >> EC800M_SendCommand
- >> EC800M_RecRespond
- >> Accept_and_Compare_Str
- >> __2sprintf
- >> __2printf
- >> strstr
- >> __aeabi_memclr4
- >> __aeabi_memclr
[Called By]- >> EC800_stateTransition_use
EC800_FTP_DownloadText (Thumb, 246 bytes, Stack size 120 bytes, ec800_ftp_ota.o(i.EC800_FTP_DownloadText))
[Stack]
- Max Depth = 856
- Call Chain = EC800_FTP_DownloadText ⇒ UpdateFirmware ⇒ writeFlashPage ⇒ FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> EC800M_SendCommand
- >> Accept_and_Compare_Str
- >> Write_paramArea
- >> __2snprintf
- >> __2printf
- >> __aeabi_memclr4
- >> UpdateFirmware
- >> __0sscanf
[Called By]
EC800_FTP_OTA_Upgrade (Thumb, 96 bytes, Stack size 8 bytes, ec800_ftp_ota.o(i.EC800_FTP_OTA_Upgrade))
[Stack]
- Max Depth = 864
- Call Chain = EC800_FTP_OTA_Upgrade ⇒ EC800_FTP_DownloadText ⇒ UpdateFirmware ⇒ writeFlashPage ⇒ FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> osDelay
- >> HAL_NVIC_SystemReset
- >> EC800_LogIn_FTP
- >> EC800_FTP_DownloadText
[Called By]- >> task_communication_content
EC800_LogIn_FTP (Thumb, 412 bytes, Stack size 120 bytes, ec800_ftp_ota.o(i.EC800_LogIn_FTP))
[Stack]
- Max Depth = 220
- Call Chain = EC800_LogIn_FTP ⇒ EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> EC800M_SendCommand
- >> EC800M_RecRespond
- >> Accept_and_Compare_Str
- >> __2snprintf
- >> __2printf
- >> __aeabi_memclr4
[Called By]
EC800_calculateStringLength (Thumb, 16 bytes, Stack size 0 bytes, ec800.o(i.EC800_calculateStringLength))
[Called By]
EC800_getIMSI (Thumb, 152 bytes, Stack size 40 bytes, ec800.o(i.EC800_getIMSI))
[Stack]
- Max Depth = 132
- Call Chain = EC800_getIMSI ⇒ EC800_recEnable ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> EC800_recEnable
- >> EC800M_SendCommand
- >> __2printf
- >> strlen
- >> strstr
- >> __aeabi_memcpy4
- >> __rt_ctype_table
[Called By]
EC800_gnss_init (Thumb, 438 bytes, Stack size 16 bytes, ec800.o(i.EC800_gnss_init))
[Stack]
- Max Depth = 116
- Call Chain = EC800_gnss_init ⇒ EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> EC800M_SendCommand
- >> EC800M_RecRespond
- >> __2printf
[Called By]- >> EC800_stateTransition_use
EC800_mktime (Thumb, 94 bytes, Stack size 20 bytes, ec800.o(i.EC800_mktime))
[Stack]
- Max Depth = 20
- Call Chain = EC800_mktime
[Called By]- >> parseServerTime
- >> EC800_readGnssDate
EC800_parseRespondTime (Thumb, 98 bytes, Stack size 16 bytes, ec800.o(i.EC800_parseRespondTime))
[Stack]
- Max Depth = 152
- Call Chain = EC800_parseRespondTime ⇒ parseServerTime ⇒ atoi ⇒ strtol ⇒ _strtoul
[Calls]- >> cJSON_GetObjectItem
- >> parseServerTime
- >> __2printf
[Called By]
EC800_publishMessage (Thumb, 166 bytes, Stack size 128 bytes, ec800.o(i.EC800_publishMessage))
[Stack]
- Max Depth = 228
- Call Chain = EC800_publishMessage ⇒ EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> EC800M_SendCommand
- >> EC800M_RecRespond
- >> Accept_and_Compare_Str
- >> __2sprintf
- >> __2printf
- >> __aeabi_memclr4
[Called By]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
EC800_readGnssDate (Thumb, 236 bytes, Stack size 24 bytes, ec800.o(i.EC800_readGnssDate))
[Stack]
- Max Depth = 168
- Call Chain = EC800_readGnssDate ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> osMutexRelease
- >> osMutexAcquire
- >> NMEA_GNRMC_Analysis
- >> utc_to_local_time
- >> EC800_recEnable
- >> EC800_mktime
- >> EC800M_SendCommand
- >> __2printf
- >> strstr
- >> __aeabi_memclr
[Called By]- >> EC800_stateTransition_use
EC800_recEnable (Thumb, 48 bytes, Stack size 8 bytes, ec800.o(i.EC800_recEnable))
[Stack]
- Max Depth = 92
- Call Chain = EC800_recEnable ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> osDelay
- >> HAL_UART_Receive_DMA
[Called By]- >> EC800_readGnssDate
- >> EC800_getIMSI
- >> EC800M_link
EC800_respondParse (Thumb, 188 bytes, Stack size 24 bytes, ec800.o(i.EC800_respondParse))
[Stack]
- Max Depth = 400
- Call Chain = EC800_respondParse ⇒ cJSON_Parse ⇒ cJSON_ParseWithOpts ⇒ parse_value ⇒ parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> cJSON_Parse
- >> cJSON_GetObjectItem
- >> cJSON_Delete
- >> parse_Login_Response
- >> parse_Latitude_Longitude_Data
- >> EC800_respondUpdateDate
- >> EC800_respondRealDate
- >> EC800_parseRespondTime
- >> __2printf
- >> strchr
[Called By]- >> EC800_stateTransition_use
EC800_respondRealDate (Thumb, 56 bytes, Stack size 16 bytes, ec800.o(i.EC800_respondRealDate))
[Stack]
- Max Depth = 48
- Call Chain = EC800_respondRealDate ⇒ cJSON_GetObjectItem ⇒ cJSON_strcasecmp
[Calls]- >> cJSON_GetObjectItem
- >> __2printf
[Called By]
EC800_respondUpdateDate (Thumb, 90 bytes, Stack size 24 bytes, ec800.o(i.EC800_respondUpdateDate))
[Stack]
- Max Depth = 56
- Call Chain = EC800_respondUpdateDate ⇒ cJSON_GetObjectItem ⇒ cJSON_strcasecmp
[Calls]- >> cJSON_GetObjectItem
- >> __2printf
[Called By]
EC800_stateTransition_use (Thumb, 590 bytes, Stack size 128 bytes, ec800.o(i.EC800_stateTransition_use))
[Stack]
- Max Depth = 528
- Call Chain = EC800_stateTransition_use ⇒ EC800_respondParse ⇒ cJSON_Parse ⇒ cJSON_ParseWithOpts ⇒ parse_value ⇒ parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> HAL_UART_Transmit
- >> HAL_UART_Receive_DMA
- >> HAL_UART_DMAStop
- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
- >> EC800_subscribeToTopic
- >> EC800_respondParse
- >> EC800_readGnssDate
- >> EC800_gnss_init
- >> EC800M_link
- >> __2sprintf
- >> strlen
- >> __aeabi_memclr4
- >> __aeabi_memclr
[Called By]
EC800_subscribeToTopic (Thumb, 74 bytes, Stack size 112 bytes, ec800.o(i.EC800_subscribeToTopic))
[Stack]
- Max Depth = 212
- Call Chain = EC800_subscribeToTopic ⇒ Accept_and_Compare_Str ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> EC800M_SendCommand
- >> Accept_and_Compare_Str
- >> __2sprintf
- >> __2printf
- >> __aeabi_memclr4
[Called By]- >> EC800_stateTransition_use
EC800_time_calibration (Thumb, 260 bytes, Stack size 88 bytes, ec800.o(i.EC800_time_calibration))
[Stack]
- Max Depth = 316
- Call Chain = EC800_time_calibration ⇒ EC800_publishMessage ⇒ EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> cJSON_Print
- >> cJSON_Delete
- >> cJSON_CreateString
- >> cJSON_CreateObject
- >> cJSON_CreateNumber
- >> cJSON_AddItemToObject
- >> __aeabi_ui2d
- >> EC800_publishMessage
- >> __2sprintf
- >> strlen
- >> __aeabi_memclr4
- >> free
[Called By]- >> EC800_stateTransition_use
EC800_uploadRealDate (Thumb, 644 bytes, Stack size 96 bytes, ec800.o(i.EC800_uploadRealDate))
[Stack]
- Max Depth = 324
- Call Chain = EC800_uploadRealDate ⇒ EC800_publishMessage ⇒ EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> __aeabi_i2d
- >> cJSON_Print
- >> cJSON_Delete
- >> cJSON_CreateString
- >> cJSON_CreateObject
- >> cJSON_CreateNumber
- >> cJSON_CreateArray
- >> cJSON_AddItemToObject
- >> cJSON_AddItemToArray
- >> __aeabi_ui2d
- >> EC800_publishMessage
- >> __2sprintf
- >> strlen
- >> __aeabi_memclr4
- >> free
[Called By]- >> EC800_stateTransition_use
Error_Handler (Thumb, 6 bytes, Stack size 0 bytes, main.o(i.Error_Handler))
[Called By]
- >> HAL_UART_MspInit
- >> MX_USART3_UART_Init
- >> MX_USART1_UART_Init
- >> MX_UART4_Init
- >> MX_TIM4_Init
- >> MX_TIM2_Init
- >> SystemClock_Config
FLASH_Erase (Thumb, 46 bytes, Stack size 40 bytes, flash.o(i.FLASH_Erase))
[Stack]
- Max Depth = 80
- Call Chain = FLASH_Erase ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation
[Calls]- >> HAL_FLASHEx_Erase
- >> HAL_FLASH_Unlock
- >> HAL_FLASH_Lock
[Called By]- >> Write_paramArea
- >> writeFlashPage
FLASH_PageErase (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase))
[Called By]
FLASH_WaitForLastOperation (Thumb, 106 bytes, Stack size 16 bytes, stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation))
[Stack]
- Max Depth = 16
- Call Chain = FLASH_WaitForLastOperation
[Calls]- >> FLASH_SetErrorCode
- >> HAL_GetTick
[Called By]- >> HAL_FLASHEx_Erase
- >> HAL_FLASH_Program
FLASH_Write (Thumb, 92 bytes, Stack size 24 bytes, flash.o(i.FLASH_Write))
[Stack]
- Max Depth = 88
- Call Chain = FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> HAL_FLASH_Unlock
- >> HAL_FLASH_Program
- >> HAL_FLASH_Lock
- >> xTaskResumeAll
- >> vTaskSuspendAll
[Called By]- >> Write_paramArea
- >> writeFlashPage
GetUniqueID (Thumb, 26 bytes, Stack size 0 bytes, flash.o(i.GetUniqueID))
[Called By]
HAL_DMA_Abort (Thumb, 86 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort))
[Called By]
- >> HAL_UART_IRQHandler
- >> HAL_UART_DMAStop
HAL_DMA_Abort_IT (Thumb, 414 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT))
[Stack]
- Max Depth = 16
- Call Chain = HAL_DMA_Abort_IT
[Called By]
HAL_DMA_IRQHandler (Thumb, 910 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler))
[Stack]
- Max Depth = 16
- Call Chain = HAL_DMA_IRQHandler
[Called By]- >> DMA2_Channel3_IRQHandler
- >> DMA1_Channel3_IRQHandler
HAL_DMA_Init (Thumb, 132 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Init))
[Called By]
HAL_DMA_Start_IT (Thumb, 156 bytes, Stack size 24 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT))
[Stack]
- Max Depth = 36
- Call Chain = HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]
[Called By]- >> UART_Start_Receive_DMA
HAL_Delay (Thumb, 36 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_Delay))
[Stack]
- Max Depth = 16
- Call Chain = HAL_Delay
[Calls]
[Called By]
HAL_FLASHEx_Erase (Thumb, 168 bytes, Stack size 24 bytes, stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase))
[Stack]
- Max Depth = 40
- Call Chain = HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation
[Calls]- >> FLASH_MassErase
- >> FLASH_PageErase
- >> FLASH_WaitForLastOperation
[Called By]
HAL_FLASH_Lock (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_flash.o(i.HAL_FLASH_Lock))
[Called By]
- >> FLASH_Write
- >> FLASH_Erase
HAL_FLASH_Program (Thumb, 168 bytes, Stack size 48 bytes, stm32f1xx_hal_flash.o(i.HAL_FLASH_Program))
[Stack]
- Max Depth = 64
- Call Chain = HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> FLASH_Program_HalfWord
- >> FLASH_WaitForLastOperation
- >> __aeabi_llsr
[Called By]
HAL_FLASH_Unlock (Thumb, 36 bytes, Stack size 0 bytes, stm32f1xx_hal_flash.o(i.HAL_FLASH_Unlock))
[Called By]
- >> FLASH_Write
- >> FLASH_Erase
HAL_GPIO_Init (Thumb, 792 bytes, Stack size 36 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init))
[Stack]
- Max Depth = 36
- Call Chain = HAL_GPIO_Init
[Called By]- >> HAL_UART_MspInit
- >> MX_GPIO_Init
HAL_GPIO_ReadPin (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin))
[Called By]
- >> atk_ms6050_iic_wait_ack
- >> atk_ms6050_iic_read_byte
HAL_GPIO_TogglePin (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin))
[Stack]
- Max Depth = 8
- Call Chain = HAL_GPIO_TogglePin
[Called By]
HAL_GPIO_WritePin (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin))
[Called By]
- >> MX_GPIO_Init
- >> atk_ms6050_iic_nack
- >> atk_ms6050_iic_ack
- >> atk_ms6050_iic_wait_ack
- >> atk_ms6050_iic_stop
- >> atk_ms6050_iic_start
- >> atk_ms6050_iic_send_byte
- >> atk_ms6050_iic_read_byte
HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick))
[Called By]
- >> HAL_RCC_OscConfig
- >> HAL_RCC_ClockConfig
- >> HAL_UART_Transmit
- >> HAL_Delay
- >> FLASH_WaitForLastOperation
- >> UART_WaitOnFlagUntilTimeout
- >> atk_ms6050_get_clock_ms
HAL_IncTick (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick))
[Called By]
- >> HAL_TIM_PeriodElapsedCallback
HAL_Init (Thumb, 34 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init))
[Stack]
- Max Depth = 128
- Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_InitTick
- >> HAL_MspInit
- >> HAL_NVIC_SetPriorityGrouping
[Called By]
HAL_InitTick (Thumb, 138 bytes, Stack size 48 bytes, stm32f1xx_hal_timebase_tim.o(i.HAL_InitTick))
[Stack]
- Max Depth = 120
- Call Chain = HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_TIM_Base_Init
- >> HAL_NVIC_SetPriority
- >> HAL_NVIC_EnableIRQ
- >> HAL_TIM_Base_Start_IT
- >> HAL_RCC_GetPCLK2Freq
- >> HAL_RCC_GetClockConfig
[Called By]- >> HAL_RCC_ClockConfig
- >> HAL_Init
HAL_MspInit (Thumb, 86 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit))
[Stack]
- Max Depth = 56
- Call Chain = HAL_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]
[Called By]
HAL_NVIC_DisableIRQ (Thumb, 62 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ))
[Stack]
- Max Depth = 8
- Call Chain = HAL_NVIC_DisableIRQ
[Called By]- >> task_communication_content
HAL_NVIC_EnableIRQ (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ))
[Called By]
- >> HAL_InitTick
- >> HAL_UART_MspInit
- >> HAL_TIM_Base_MspInit
- >> MX_DMA_Init
HAL_NVIC_GetPriority (Thumb, 138 bytes, Stack size 28 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPriority))
[Stack]
- Max Depth = 28
- Call Chain = HAL_NVIC_GetPriority
[Called By]- >> HAL_TIM_PeriodElapsedCallback
HAL_NVIC_SetPriority (Thumb, 124 bytes, Stack size 40 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
[Stack]
- Max Depth = 48
- Call Chain = HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> __NVIC_SetPriority
- >> __NVIC_GetPriorityGrouping
[Called By]- >> HAL_InitTick
- >> HAL_MspInit
- >> HAL_UART_MspInit
- >> HAL_TIM_Base_MspInit
- >> MX_DMA_Init
HAL_NVIC_SetPriorityGrouping (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping))
[Called By]
HAL_NVIC_SystemReset (Thumb, 60 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SystemReset))
[Called By]
HAL_RCC_ClockConfig (Thumb, 376 bytes, Stack size 16 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
[Stack]
- Max Depth = 136
- Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_InitTick
- >> HAL_RCC_GetSysClockFreq
- >> HAL_GetTick
[Called By]
HAL_RCC_GetClockConfig (Thumb, 58 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig))
[Called By]
HAL_RCC_GetHCLKFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
[Called By]
- >> HAL_RCC_GetPCLK1Freq
- >> HAL_RCC_GetPCLK2Freq
HAL_RCC_GetPCLK1Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))
[Stack]
- Max Depth = 4
- Call Chain = HAL_RCC_GetPCLK1Freq
[Calls]
[Called By]
HAL_RCC_GetPCLK2Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))
[Stack]
- Max Depth = 4
- Call Chain = HAL_RCC_GetPCLK2Freq
[Calls]
[Called By]- >> HAL_InitTick
- >> UART_SetConfig
HAL_RCC_GetSysClockFreq (Thumb, 92 bytes, Stack size 16 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq))
[Stack]
- Max Depth = 16
- Call Chain = HAL_RCC_GetSysClockFreq
[Called By]
HAL_RCC_OscConfig (Thumb, 1114 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig))
[Stack]
- Max Depth = 32
- Call Chain = HAL_RCC_OscConfig ⇒ RCC_Delay
[Calls]- >> RCC_Delay
- >> HAL_GetTick
[Called By]
HAL_TIMEx_BreakCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback))
[Called By]
HAL_TIMEx_CommutCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback))
[Called By]
HAL_TIMEx_MasterConfigSynchronization (Thumb, 134 bytes, Stack size 12 bytes, stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization))
[Stack]
- Max Depth = 12
- Call Chain = HAL_TIMEx_MasterConfigSynchronization
[Called By]- >> MX_TIM4_Init
- >> MX_TIM2_Init
HAL_TIM_Base_Init (Thumb, 102 bytes, Stack size 8 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init))
[Stack]
- Max Depth = 72
- Call Chain = HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_TIM_Base_MspInit
- >> TIM_Base_SetConfig
[Called By]- >> HAL_InitTick
- >> MX_TIM4_Init
- >> MX_TIM2_Init
HAL_TIM_Base_MspInit (Thumb, 112 bytes, Stack size 16 bytes, tim.o(i.HAL_TIM_Base_MspInit))
[Stack]
- Max Depth = 64
- Call Chain = HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_NVIC_SetPriority
- >> HAL_NVIC_EnableIRQ
[Called By]
HAL_TIM_Base_Start_IT (Thumb, 122 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT))
[Called By]
- >> HAL_InitTick
- >> configureTimerForRunTimeStats
HAL_TIM_ConfigClockSource (Thumb, 268 bytes, Stack size 24 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_ConfigClockSource))
[Stack]
- Max Depth = 36
- Call Chain = HAL_TIM_ConfigClockSource ⇒ TIM_TI2_ConfigInputStage
[Calls]- >> TIM_TI2_ConfigInputStage
- >> TIM_TI1_ConfigInputStage
- >> TIM_ITRx_SetConfig
- >> TIM_ETR_SetConfig
[Called By]- >> MX_TIM4_Init
- >> MX_TIM2_Init
HAL_TIM_IC_CaptureCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback))
[Called By]
HAL_TIM_IRQHandler (Thumb, 406 bytes, Stack size 8 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_IRQHandler))
[Stack]
- Max Depth = 52
- Call Chain = HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ HAL_NVIC_GetPriority
[Calls]- >> HAL_TIM_PeriodElapsedCallback
- >> HAL_TIM_TriggerCallback
- >> HAL_TIM_PWM_PulseFinishedCallback
- >> HAL_TIM_OC_DelayElapsedCallback
- >> HAL_TIM_IC_CaptureCallback
- >> HAL_TIMEx_CommutCallback
- >> HAL_TIMEx_BreakCallback
[Called By]- >> TIM4_IRQHandler
- >> TIM2_IRQHandler
- >> TIM1_UP_IRQHandler
HAL_TIM_OC_DelayElapsedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback))
[Called By]
HAL_TIM_PWM_PulseFinishedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback))
[Called By]
HAL_TIM_PeriodElapsedCallback (Thumb, 76 bytes, Stack size 16 bytes, main.o(i.HAL_TIM_PeriodElapsedCallback))
[Stack]
- Max Depth = 44
- Call Chain = HAL_TIM_PeriodElapsedCallback ⇒ HAL_NVIC_GetPriority
[Calls]- >> HAL_NVIC_GetPriority
- >> HAL_IncTick
[Called By]
HAL_TIM_TriggerCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_TriggerCallback))
[Called By]
HAL_UARTEx_RxEventCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback))
[Called By]
- >> HAL_UART_IRQHandler
- >> UART_Receive_IT
- >> UART_DMARxHalfCplt
- >> UART_DMAReceiveCplt
HAL_UART_DMAStop (Thumb, 138 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop))
[Stack]
- Max Depth = 16
- Call Chain = HAL_UART_DMAStop
[Calls]- >> HAL_DMA_Abort
- >> UART_EndTxTransfer
- >> UART_EndRxTransfer
[Called By]- >> EC800_stateTransition_use
- >> USART3_IRQHandler
- >> UART4_IRQHandler
HAL_UART_ErrorCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback))
[Called By]
- >> HAL_UART_IRQHandler
- >> UART_DMAError
- >> UART_DMAAbortOnError
HAL_UART_IRQHandler (Thumb, 736 bytes, Stack size 40 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler))
[Stack]
- Max Depth = 64
- Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT
[Calls]- >> HAL_DMA_Abort_IT
- >> HAL_DMA_Abort
- >> HAL_UART_ErrorCallback
- >> HAL_UARTEx_RxEventCallback
- >> UART_Transmit_IT
- >> UART_Receive_IT
- >> UART_EndTransmit_IT
- >> UART_EndRxTransfer
[Called By]- >> USART3_IRQHandler
- >> USART1_IRQHandler
- >> UART4_IRQHandler
HAL_UART_Init (Thumb, 118 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init))
[Stack]
- Max Depth = 88
- Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_UART_MspInit
- >> UART_SetConfig
[Called By]- >> MX_USART3_UART_Init
- >> MX_USART1_UART_Init
- >> MX_UART4_Init
HAL_UART_MspInit (Thumb, 478 bytes, Stack size 32 bytes, usart.o(i.HAL_UART_MspInit))
[Stack]
- Max Depth = 80
- Call Chain = HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_DMA_Init
- >> HAL_NVIC_SetPriority
- >> HAL_NVIC_EnableIRQ
- >> HAL_GPIO_Init
- >> Error_Handler
[Called By]
HAL_UART_Receive_DMA (Thumb, 44 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA))
[Stack]
- Max Depth = 84
- Call Chain = HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> UART_Start_Receive_DMA
[Called By]- >> EC800_stateTransition_use
- >> USART3_IRQHandler
- >> UART4_IRQHandler
- >> EC800_recEnable
- >> EC800M_RecRespond
- >> Accept_and_Compare_Str
HAL_UART_RxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback))
[Called By]
- >> UART_Receive_IT
- >> UART_DMAReceiveCplt
HAL_UART_RxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback))
[Called By]
HAL_UART_Transmit (Thumb, 178 bytes, Stack size 40 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Transmit))
[Stack]
- Max Depth = 64
- Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
[Calls]- >> HAL_GetTick
- >> UART_WaitOnFlagUntilTimeout
[Called By]- >> EC800_stateTransition_use
- >> fputc
- >> EC800M_SendCommand
HAL_UART_TxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback))
[Called By]
HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.HardFault_Handler))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
LED0_TOGGLE (Thumb, 42 bytes, Stack size 8 bytes, gpio.o(i.LED0_TOGGLE))
[Stack]
- Max Depth = 16
- Call Chain = LED0_TOGGLE ⇒ HAL_GPIO_TogglePin
[Calls]
[Called By]- >> task_communication_content
Login_Topic (Thumb, 260 bytes, Stack size 88 bytes, ec800.o(i.Login_Topic))
[Stack]
- Max Depth = 316
- Call Chain = Login_Topic ⇒ EC800_publishMessage ⇒ EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> cJSON_Print
- >> cJSON_Delete
- >> cJSON_CreateString
- >> cJSON_CreateObject
- >> cJSON_CreateNumber
- >> cJSON_AddItemToObject
- >> __aeabi_ui2d
- >> EC800_publishMessage
- >> __2sprintf
- >> strlen
- >> __aeabi_memclr4
- >> free
[Called By]- >> EC800_stateTransition_use
MX_DMA_Init (Thumb, 90 bytes, Stack size 8 bytes, dma.o(i.MX_DMA_Init))
[Stack]
- Max Depth = 56
- Call Chain = MX_DMA_Init ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_NVIC_SetPriority
- >> HAL_NVIC_EnableIRQ
[Called By]
MX_FREERTOS_Init (Thumb, 120 bytes, Stack size 8 bytes, freertos.o(i.MX_FREERTOS_Init))
[Stack]
- Max Depth = 224
- Call Chain = MX_FREERTOS_Init ⇒ osTimerNew ⇒ xTimerCreateStatic ⇒ prvInitialiseNewTimer ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> osTimerNew
- >> osThreadNew
- >> osSemaphoreNew
- >> osMutexNew
[Called By]
MX_GPIO_Init (Thumb, 298 bytes, Stack size 24 bytes, gpio.o(i.MX_GPIO_Init))
[Stack]
- Max Depth = 60
- Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init
[Calls]- >> HAL_GPIO_WritePin
- >> HAL_GPIO_Init
[Called By]
MX_TIM2_Init (Thumb, 104 bytes, Stack size 32 bytes, tim.o(i.MX_TIM2_Init))
[Stack]
- Max Depth = 104
- Call Chain = MX_TIM2_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_TIM_ConfigClockSource
- >> HAL_TIM_Base_Init
- >> HAL_TIMEx_MasterConfigSynchronization
- >> Error_Handler
[Called By]
MX_TIM4_Init (Thumb, 98 bytes, Stack size 32 bytes, tim.o(i.MX_TIM4_Init))
[Stack]
- Max Depth = 104
- Call Chain = MX_TIM4_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_TIM_ConfigClockSource
- >> HAL_TIM_Base_Init
- >> HAL_TIMEx_MasterConfigSynchronization
- >> Error_Handler
[Called By]
MX_UART4_Init (Thumb, 62 bytes, Stack size 8 bytes, usart.o(i.MX_UART4_Init))
[Stack]
- Max Depth = 96
- Call Chain = MX_UART4_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_UART_Init
- >> Error_Handler
[Called By]
MX_USART1_UART_Init (Thumb, 46 bytes, Stack size 8 bytes, usart.o(i.MX_USART1_UART_Init))
[Stack]
- Max Depth = 96
- Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_UART_Init
- >> Error_Handler
[Called By]
MX_USART3_UART_Init (Thumb, 62 bytes, Stack size 8 bytes, usart.o(i.MX_USART3_UART_Init))
[Stack]
- Max Depth = 96
- Call Chain = MX_USART3_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_UART_Init
- >> Error_Handler
[Called By]
MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.MemManage_Handler))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
NMEA_Comma_Pos (Thumb, 50 bytes, Stack size 0 bytes, nmea.o(i.NMEA_Comma_Pos))
[Called By]
NMEA_GNRMC_Analysis (Thumb, 536 bytes, Stack size 56 bytes, nmea.o(i.NMEA_GNRMC_Analysis))
[Stack]
- Max Depth = 112
- Call Chain = NMEA_GNRMC_Analysis ⇒ NMEA_Str2num ⇒ NMEA_Pow
[Calls]- >> __aeabi_ui2f
- >> __aeabi_fmul
- >> __aeabi_fdiv
- >> __aeabi_fadd
- >> __aeabi_f2uiz
- >> NMEA_Str2num
- >> NMEA_Pow
- >> NMEA_Comma_Pos
- >> strstr
[Called By]
NMEA_Pow (Thumb, 22 bytes, Stack size 8 bytes, nmea.o(i.NMEA_Pow))
[Stack]
- Max Depth = 8
- Call Chain = NMEA_Pow
[Called By]- >> NMEA_Str2num
- >> NMEA_GNRMC_Analysis
NMEA_Str2num (Thumb, 234 bytes, Stack size 48 bytes, nmea.o(i.NMEA_Str2num))
[Stack]
- Max Depth = 56
- Call Chain = NMEA_Str2num ⇒ NMEA_Pow
[Calls]
[Called By]
NMI_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.NMI_Handler))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
PostSleepProcessing (Thumb, 2 bytes, Stack size 0 bytes, freertos.o(i.PostSleepProcessing))
[Called By]
- >> vPortSuppressTicksAndSleep
PreSleepProcessing (Thumb, 2 bytes, Stack size 0 bytes, freertos.o(i.PreSleepProcessing))
[Called By]
- >> vPortSuppressTicksAndSleep
Remap_Vector_Table (Thumb, 12 bytes, Stack size 0 bytes, flash.o(i.Remap_Vector_Table))
[Called By]
StartDefaultTask (Thumb, 10 bytes, Stack size 0 bytes, freertos.o(i.StartDefaultTask))
[Stack]
- Max Depth = 72
- Call Chain = StartDefaultTask ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]
[Address Reference Count : 1]- freertos.o(i.MX_FREERTOS_Init)
SysTick_Handler (Thumb, 46 bytes, Stack size 8 bytes, port.o(i.SysTick_Handler))
[Stack]
- Max Depth = 32
- Call Chain = SysTick_Handler ⇒ xTaskIncrementTick
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
SystemClock_Config (Thumb, 102 bytes, Stack size 64 bytes, main.o(i.SystemClock_Config))
[Stack]
- Max Depth = 200
- Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
[Calls]- >> HAL_RCC_OscConfig
- >> HAL_RCC_ClockConfig
- >> Error_Handler
- >> __aeabi_memclr4
[Called By]
SystemInit (Thumb, 2 bytes, Stack size 0 bytes, system_stm32f1xx.o(i.SystemInit))
[Address Reference Count : 1]
- startup_stm32f103xe.o(.text)
TIM1_UP_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.TIM1_UP_IRQHandler))
[Stack]
- Max Depth = 60
- Call Chain = TIM1_UP_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ HAL_NVIC_GetPriority
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
TIM2_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.TIM2_IRQHandler))
[Stack]
- Max Depth = 60
- Call Chain = TIM2_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ HAL_NVIC_GetPriority
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
TIM4_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.TIM4_IRQHandler))
[Stack]
- Max Depth = 60
- Call Chain = TIM4_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ HAL_NVIC_GetPriority
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
TIM_Base_SetConfig (Thumb, 134 bytes, Stack size 8 bytes, stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig))
[Stack]
- Max Depth = 8
- Call Chain = TIM_Base_SetConfig
[Called By]
TIM_ETR_SetConfig (Thumb, 22 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig))
[Stack]
- Max Depth = 12
- Call Chain = TIM_ETR_SetConfig
[Called By]- >> HAL_TIM_ConfigClockSource
Task_communication (Thumb, 14 bytes, Stack size 0 bytes, freertos.o(i.Task_communication))
[Stack]
- Max Depth = 872
- Call Chain = Task_communication ⇒ task_communication_content ⇒ EC800_FTP_OTA_Upgrade ⇒ EC800_FTP_DownloadText ⇒ UpdateFirmware ⇒ writeFlashPage ⇒ FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> osDelay
- >> task_communication_content
[Address Reference Count : 1]- freertos.o(i.MX_FREERTOS_Init)
Task_ec800_upload (Thumb, 14 bytes, Stack size 0 bytes, freertos.o(i.Task_ec800_upload))
[Stack]
- Max Depth = 544
- Call Chain = Task_ec800_upload ⇒ task_ec800_content ⇒ EC800_stateTransition_use ⇒ EC800_respondParse ⇒ cJSON_Parse ⇒ cJSON_ParseWithOpts ⇒ parse_value ⇒ parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> task_ec800_content
- >> osDelay
[Address Reference Count : 1]- freertos.o(i.MX_FREERTOS_Init)
Time2_Callback (Thumb, 2 bytes, Stack size 0 bytes, freertos.o(i.Time2_Callback))
[Address Reference Count : 1]
- freertos.o(i.MX_FREERTOS_Init)
UART4_IRQHandler (Thumb, 76 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.UART4_IRQHandler))
[Stack]
- Max Depth = 92
- Call Chain = UART4_IRQHandler ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> HAL_UART_IRQHandler
- >> HAL_UART_Receive_DMA
- >> HAL_UART_DMAStop
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
UART_Start_Receive_DMA (Thumb, 186 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA))
[Stack]
- Max Depth = 68
- Call Chain = UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]
[Called By]
USART1_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.USART1_IRQHandler))
[Stack]
- Max Depth = 72
- Call Chain = USART1_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT
[Calls]
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
USART3_IRQHandler (Thumb, 98 bytes, Stack size 16 bytes, stm32f1xx_it.o(i.USART3_IRQHandler))
[Stack]
- Max Depth = 100
- Call Chain = USART3_IRQHandler ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> parseModbusResponse
- >> HAL_UART_IRQHandler
- >> HAL_UART_Receive_DMA
- >> HAL_UART_DMAStop
[Address Reference Count : 1]- startup_stm32f103xe.o(RESET)
UpdateFirmware (Thumb, 316 bytes, Stack size 632 bytes, ec800_ftp_ota.o(i.UpdateFirmware))
[Stack]
- Max Depth = 736
- Call Chain = UpdateFirmware ⇒ writeFlashPage ⇒ FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> EC800M_SendCommand
- >> Accept_and_Compare_Str
- >> __2snprintf
- >> __aeabi_memclr4
- >> __aeabi_memset
- >> writeFlashPage
- >> extract_data_as_uint32
[Called By]- >> EC800_FTP_DownloadText
UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.UsageFault_Handler))
[Address Reference Count : 1]
- startup_stm32f103xe.o(RESET)
Write_paramArea (Thumb, 26 bytes, Stack size 16 bytes, flash.o(i.Write_paramArea))
[Stack]
- Max Depth = 104
- Call Chain = Write_paramArea ⇒ FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> FLASH_Write
- >> FLASH_Erase
[Called By]- >> EC800_FTP_DownloadText
__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]- >> isTurning
- >> task_ec800_content
- >> parseModbusResponse
- >> parse_Login_Response
- >> parse_Latitude_Longitude_Data
- >> parseServerTime
- >> EC800_subscribeToTopic
- >> EC800_respondUpdateDate
- >> EC800_respondRealDate
- >> EC800_respondParse
- >> EC800_readGnssDate
- >> EC800_publishMessage
- >> EC800_parseRespondTime
- >> EC800_gnss_init
- >> EC800_getIMSI
- >> EC800M_link
- >> parseModbus10Response
- >> parseModbus03Response
- >> EC800_LogIn_FTP
- >> EC800_FTP_DownloadText
__c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
__0snprintf (Thumb, 44 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), UNUSED)
[Calls]
__1snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), UNUSED)
__2snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf))
[Stack]
- Max Depth = 32
- Call Chain = __2snprintf
[Called By]- >> UpdateFirmware
- >> EC800_LogIn_FTP
- >> EC800_FTP_DownloadText
__c89snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), UNUSED)
snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), 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]- >> print_string_ptr
- >> print_number
- >> EC800_stateTransition_use
- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
- >> EC800_subscribeToTopic
- >> EC800_publishMessage
- >> EC800M_link
__c89sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)
sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)
__ARM_fpclassify (Thumb, 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)
__kernel_poly (Thumb, 170 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly))
[Stack]
- Max Depth = 112
- Call Chain = __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_dmul
- >> __aeabi_dadd
[Called By]
__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_infnan (Thumb, 6 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_infnan))
[Stack]
- Max Depth = 16
- Call Chain = __mathlib_dbl_infnan ⇒ __ARM_scalbn
[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]
asin (Thumb, 572 bytes, Stack size 56 bytes, asin.o(i.asin))
[Stack]
- Max Depth = 168
- Call Chain = asin ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_dsub
- >> __aeabi_dmul
- >> __aeabi_dadd
- >> __aeabi_drsub
- >> __aeabi_ddiv
- >> sqrt
- >> __ARM_scalbn
- >> __set_errno
- >> __kernel_poly
- >> __ARM_fpclassify
- >> __mathlib_dbl_underflow
- >> __mathlib_dbl_invalid
- >> __mathlib_dbl_infnan
[Called By]- >> atk_ms6050_dmp_get_data
atan (Thumb, 474 bytes, Stack size 40 bytes, atan.o(i.atan))
[Stack]
- Max Depth = 152
- Call Chain = atan ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_dsub
- >> __aeabi_dmul
- >> __aeabi_dadd
- >> __aeabi_drsub
- >> __aeabi_ddiv
- >> __ARM_scalbn
- >> __kernel_poly
- >> __ARM_fpclassify
- >> __mathlib_dbl_underflow
- >> __mathlib_dbl_infnan
[Called By]
atan2 (Thumb, 346 bytes, Stack size 32 bytes, atan2.o(i.atan2))
[Stack]
- Max Depth = 184
- Call Chain = atan2 ⇒ atan ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_dsub
- >> __aeabi_drsub
- >> __aeabi_ddiv
- >> __mathlib_dbl_infnan2
- >> atan
[Called By]- >> atk_ms6050_dmp_get_data
atk_ms6050_dmp_get_data (Thumb, 536 bytes, Stack size 136 bytes, inv_mpu.o(i.atk_ms6050_dmp_get_data))
[Stack]
- Max Depth = 320
- Call Chain = atk_ms6050_dmp_get_data ⇒ atan2 ⇒ atan ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_f2d
- >> __aeabi_dmul
- >> __aeabi_fmul
- >> __aeabi_fdiv
- >> __aeabi_fadd
- >> dmp_read_fifo
- >> __aeabi_fsub
- >> __aeabi_d2f
- >> __aeabi_i2f
- >> atan2
- >> asin
[Called By]
atk_ms6050_get_clock_ms (Thumb, 20 bytes, Stack size 8 bytes, inv_mpu.o(i.atk_ms6050_get_clock_ms))
[Stack]
- Max Depth = 8
- Call Chain = atk_ms6050_get_clock_ms
[Calls]
[Called By]
atk_ms6050_get_gyroscope (Thumb, 80 bytes, Stack size 32 bytes, atk_ms6050.o(i.atk_ms6050_get_gyroscope))
[Stack]
- Max Depth = 92
- Call Chain = atk_ms6050_get_gyroscope ⇒ atk_ms6050_read ⇒ atk_ms6050_iic_wait_ack ⇒ atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]
[Called By]
atk_ms6050_iic_ack (Thumb, 76 bytes, Stack size 8 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_ack))
[Stack]
- Max Depth = 20
- Call Chain = atk_ms6050_iic_ack ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_GPIO_WritePin
- >> atk_ms6050_iic_delay
[Called By]- >> atk_ms6050_iic_read_byte
atk_ms6050_iic_nack (Thumb, 58 bytes, Stack size 8 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_nack))
[Stack]
- Max Depth = 20
- Call Chain = atk_ms6050_iic_nack ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_GPIO_WritePin
- >> atk_ms6050_iic_delay
[Called By]- >> atk_ms6050_iic_read_byte
atk_ms6050_iic_read_byte (Thumb, 88 bytes, Stack size 16 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_read_byte))
[Stack]
- Max Depth = 36
- Call Chain = atk_ms6050_iic_read_byte ⇒ atk_ms6050_iic_nack ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_GPIO_WritePin
- >> HAL_GPIO_ReadPin
- >> atk_ms6050_iic_nack
- >> atk_ms6050_iic_ack
- >> atk_ms6050_iic_delay
[Called By]
atk_ms6050_iic_send_byte (Thumb, 102 bytes, Stack size 16 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_send_byte))
[Stack]
- Max Depth = 28
- Call Chain = atk_ms6050_iic_send_byte ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_GPIO_WritePin
- >> atk_ms6050_iic_delay
[Called By]- >> atk_ms6050_write
- >> atk_ms6050_read
atk_ms6050_iic_start (Thumb, 72 bytes, Stack size 8 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_start))
[Stack]
- Max Depth = 20
- Call Chain = atk_ms6050_iic_start ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_GPIO_WritePin
- >> atk_ms6050_iic_delay
[Called By]- >> atk_ms6050_write
- >> atk_ms6050_read
atk_ms6050_iic_stop (Thumb, 58 bytes, Stack size 8 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_stop))
[Stack]
- Max Depth = 20
- Call Chain = atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_GPIO_WritePin
- >> atk_ms6050_iic_delay
[Called By]- >> atk_ms6050_iic_wait_ack
- >> atk_ms6050_write
- >> atk_ms6050_read
atk_ms6050_iic_wait_ack (Thumb, 96 bytes, Stack size 16 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_wait_ack))
[Stack]
- Max Depth = 36
- Call Chain = atk_ms6050_iic_wait_ack ⇒ atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_GPIO_WritePin
- >> HAL_GPIO_ReadPin
- >> atk_ms6050_iic_delay
- >> atk_ms6050_iic_stop
[Called By]- >> atk_ms6050_write
- >> atk_ms6050_read
atk_ms6050_read (Thumb, 138 bytes, Stack size 24 bytes, atk_ms6050.o(i.atk_ms6050_read))
[Stack]
- Max Depth = 60
- Call Chain = atk_ms6050_read ⇒ atk_ms6050_iic_wait_ack ⇒ atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> atk_ms6050_iic_wait_ack
- >> atk_ms6050_iic_stop
- >> atk_ms6050_iic_start
- >> atk_ms6050_iic_send_byte
- >> atk_ms6050_iic_read_byte
[Called By]- >> mpu_read_fifo_stream
- >> atk_ms6050_get_gyroscope
atk_ms6050_write (Thumb, 112 bytes, Stack size 24 bytes, atk_ms6050.o(i.atk_ms6050_write))
[Stack]
- Max Depth = 60
- Call Chain = atk_ms6050_write ⇒ atk_ms6050_iic_wait_ack ⇒ atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> atk_ms6050_iic_wait_ack
- >> atk_ms6050_iic_stop
- >> atk_ms6050_iic_start
- >> atk_ms6050_iic_send_byte
[Called By]
cJSON_AddItemToArray (Thumb, 42 bytes, Stack size 16 bytes, cjson.o(i.cJSON_AddItemToArray))
[Stack]
- Max Depth = 16
- Call Chain = cJSON_AddItemToArray
[Calls]
[Called By]- >> cJSON_AddItemToObject
- >> EC800_uploadRealDate
cJSON_AddItemToObject (Thumb, 44 bytes, Stack size 16 bytes, cjson.o(i.cJSON_AddItemToObject))
[Stack]
- Max Depth = 32
- Call Chain = cJSON_AddItemToObject ⇒ cJSON_AddItemToArray
[Calls]- >> cJSON_AddItemToArray
- >> cJSON_strdup
[Called By]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
cJSON_CreateArray (Thumb, 18 bytes, Stack size 8 bytes, cjson.o(i.cJSON_CreateArray))
[Stack]
- Max Depth = 16
- Call Chain = cJSON_CreateArray ⇒ cJSON_New_Item
[Calls]
[Called By]
cJSON_CreateNumber (Thumb, 36 bytes, Stack size 16 bytes, cjson.o(i.cJSON_CreateNumber))
[Stack]
- Max Depth = 32
- Call Chain = cJSON_CreateNumber ⇒ __aeabi_d2iz
[Calls]- >> __aeabi_d2iz
- >> cJSON_New_Item
[Called By]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
cJSON_CreateObject (Thumb, 18 bytes, Stack size 8 bytes, cjson.o(i.cJSON_CreateObject))
[Stack]
- Max Depth = 16
- Call Chain = cJSON_CreateObject ⇒ cJSON_New_Item
[Calls]
[Called By]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
cJSON_CreateString (Thumb, 28 bytes, Stack size 16 bytes, cjson.o(i.cJSON_CreateString))
[Stack]
- Max Depth = 32
- Call Chain = cJSON_CreateString ⇒ cJSON_strdup
[Calls]- >> cJSON_strdup
- >> cJSON_New_Item
[Called By]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
cJSON_Delete (Thumb, 82 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_ParseWithOpts
- >> cJSON_Delete
- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
- >> EC800_respondParse
cJSON_GetArrayItem (Thumb, 18 bytes, Stack size 0 bytes, cjson.o(i.cJSON_GetArrayItem))
[Called By]
- >> parse_Latitude_Longitude_Data
cJSON_GetArraySize (Thumb, 18 bytes, Stack size 0 bytes, cjson.o(i.cJSON_GetArraySize))
[Called By]
- >> parse_Latitude_Longitude_Data
cJSON_GetObjectItem (Thumb, 30 bytes, Stack size 16 bytes, cjson.o(i.cJSON_GetObjectItem))
[Stack]
- Max Depth = 32
- Call Chain = cJSON_GetObjectItem ⇒ cJSON_strcasecmp
[Calls]
[Called By]- >> parse_Login_Response
- >> parse_Latitude_Longitude_Data
- >> EC800_respondUpdateDate
- >> EC800_respondRealDate
- >> EC800_respondParse
- >> EC800_parseRespondTime
cJSON_Parse (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(i.cJSON_Parse))
[Stack]
- Max Depth = 376
- Call Chain = cJSON_Parse ⇒ cJSON_ParseWithOpts ⇒ parse_value ⇒ parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]
[Called By]
cJSON_ParseWithOpts (Thumb, 96 bytes, Stack size 32 bytes, cjson.o(i.cJSON_ParseWithOpts))
[Stack]
- Max Depth = 368
- Call Chain = cJSON_ParseWithOpts ⇒ parse_value ⇒ parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> cJSON_Delete
- >> skip
- >> parse_value
- >> cJSON_New_Item
[Called By]
cJSON_Print (Thumb, 18 bytes, Stack size 8 bytes, cjson.o(i.cJSON_Print))
[Stack]
- Max Depth = 184
- Call Chain = cJSON_Print ⇒ print_value ⇒ print_object ⇒ print_value (Cycle)
[Calls]
[Called By]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
checkModbusCRC (Thumb, 52 bytes, Stack size 20 bytes, comm_car_485.o(i.checkModbusCRC))
[Stack]
- Max Depth = 32
- Call Chain = checkModbusCRC ⇒ modbusCRC
[Calls]
[Called By]
configureTimerForRunTimeStats (Thumb, 10 bytes, Stack size 8 bytes, main.o(i.configureTimerForRunTimeStats))
[Stack]
- Max Depth = 8
- Call Chain = configureTimerForRunTimeStats
[Calls]
[Called By]
dmp_read_fifo (Thumb, 456 bytes, Stack size 88 bytes, inv_mpu_dmp_motion_driver.o(i.dmp_read_fifo))
[Stack]
- Max Depth = 180
- Call Chain = dmp_read_fifo ⇒ mpu_read_fifo_stream ⇒ mpu_reset_fifo ⇒ atk_ms6050_write ⇒ atk_ms6050_iic_wait_ack ⇒ atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> decode_gesture
- >> mpu_reset_fifo
- >> mpu_read_fifo_stream
- >> atk_ms6050_get_clock_ms
[Called By]- >> atk_ms6050_dmp_get_data
eTaskConfirmSleepModeStatus (Thumb, 42 bytes, Stack size 0 bytes, tasks.o(i.eTaskConfirmSleepModeStatus))
[Called By]
- >> vPortSuppressTicksAndSleep
extract_data_as_uint32 (Thumb, 128 bytes, Stack size 48 bytes, ec800_ftp_ota.o(i.extract_data_as_uint32))
[Stack]
- Max Depth = 72
- Call Chain = extract_data_as_uint32 ⇒ search_sequence
[Calls]- >> search_sequence
- >> strlen
- >> strstr
- >> __aeabi_memclr
- >> __aeabi_memcpy
[Called By]
floor (Thumb, 204 bytes, Stack size 24 bytes, floor.o(i.floor))
[Stack]
- Max Depth = 112
- Call Chain = floor ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_dadd
- >> __aeabi_cdrcmple
- >> __aeabi_drsub
[Called By]
fputc (Thumb, 22 bytes, Stack size 16 bytes, main.o(i.fputc))
[Stack]
- Max Depth = 80
- Call Chain = fputc ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
[Calls]
[Address Reference Count : 1]
free (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))
[Stack]
- Max Depth = 8
- Call Chain = free
[Called By]- >> requesting_Fence_Data
- >> Login_Topic
- >> EC800_uploadRealDate
- >> EC800_time_calibration
[Address Reference Count : 1]
getAngularVelocity (Thumb, 138 bytes, Stack size 72 bytes, turndetection.o(i.getAngularVelocity))
[Stack]
- Max Depth = 312
- Call Chain = getAngularVelocity ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_i2d
- >> __aeabi_dadd
- >> __aeabi_d2f
- >> atk_ms6050_get_gyroscope
- >> sqrt
- >> pow
[Called By]
getRunTimeCounterValue (Thumb, 6 bytes, Stack size 0 bytes, main.o(i.getRunTimeCounterValue))
[Called By]
isTurning (Thumb, 380 bytes, Stack size 48 bytes, turndetection.o(i.isTurning))
[Stack]
- Max Depth = 368
- Call Chain = isTurning ⇒ atk_ms6050_dmp_get_data ⇒ atan2 ⇒ atan ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_f2d
- >> __aeabi_cdrcmple
- >> lowPassFilter
- >> getAngularVelocity
- >> __aeabi_fsub
- >> __aeabi_d2f
- >> atk_ms6050_dmp_get_data
- >> __2printf
[Called By]
lowPassFilter (Thumb, 66 bytes, Stack size 48 bytes, turndetection.o(i.lowPassFilter))
[Stack]
- Max Depth = 136
- Call Chain = lowPassFilter ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_f2d
- >> __aeabi_dmul
- >> __aeabi_dadd
- >> __aeabi_d2f
[Called By]
main (Thumb, 62 bytes, Stack size 0 bytes, main.o(i.main))
[Stack]
- Max Depth = 224
- Call Chain = main ⇒ MX_FREERTOS_Init ⇒ osTimerNew ⇒ xTimerCreateStatic ⇒ prvInitialiseNewTimer ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> osKernelStart
- >> osKernelInitialize
- >> Remap_Vector_Table
- >> MX_USART3_UART_Init
- >> MX_USART1_UART_Init
- >> MX_UART4_Init
- >> MX_TIM4_Init
- >> MX_TIM2_Init
- >> MX_GPIO_Init
- >> MX_FREERTOS_Init
- >> MX_DMA_Init
- >> HAL_Init
- >> GetUniqueID
- >> SystemClock_Config
[Address Reference Count : 1]- entry9a.o(.ARM.Collect$$$$0000000B)
malloc (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))
[Stack]
- Max Depth = 20
- Call Chain = malloc
[Address Reference Count : 1]
modbusCRC (Thumb, 54 bytes, Stack size 12 bytes, comm_car_485.o(i.modbusCRC))
[Stack]
- Max Depth = 12
- Call Chain = modbusCRC
[Called By]
mpu_read_fifo_stream (Thumb, 186 bytes, Stack size 24 bytes, inv_mpu.o(i.mpu_read_fifo_stream))
[Stack]
- Max Depth = 92
- Call Chain = mpu_read_fifo_stream ⇒ mpu_reset_fifo ⇒ atk_ms6050_write ⇒ atk_ms6050_iic_wait_ack ⇒ atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> mpu_reset_fifo
- >> atk_ms6050_read
[Called By]
mpu_reset_fifo (Thumb, 450 bytes, Stack size 8 bytes, inv_mpu.o(i.mpu_reset_fifo))
[Stack]
- Max Depth = 68
- Call Chain = mpu_reset_fifo ⇒ atk_ms6050_write ⇒ atk_ms6050_iic_wait_ack ⇒ atk_ms6050_iic_stop ⇒ atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]- >> HAL_Delay
- >> atk_ms6050_write
[Called By]- >> dmp_read_fifo
- >> mpu_read_fifo_stream
osDelay (Thumb, 50 bytes, Stack size 16 bytes, cmsis_os2.o(i.osDelay))
[Stack]
- Max Depth = 72
- Call Chain = osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
- >> vTaskDelay
[Called By]- >> task_ec800_content
- >> EC800_FTP_OTA_Upgrade
- >> task_communication_content
- >> Task_ec800_upload
- >> Task_communication
- >> StartDefaultTask
- >> EC800_recEnable
- >> EC800M_RecRespond
- >> Accept_and_Compare_Str
osKernelInitialize (Thumb, 58 bytes, Stack size 8 bytes, cmsis_os2.o(i.osKernelInitialize))
[Stack]
- Max Depth = 8
- Call Chain = osKernelInitialize
[Calls]- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
[Called By]
osKernelStart (Thumb, 64 bytes, Stack size 8 bytes, cmsis_os2.o(i.osKernelStart))
[Stack]
- Max Depth = 168
- Call Chain = osKernelStart ⇒ vTaskStartScheduler ⇒ xTimerCreateTimerTask ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
- >> vTaskStartScheduler
[Called By]
osMutexAcquire (Thumb, 120 bytes, Stack size 24 bytes, cmsis_os2.o(i.osMutexAcquire))
[Stack]
- Max Depth = 136
- Call Chain = osMutexAcquire ⇒ xQueueTakeMutexRecursive ⇒ xQueueSemaphoreTake ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xQueueTakeMutexRecursive
- >> xQueueSemaphoreTake
- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
[Called By]
osMutexNew (Thumb, 202 bytes, Stack size 32 bytes, cmsis_os2.o(i.osMutexNew))
[Stack]
- Max Depth = 176
- Call Chain = osMutexNew ⇒ xQueueCreateMutexStatic ⇒ prvInitialiseMutex ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xQueueCreateMutexStatic
- >> xQueueCreateMutex
- >> vQueueAddToRegistry
- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
[Called By]
osMutexRelease (Thumb, 100 bytes, Stack size 24 bytes, cmsis_os2.o(i.osMutexRelease))
[Stack]
- Max Depth = 144
- Call Chain = osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xQueueGiveMutexRecursive
- >> xQueueGenericSend
- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
[Called By]
osSemaphoreNew (Thumb, 230 bytes, Stack size 32 bytes, cmsis_os2.o(i.osSemaphoreNew))
[Stack]
- Max Depth = 144
- Call Chain = osSemaphoreNew ⇒ xQueueCreateCountingSemaphoreStatic ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> xQueueGenericSend
- >> xQueueGenericCreateStatic
- >> xQueueGenericCreate
- >> xQueueCreateCountingSemaphoreStatic
- >> xQueueCreateCountingSemaphore
- >> vQueueDelete
- >> vQueueAddToRegistry
- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
[Called By]
osThreadNew (Thumb, 216 bytes, Stack size 56 bytes, cmsis_os2.o(i.osThreadNew))
[Stack]
- Max Depth = 192
- Call Chain = osThreadNew ⇒ xTaskCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
- >> xTaskCreateStatic
- >> xTaskCreate
[Called By]
osTimerNew (Thumb, 194 bytes, Stack size 48 bytes, cmsis_os2.o(i.osTimerNew))
[Stack]
- Max Depth = 216
- Call Chain = osTimerNew ⇒ xTimerCreateStatic ⇒ prvInitialiseNewTimer ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> pvPortMalloc
- >> __get_PRIMASK
- >> __get_IPSR
- >> __get_BASEPRI
- >> xTimerCreateStatic
- >> xTimerCreate
[Called By]
parseModbus03Response (Thumb, 44 bytes, Stack size 16 bytes, comm_car_485.o(i.parseModbus03Response))
[Stack]
- Max Depth = 40
- Call Chain = parseModbus03Response ⇒ __2printf
[Calls]
[Called By]
parseModbus10Response (Thumb, 62 bytes, Stack size 24 bytes, comm_car_485.o(i.parseModbus10Response))
[Stack]
- Max Depth = 48
- Call Chain = parseModbus10Response ⇒ __2printf
[Calls]
[Called By]
parseModbusResponse (Thumb, 68 bytes, Stack size 16 bytes, comm_car_485.o(i.parseModbusResponse))
[Stack]
- Max Depth = 64
- Call Chain = parseModbusResponse ⇒ parseModbus10Response ⇒ __2printf
[Calls]- >> __2printf
- >> parseModbus10Response
- >> parseModbus03Response
- >> checkModbusCRC
[Called By]
parseServerTime (Thumb, 260 bytes, Stack size 48 bytes, ec800.o(i.parseServerTime))
[Stack]
- Max Depth = 136
- Call Chain = parseServerTime ⇒ atoi ⇒ strtol ⇒ _strtoul
[Calls]- >> EC800_mktime
- >> __2printf
- >> strncpy
- >> atoi
[Called By]- >> EC800_parseRespondTime
parse_Latitude_Longitude_Data (Thumb, 236 bytes, Stack size 48 bytes, ec800.o(i.parse_Latitude_Longitude_Data))
[Stack]
- Max Depth = 80
- Call Chain = parse_Latitude_Longitude_Data ⇒ cJSON_GetObjectItem ⇒ cJSON_strcasecmp
[Calls]- >> cJSON_GetObjectItem
- >> cJSON_GetArraySize
- >> cJSON_GetArrayItem
- >> __2printf
[Called By]
parse_Login_Response (Thumb, 62 bytes, Stack size 16 bytes, ec800.o(i.parse_Login_Response))
[Stack]
- Max Depth = 48
- Call Chain = parse_Login_Response ⇒ cJSON_GetObjectItem ⇒ cJSON_strcasecmp
[Calls]- >> cJSON_GetObjectItem
- >> __2printf
[Called By]
pow (Thumb, 2512 bytes, Stack size 128 bytes, pow.o(i.pow))
[Stack]
- Max Depth = 240
- Call Chain = pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_i2d
- >> __aeabi_dsub
- >> __aeabi_dmul
- >> __aeabi_dadd
- >> __aeabi_cdrcmple
- >> __aeabi_drsub
- >> __aeabi_ddiv
- >> sqrt
- >> __ARM_scalbn
- >> __set_errno
- >> __kernel_poly
- >> __ARM_fpclassify
- >> __mathlib_dbl_underflow
- >> __mathlib_dbl_overflow
- >> __mathlib_dbl_invalid
- >> __mathlib_dbl_infnan2
- >> __mathlib_dbl_divzero
[Called By]- >> parse_number
- >> getAngularVelocity
pvPortMalloc (Thumb, 296 bytes, Stack size 24 bytes, heap_4.o(i.pvPortMalloc))
[Stack]
- Max Depth = 64
- Call Chain = pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> xTaskResumeAll
- >> vTaskSuspendAll
- >> prvInsertBlockIntoFreeList
- >> prvHeapInit
[Called By]- >> osTimerNew
- >> xQueueGenericCreate
- >> xTimerCreate
- >> xTaskCreate
pvTaskIncrementMutexHeldCount (Thumb, 26 bytes, Stack size 0 bytes, tasks.o(i.pvTaskIncrementMutexHeldCount))
[Called By]
pvTimerGetTimerID (Thumb, 44 bytes, Stack size 16 bytes, timers.o(i.pvTimerGetTimerID))
[Stack]
- Max Depth = 16
- Call Chain = pvTimerGetTimerID
[Calls]- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]
pxPortInitialiseStack (Thumb, 30 bytes, Stack size 0 bytes, port.o(i.pxPortInitialiseStack))
[Called By]
requesting_Fence_Data (Thumb, 278 bytes, Stack size 88 bytes, ec800.o(i.requesting_Fence_Data))
[Stack]
- Max Depth = 316
- Call Chain = requesting_Fence_Data ⇒ EC800_publishMessage ⇒ EC800M_RecRespond ⇒ HAL_UART_Receive_DMA ⇒ UART_Start_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
[Calls]- >> cJSON_Print
- >> cJSON_Delete
- >> cJSON_CreateString
- >> cJSON_CreateObject
- >> cJSON_CreateNumber
- >> cJSON_AddItemToObject
- >> __aeabi_ui2d
- >> EC800_publishMessage
- >> __2sprintf
- >> strlen
- >> __aeabi_memclr4
- >> free
[Called By]- >> EC800_stateTransition_use
search_sequence (Thumb, 76 bytes, Stack size 24 bytes, ec800.o(i.search_sequence))
[Stack]
- Max Depth = 24
- Call Chain = search_sequence
[Called By]- >> Accept_and_Compare_Str
- >> extract_data_as_uint32
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]- >> getAngularVelocity
- >> pow
- >> asin
task_communication_content (Thumb, 52 bytes, Stack size 8 bytes, task_communication.o(i.task_communication_content))
[Stack]
- Max Depth = 872
- Call Chain = task_communication_content ⇒ EC800_FTP_OTA_Upgrade ⇒ EC800_FTP_DownloadText ⇒ UpdateFirmware ⇒ writeFlashPage ⇒ FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> vTaskSuspend
- >> osDelay
- >> LED0_TOGGLE
- >> HAL_NVIC_DisableIRQ
- >> EC800_FTP_OTA_Upgrade
[Called By]
task_ec800_content (Thumb, 56 bytes, Stack size 16 bytes, task_ec800_upload.o(i.task_ec800_content))
[Stack]
- Max Depth = 544
- Call Chain = task_ec800_content ⇒ EC800_stateTransition_use ⇒ EC800_respondParse ⇒ cJSON_Parse ⇒ cJSON_ParseWithOpts ⇒ parse_value ⇒ parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> isTurning
- >> EC800_stateTransition_use
- >> osDelay
- >> __2printf
[Called By]
utc_to_local_time (Thumb, 314 bytes, Stack size 32 bytes, ec800.o(i.utc_to_local_time))
[Stack]
- Max Depth = 32
- Call Chain = utc_to_local_time
[Called By]
uxListRemove (Thumb, 40 bytes, Stack size 0 bytes, list.o(i.uxListRemove))
[Called By]
- >> vTaskSuspend
- >> xTaskRemoveFromEventList
- >> xTaskPriorityInherit
- >> xTaskPriorityDisinherit
- >> vTaskPriorityDisinheritAfterTimeout
- >> xTaskResumeAll
- >> prvSwitchTimerLists
- >> prvProcessReceivedCommands
- >> prvProcessExpiredTimer
- >> xTaskIncrementTick
- >> prvCheckTasksWaitingTermination
- >> prvAddCurrentTaskToDelayedList
vApplicationGetIdleTaskMemory (Thumb, 14 bytes, Stack size 0 bytes, cmsis_os2.o(i.vApplicationGetIdleTaskMemory))
[Called By]
vApplicationGetTimerTaskMemory (Thumb, 16 bytes, Stack size 0 bytes, cmsis_os2.o(i.vApplicationGetTimerTaskMemory))
[Called By]
vListInitialise (Thumb, 26 bytes, Stack size 0 bytes, list.o(i.vListInitialise))
[Called By]
- >> xQueueGenericReset
- >> prvCheckForValidListAndQueue
- >> prvInitialiseTaskLists
vListInitialiseItem (Thumb, 6 bytes, Stack size 0 bytes, list.o(i.vListInitialiseItem))
[Called By]
- >> prvInitialiseNewTimer
- >> prvInitialiseNewTask
vListInsert (Thumb, 52 bytes, Stack size 8 bytes, list.o(i.vListInsert))
[Stack]
- Max Depth = 8
- Call Chain = vListInsert
[Called By]- >> vTaskPlaceOnEventList
- >> prvSwitchTimerLists
- >> prvInsertTimerInActiveList
- >> prvAddCurrentTaskToDelayedList
vListInsertEnd (Thumb, 24 bytes, Stack size 0 bytes, list.o(i.vListInsertEnd))
[Called By]
- >> vTaskSuspend
- >> xTaskRemoveFromEventList
- >> xTaskPriorityInherit
- >> xTaskPriorityDisinherit
- >> vTaskPriorityDisinheritAfterTimeout
- >> vTaskPlaceOnEventListRestricted
- >> xTaskResumeAll
- >> xTaskIncrementTick
- >> prvAddNewTaskToReadyList
- >> prvAddCurrentTaskToDelayedList
vPortEnterCritical (Thumb, 76 bytes, Stack size 0 bytes, port.o(i.vPortEnterCritical))
[Called By]
- >> vTaskSuspend
- >> xTaskCheckForTimeOut
- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
- >> xQueueGenericReset
- >> vQueueWaitForMessageRestricted
- >> prvUnlockQueue
- >> prvIsQueueFull
- >> prvIsQueueEmpty
- >> xTaskResumeAll
- >> pvTimerGetTimerID
- >> prvCheckForValidListAndQueue
- >> prvCheckTasksWaitingTermination
- >> prvAddNewTaskToReadyList
vPortExitCritical (Thumb, 56 bytes, Stack size 0 bytes, port.o(i.vPortExitCritical))
[Called By]
- >> vTaskSuspend
- >> xTaskCheckForTimeOut
- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
- >> xQueueGenericReset
- >> vQueueWaitForMessageRestricted
- >> prvUnlockQueue
- >> prvIsQueueFull
- >> prvIsQueueEmpty
- >> xTaskResumeAll
- >> pvTimerGetTimerID
- >> prvCheckForValidListAndQueue
- >> prvCheckTasksWaitingTermination
- >> prvAddNewTaskToReadyList
vPortFree (Thumb, 140 bytes, Stack size 16 bytes, heap_4.o(i.vPortFree))
[Stack]
- Max Depth = 56
- Call Chain = vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> xTaskResumeAll
- >> vTaskSuspendAll
- >> prvInsertBlockIntoFreeList
[Called By]- >> vQueueDelete
- >> prvProcessReceivedCommands
- >> xTaskCreate
- >> prvDeleteTCB
vPortSetupTimerInterrupt (Thumb, 86 bytes, Stack size 0 bytes, port.o(i.vPortSetupTimerInterrupt))
[Called By]
vPortSuppressTicksAndSleep (Thumb, 338 bytes, Stack size 24 bytes, port.o(i.vPortSuppressTicksAndSleep))
[Stack]
- Max Depth = 24
- Call Chain = vPortSuppressTicksAndSleep
[Calls]- >> PreSleepProcessing
- >> PostSleepProcessing
- >> vTaskStepTick
- >> eTaskConfirmSleepModeStatus
[Called By]
vPortValidateInterruptPriority (Thumb, 106 bytes, Stack size 16 bytes, port.o(i.vPortValidateInterruptPriority))
[Stack]
- Max Depth = 16
- Call Chain = vPortValidateInterruptPriority
[Calls]
[Called By]- >> xQueueGenericSendFromISR
vQueueAddToRegistry (Thumb, 38 bytes, Stack size 0 bytes, queue.o(i.vQueueAddToRegistry))
[Called By]
- >> osSemaphoreNew
- >> osMutexNew
- >> prvCheckForValidListAndQueue
vQueueDelete (Thumb, 50 bytes, Stack size 16 bytes, queue.o(i.vQueueDelete))
[Stack]
- Max Depth = 72
- Call Chain = vQueueDelete ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> vQueueUnregisterQueue
- >> vPortFree
[Called By]
vQueueUnregisterQueue (Thumb, 44 bytes, Stack size 0 bytes, queue.o(i.vQueueUnregisterQueue))
[Called By]
vQueueWaitForMessageRestricted (Thumb, 74 bytes, Stack size 24 bytes, queue.o(i.vQueueWaitForMessageRestricted))
[Stack]
- Max Depth = 72
- Call Chain = vQueueWaitForMessageRestricted ⇒ vTaskPlaceOnEventListRestricted ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> vTaskPlaceOnEventListRestricted
- >> prvUnlockQueue
- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]- >> prvProcessTimerOrBlockTask
vTaskDelay (Thumb, 82 bytes, Stack size 16 bytes, tasks.o(i.vTaskDelay))
[Stack]
- Max Depth = 56
- Call Chain = vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> xTaskResumeAll
- >> vTaskSuspendAll
- >> prvAddCurrentTaskToDelayedList
[Called By]
vTaskInternalSetTimeOutState (Thumb, 14 bytes, Stack size 0 bytes, tasks.o(i.vTaskInternalSetTimeOutState))
[Called By]
- >> xTaskCheckForTimeOut
- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
vTaskMissedYield (Thumb, 8 bytes, Stack size 0 bytes, tasks.o(i.vTaskMissedYield))
[Called By]
vTaskPlaceOnEventList (Thumb, 52 bytes, Stack size 16 bytes, tasks.o(i.vTaskPlaceOnEventList))
[Stack]
- Max Depth = 48
- Call Chain = vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> vListInsert
- >> prvAddCurrentTaskToDelayedList
[Called By]- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
vTaskPlaceOnEventListRestricted (Thumb, 60 bytes, Stack size 16 bytes, tasks.o(i.vTaskPlaceOnEventListRestricted))
[Stack]
- Max Depth = 48
- Call Chain = vTaskPlaceOnEventListRestricted ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> vListInsertEnd
- >> prvAddCurrentTaskToDelayedList
[Called By]- >> vQueueWaitForMessageRestricted
vTaskPriorityDisinheritAfterTimeout (Thumb, 194 bytes, Stack size 32 bytes, tasks.o(i.vTaskPriorityDisinheritAfterTimeout))
[Stack]
- Max Depth = 32
- Call Chain = vTaskPriorityDisinheritAfterTimeout
[Calls]- >> vListInsertEnd
- >> uxListRemove
[Called By]
vTaskStartScheduler (Thumb, 160 bytes, Stack size 32 bytes, tasks.o(i.vTaskStartScheduler))
[Stack]
- Max Depth = 160
- Call Chain = vTaskStartScheduler ⇒ xTimerCreateTimerTask ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> configureTimerForRunTimeStats
- >> xTimerCreateTimerTask
- >> xPortStartScheduler
- >> vApplicationGetIdleTaskMemory
- >> xTaskCreateStatic
[Called By]
vTaskStepTick (Thumb, 56 bytes, Stack size 0 bytes, tasks.o(i.vTaskStepTick))
[Called By]
- >> vPortSuppressTicksAndSleep
vTaskSuspend (Thumb, 176 bytes, Stack size 16 bytes, tasks.o(i.vTaskSuspend))
[Stack]
- Max Depth = 24
- Call Chain = vTaskSuspend ⇒ vTaskSwitchContext
[Calls]- >> vListInsertEnd
- >> uxListRemove
- >> vPortExitCritical
- >> vPortEnterCritical
- >> vTaskSwitchContext
- >> prvResetNextTaskUnblockTime
[Called By]- >> task_communication_content
vTaskSuspendAll (Thumb, 12 bytes, Stack size 0 bytes, tasks.o(i.vTaskSuspendAll))
[Called By]
- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
- >> vPortFree
- >> pvPortMalloc
- >> prvProcessTimerOrBlockTask
- >> vTaskDelay
- >> prvIdleTask
- >> FLASH_Write
vTaskSwitchContext (Thumb, 176 bytes, Stack size 8 bytes, tasks.o(i.vTaskSwitchContext))
[Stack]
- Max Depth = 8
- Call Chain = vTaskSwitchContext
[Calls]- >> getRunTimeCounterValue
[Called By]- >> vTaskSuspend
- >> PendSV_Handler
writeFlashPage (Thumb, 42 bytes, Stack size 16 bytes, ec800_ftp_ota.o(i.writeFlashPage))
[Stack]
- Max Depth = 104
- Call Chain = writeFlashPage ⇒ FLASH_Write ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
[Calls]- >> FLASH_Write
- >> FLASH_Erase
[Called By]
xPortStartScheduler (Thumb, 228 bytes, Stack size 16 bytes, port.o(i.xPortStartScheduler))
[Stack]
- Max Depth = 16
- Call Chain = xPortStartScheduler
[Calls]- >> vPortSetupTimerInterrupt
- >> __asm___6_port_c_39a90d8d__prvStartFirstTask
[Called By]
xQueueCreateCountingSemaphore (Thumb, 92 bytes, Stack size 16 bytes, queue.o(i.xQueueCreateCountingSemaphore))
[Stack]
- Max Depth = 112
- Call Chain = xQueueCreateCountingSemaphore ⇒ xQueueGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]
[Called By]
xQueueCreateCountingSemaphoreStatic (Thumb, 100 bytes, Stack size 24 bytes, queue.o(i.xQueueCreateCountingSemaphoreStatic))
[Stack]
- Max Depth = 112
- Call Chain = xQueueCreateCountingSemaphoreStatic ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> xQueueGenericCreateStatic
[Called By]
xQueueCreateMutex (Thumb, 34 bytes, Stack size 24 bytes, queue.o(i.xQueueCreateMutex))
[Stack]
- Max Depth = 136
- Call Chain = xQueueCreateMutex ⇒ prvInitialiseMutex ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xQueueGenericCreate
- >> prvInitialiseMutex
[Called By]
xQueueCreateMutexStatic (Thumb, 42 bytes, Stack size 32 bytes, queue.o(i.xQueueCreateMutexStatic))
[Stack]
- Max Depth = 144
- Call Chain = xQueueCreateMutexStatic ⇒ prvInitialiseMutex ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xQueueGenericCreateStatic
- >> prvInitialiseMutex
[Called By]
xQueueGenericCreate (Thumb, 94 bytes, Stack size 32 bytes, queue.o(i.xQueueGenericCreate))
[Stack]
- Max Depth = 96
- Call Chain = xQueueGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> prvInitialiseNewQueue
- >> pvPortMalloc
[Called By]- >> osSemaphoreNew
- >> xQueueCreateMutex
- >> xQueueCreateCountingSemaphore
xQueueGenericCreateStatic (Thumb, 222 bytes, Stack size 32 bytes, queue.o(i.xQueueGenericCreateStatic))
[Stack]
- Max Depth = 88
- Call Chain = xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]
[Called By]- >> osSemaphoreNew
- >> xQueueCreateMutexStatic
- >> xQueueCreateCountingSemaphoreStatic
- >> prvCheckForValidListAndQueue
xQueueGenericReset (Thumb, 146 bytes, Stack size 16 bytes, queue.o(i.xQueueGenericReset))
[Stack]
- Max Depth = 32
- Call Chain = xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> xTaskRemoveFromEventList
- >> vPortExitCritical
- >> vPortEnterCritical
- >> vListInitialise
[Called By]
xQueueGenericSend (Thumb, 420 bytes, Stack size 56 bytes, queue.o(i.xQueueGenericSend))
[Stack]
- Max Depth = 104
- Call Chain = xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xTaskRemoveFromEventList
- >> xTaskCheckForTimeOut
- >> vTaskPlaceOnEventList
- >> vTaskInternalSetTimeOutState
- >> prvUnlockQueue
- >> prvIsQueueFull
- >> prvCopyDataToQueue
- >> xTaskResumeAll
- >> xTaskGetSchedulerState
- >> vTaskSuspendAll
- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]- >> osMutexRelease
- >> osSemaphoreNew
- >> xQueueGiveMutexRecursive
- >> prvInitialiseMutex
- >> xTimerGenericCommand
xQueueGenericSendFromISR (Thumb, 248 bytes, Stack size 40 bytes, queue.o(i.xQueueGenericSendFromISR))
[Stack]
- Max Depth = 80
- Call Chain = xQueueGenericSendFromISR ⇒ prvCopyDataToQueue ⇒ xTaskPriorityDisinherit
[Calls]- >> xTaskRemoveFromEventList
- >> vPortValidateInterruptPriority
- >> prvCopyDataToQueue
[Called By]
xQueueGiveMutexRecursive (Thumb, 72 bytes, Stack size 16 bytes, queue.o(i.xQueueGiveMutexRecursive))
[Stack]
- Max Depth = 120
- Call Chain = xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xTaskGetCurrentTaskHandle
- >> xQueueGenericSend
[Called By]
xQueueReceive (Thumb, 356 bytes, Stack size 48 bytes, queue.o(i.xQueueReceive))
[Stack]
- Max Depth = 96
- Call Chain = xQueueReceive ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xTaskRemoveFromEventList
- >> xTaskCheckForTimeOut
- >> vTaskPlaceOnEventList
- >> vTaskInternalSetTimeOutState
- >> prvUnlockQueue
- >> prvIsQueueEmpty
- >> prvCopyDataFromQueue
- >> xTaskResumeAll
- >> xTaskGetSchedulerState
- >> vTaskSuspendAll
- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]- >> prvProcessReceivedCommands
xQueueSemaphoreTake (Thumb, 434 bytes, Stack size 40 bytes, queue.o(i.xQueueSemaphoreTake))
[Stack]
- Max Depth = 88
- Call Chain = xQueueSemaphoreTake ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xTaskRemoveFromEventList
- >> xTaskPriorityInherit
- >> xTaskCheckForTimeOut
- >> vTaskPriorityDisinheritAfterTimeout
- >> vTaskPlaceOnEventList
- >> vTaskInternalSetTimeOutState
- >> pvTaskIncrementMutexHeldCount
- >> prvUnlockQueue
- >> prvIsQueueEmpty
- >> prvGetDisinheritPriorityAfterTimeout
- >> xTaskResumeAll
- >> xTaskGetSchedulerState
- >> vTaskSuspendAll
- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]- >> osMutexAcquire
- >> xQueueTakeMutexRecursive
xQueueTakeMutexRecursive (Thumb, 78 bytes, Stack size 24 bytes, queue.o(i.xQueueTakeMutexRecursive))
[Stack]
- Max Depth = 112
- Call Chain = xQueueTakeMutexRecursive ⇒ xQueueSemaphoreTake ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xTaskGetCurrentTaskHandle
- >> xQueueSemaphoreTake
[Called By]
xTaskCheckForTimeOut (Thumb, 132 bytes, Stack size 16 bytes, tasks.o(i.xTaskCheckForTimeOut))
[Stack]
- Max Depth = 16
- Call Chain = xTaskCheckForTimeOut
[Calls]- >> vTaskInternalSetTimeOutState
- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
xTaskCreate (Thumb, 100 bytes, Stack size 72 bytes, tasks.o(i.xTaskCreate))
[Stack]
- Max Depth = 136
- Call Chain = xTaskCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> vPortFree
- >> pvPortMalloc
- >> prvInitialiseNewTask
- >> prvAddNewTaskToReadyList
[Called By]
xTaskCreateStatic (Thumb, 184 bytes, Stack size 56 bytes, tasks.o(i.xTaskCreateStatic))
[Stack]
- Max Depth = 96
- Call Chain = xTaskCreateStatic ⇒ prvInitialiseNewTask
[Calls]- >> prvInitialiseNewTask
- >> prvAddNewTaskToReadyList
[Called By]- >> osThreadNew
- >> xTimerCreateTimerTask
- >> vTaskStartScheduler
xTaskGetCurrentTaskHandle (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(i.xTaskGetCurrentTaskHandle))
[Called By]
- >> xQueueTakeMutexRecursive
- >> xQueueGiveMutexRecursive
xTaskGetSchedulerState (Thumb, 24 bytes, Stack size 0 bytes, tasks.o(i.xTaskGetSchedulerState))
[Called By]
- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
- >> xTimerGenericCommand
xTaskGetTickCount (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(i.xTaskGetTickCount))
[Called By]
xTaskIncrementTick (Thumb, 280 bytes, Stack size 24 bytes, tasks.o(i.xTaskIncrementTick))
[Stack]
- Max Depth = 24
- Call Chain = xTaskIncrementTick
[Calls]- >> vListInsertEnd
- >> uxListRemove
- >> prvResetNextTaskUnblockTime
[Called By]- >> xTaskResumeAll
- >> SysTick_Handler
xTaskPriorityDisinherit (Thumb, 152 bytes, Stack size 16 bytes, tasks.o(i.xTaskPriorityDisinherit))
[Stack]
- Max Depth = 16
- Call Chain = xTaskPriorityDisinherit
[Calls]- >> vListInsertEnd
- >> uxListRemove
[Called By]
xTaskPriorityInherit (Thumb, 150 bytes, Stack size 16 bytes, tasks.o(i.xTaskPriorityInherit))
[Stack]
- Max Depth = 16
- Call Chain = xTaskPriorityInherit
[Calls]- >> vListInsertEnd
- >> uxListRemove
[Called By]
xTaskRemoveFromEventList (Thumb, 130 bytes, Stack size 16 bytes, tasks.o(i.xTaskRemoveFromEventList))
[Stack]
- Max Depth = 16
- Call Chain = xTaskRemoveFromEventList
[Calls]- >> vListInsertEnd
- >> uxListRemove
- >> prvResetNextTaskUnblockTime
[Called By]- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSendFromISR
- >> xQueueGenericSend
- >> xQueueGenericReset
- >> prvUnlockQueue
xTaskResumeAll (Thumb, 222 bytes, Stack size 16 bytes, tasks.o(i.xTaskResumeAll))
[Stack]
- Max Depth = 40
- Call Chain = xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> vListInsertEnd
- >> uxListRemove
- >> vPortExitCritical
- >> vPortEnterCritical
- >> xTaskIncrementTick
- >> prvResetNextTaskUnblockTime
[Called By]- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
- >> vPortFree
- >> pvPortMalloc
- >> prvProcessTimerOrBlockTask
- >> vTaskDelay
- >> prvIdleTask
- >> FLASH_Write
xTimerCreate (Thumb, 54 bytes, Stack size 40 bytes, timers.o(i.xTimerCreate))
[Stack]
- Max Depth = 168
- Call Chain = xTimerCreate ⇒ prvInitialiseNewTimer ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> pvPortMalloc
- >> prvInitialiseNewTimer
[Called By]
xTimerCreateStatic (Thumb, 112 bytes, Stack size 40 bytes, timers.o(i.xTimerCreateStatic))
[Stack]
- Max Depth = 168
- Call Chain = xTimerCreateStatic ⇒ prvInitialiseNewTimer ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]
[Called By]
xTimerCreateTimerTask (Thumb, 100 bytes, Stack size 32 bytes, timers.o(i.xTimerCreateTimerTask))
[Stack]
- Max Depth = 128
- Call Chain = xTimerCreateTimerTask ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> vApplicationGetTimerTaskMemory
- >> prvCheckForValidListAndQueue
- >> xTaskCreateStatic
[Called By]
xTimerGenericCommand (Thumb, 128 bytes, Stack size 48 bytes, timers.o(i.xTimerGenericCommand))
[Stack]
- Max Depth = 152
- Call Chain = xTimerGenericCommand ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xQueueGenericSendFromISR
- >> xQueueGenericSend
- >> xTaskGetSchedulerState
[Called By]- >> prvSwitchTimerLists
- >> prvProcessReceivedCommands
- >> prvProcessExpiredTimer
Local Symbols
cJSON_New_Item (Thumb, 26 bytes, Stack size 8 bytes, cjson.o(i.cJSON_New_Item))
[Stack]
- Max Depth = 8
- Call Chain = cJSON_New_Item
[Calls]
[Called By]- >> cJSON_ParseWithOpts
- >> cJSON_CreateString
- >> cJSON_CreateObject
- >> cJSON_CreateNumber
- >> cJSON_CreateArray
- >> parse_object
- >> parse_array
cJSON_strcasecmp (Thumb, 76 bytes, Stack size 16 bytes, cjson.o(i.cJSON_strcasecmp))
[Stack]
- Max Depth = 16
- Call Chain = cJSON_strcasecmp
[Calls]
[Called By]
cJSON_strdup (Thumb, 40 bytes, Stack size 16 bytes, cjson.o(i.cJSON_strdup))
[Stack]
- Max Depth = 16
- Call Chain = cJSON_strdup
[Calls]- >> strlen
- >> __aeabi_memcpy
[Called By]- >> cJSON_CreateString
- >> cJSON_AddItemToObject
- >> print_value
ensure (Thumb, 104 bytes, Stack size 24 bytes, cjson.o(i.ensure))
[Stack]
- Max Depth = 24
- Call Chain = ensure
[Calls]- >> pow2gt
- >> __aeabi_memcpy
[Called By]- >> print_value
- >> print_string_ptr
- >> print_object
- >> print_number
- >> print_array
parse_array (Thumb, 166 bytes, Stack size 32 bytes, cjson.o(i.parse_array))
[Stack]
- Max Depth = 40 + In Cycle
- Call Chain = parse_array ⇒ parse_value (Cycle)
[Calls]- >> skip
- >> parse_value
- >> cJSON_New_Item
[Called By]
parse_hex4 (Thumb, 276 bytes, Stack size 0 bytes, cjson.o(i.parse_hex4))
[Called By]
parse_number (Thumb, 432 bytes, Stack size 80 bytes, cjson.o(i.parse_number))
[Stack]
- Max Depth = 320
- Call Chain = parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_i2d
- >> __aeabi_dsub
- >> __aeabi_dmul
- >> __aeabi_dadd
- >> __aeabi_d2iz
- >> pow
[Called By]
parse_object (Thumb, 270 bytes, Stack size 32 bytes, cjson.o(i.parse_object))
[Stack]
- Max Depth = 72 + In Cycle
- Call Chain = parse_object ⇒ parse_value (Cycle)
[Calls]- >> skip
- >> parse_value
- >> parse_string
- >> cJSON_New_Item
[Called By]
parse_string (Thumb, 448 bytes, Stack size 40 bytes, cjson.o(i.parse_string))
[Stack]
- Max Depth = 40
- Call Chain = parse_string
[Calls]
[Called By]- >> parse_value
- >> parse_object
parse_value (Thumb, 158 bytes, Stack size 16 bytes, cjson.o(i.parse_value))
[Stack]
- Max Depth = 336
- Call Chain = parse_value ⇒ parse_number ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> parse_string
- >> parse_object
- >> parse_number
- >> parse_array
- >> strncmp
[Called By]- >> cJSON_ParseWithOpts
- >> parse_object
- >> parse_array
pow2gt (Thumb, 28 bytes, Stack size 0 bytes, cjson.o(i.pow2gt))
[Called By]
print_array (Thumb, 578 bytes, Stack size 72 bytes, cjson.o(i.print_array))
[Stack]
- Max Depth = 96 + In Cycle
- Call Chain = print_array ⇒ print_value (Cycle)
[Calls]- >> update
- >> print_value
- >> ensure
- >> strcpy
- >> strlen
- >> __aeabi_memclr4
- >> __aeabi_memcpy
[Called By]
print_number (Thumb, 342 bytes, Stack size 40 bytes, cjson.o(i.print_number))
[Stack]
- Max Depth = 152
- Call Chain = print_number ⇒ floor ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
[Calls]- >> __aeabi_i2d
- >> __aeabi_dsub
- >> __aeabi_cdrcmple
- >> __aeabi_cdcmple
- >> __aeabi_cdcmpeq
- >> ensure
- >> __2sprintf
- >> floor
[Called By]
print_object (Thumb, 1038 bytes, Stack size 88 bytes, cjson.o(i.print_object))
[Stack]
- Max Depth = 152 + In Cycle
- Call Chain = print_object ⇒ print_value (Cycle)
[Calls]- >> update
- >> print_value
- >> print_string_ptr
- >> ensure
- >> strcpy
- >> strlen
- >> __aeabi_memclr4
- >> __aeabi_memcpy
[Called By]
print_string (Thumb, 16 bytes, Stack size 16 bytes, cjson.o(i.print_string))
[Stack]
- Max Depth = 80
- Call Chain = print_string ⇒ print_string_ptr ⇒ ensure
[Calls]
[Called By]
print_string_ptr (Thumb, 442 bytes, Stack size 40 bytes, cjson.o(i.print_string_ptr))
[Stack]
- Max Depth = 64
- Call Chain = print_string_ptr ⇒ ensure
[Calls]- >> ensure
- >> __2sprintf
- >> strcpy
- >> strchr
[Called By]- >> print_string
- >> print_object
print_value (Thumb, 278 bytes, Stack size 24 bytes, cjson.o(i.print_value))
[Stack]
- Max Depth = 176
- Call Chain = print_value ⇒ print_object ⇒ print_value (Cycle)
[Calls]- >> print_string
- >> print_object
- >> print_number
- >> print_array
- >> ensure
- >> cJSON_strdup
- >> strcpy
[Called By]- >> cJSON_Print
- >> print_object
- >> print_array
skip (Thumb, 18 bytes, Stack size 0 bytes, cjson.o(i.skip))
[Called By]
- >> cJSON_ParseWithOpts
- >> parse_object
- >> parse_array
suffix_object (Thumb, 6 bytes, Stack size 0 bytes, cjson.o(i.suffix_object))
[Called By]
update (Thumb, 32 bytes, Stack size 16 bytes, cjson.o(i.update))
[Stack]
- Max Depth = 16
- Call Chain = update
[Calls]
[Called By]- >> print_object
- >> print_array
EC800_extractSignal (Thumb, 70 bytes, Stack size 16 bytes, ec800.o(i.EC800_extractSignal))
[Stack]
- Max Depth = 104
- Call Chain = EC800_extractSignal ⇒ atoi ⇒ strtol ⇒ _strtoul
[Calls]- >> strtok
- >> __aeabi_memclr
- >> atoi
[Called By]
RCC_Delay (Thumb, 36 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(i.RCC_Delay))
[Stack]
- Max Depth = 8
- Call Chain = RCC_Delay
[Called By]
DMA_SetConfig (Thumb, 44 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(i.DMA_SetConfig))
[Stack]
- Max Depth = 12
- Call Chain = DMA_SetConfig
[Called By]
__NVIC_GetPriorityGrouping (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_GetPriorityGrouping))
[Called By]
__NVIC_SetPriority (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority))
[Stack]
- Max Depth = 8
- Call Chain = __NVIC_SetPriority
[Called By]
FLASH_Program_HalfWord (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord))
[Called By]
FLASH_SetErrorCode (Thumb, 124 bytes, Stack size 0 bytes, stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode))
[Called By]
- >> FLASH_WaitForLastOperation
FLASH_MassErase (Thumb, 30 bytes, Stack size 0 bytes, stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase))
[Called By]
TIM_ITRx_SetConfig (Thumb, 18 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig))
[Called By]
- >> HAL_TIM_ConfigClockSource
TIM_TI1_ConfigInputStage (Thumb, 38 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage))
[Stack]
- Max Depth = 12
- Call Chain = TIM_TI1_ConfigInputStage
[Called By]- >> HAL_TIM_ConfigClockSource
TIM_TI2_ConfigInputStage (Thumb, 40 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage))
[Stack]
- Max Depth = 12
- Call Chain = TIM_TI2_ConfigInputStage
[Called By]- >> HAL_TIM_ConfigClockSource
UART_DMAAbortOnError (Thumb, 20 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError))
[Stack]
- Max Depth = 16
- Call Chain = UART_DMAAbortOnError
[Calls]- >> HAL_UART_ErrorCallback
[Address Reference Count : 1]- stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler)
UART_DMAError (Thumb, 80 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMAError))
[Stack]
- Max Depth = 16
- Call Chain = UART_DMAError
[Calls]- >> HAL_UART_ErrorCallback
- >> UART_EndTxTransfer
- >> UART_EndRxTransfer
[Address Reference Count : 1]- stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
UART_DMAReceiveCplt (Thumb, 180 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt))
[Stack]
- Max Depth = 16
- Call Chain = UART_DMAReceiveCplt
[Calls]- >> HAL_UART_RxCpltCallback
- >> HAL_UARTEx_RxEventCallback
[Address Reference Count : 1]- stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
UART_DMARxHalfCplt (Thumb, 36 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt))
[Stack]
- Max Depth = 16
- Call Chain = UART_DMARxHalfCplt
[Calls]- >> HAL_UART_RxHalfCpltCallback
- >> HAL_UARTEx_RxEventCallback
[Address Reference Count : 1]- stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
UART_EndRxTransfer (Thumb, 108 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndRxTransfer))
[Called By]
- >> HAL_UART_IRQHandler
- >> HAL_UART_DMAStop
- >> UART_DMAError
UART_EndTransmit_IT (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_EndTransmit_IT))
[Stack]
- Max Depth = 8
- Call Chain = UART_EndTransmit_IT
[Calls]- >> HAL_UART_TxCpltCallback
[Called By]
UART_EndTxTransfer (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndTxTransfer))
[Called By]
- >> HAL_UART_DMAStop
- >> UART_DMAError
UART_Receive_IT (Thumb, 252 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.UART_Receive_IT))
[Stack]
- Max Depth = 24
- Call Chain = UART_Receive_IT
[Calls]- >> HAL_UART_RxCpltCallback
- >> HAL_UARTEx_RxEventCallback
[Called By]
UART_SetConfig (Thumb, 248 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_SetConfig))
[Stack]
- Max Depth = 20
- Call Chain = UART_SetConfig ⇒ HAL_RCC_GetPCLK1Freq
[Calls]- >> HAL_RCC_GetPCLK1Freq
- >> HAL_RCC_GetPCLK2Freq
[Called By]
UART_Transmit_IT (Thumb, 96 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_Transmit_IT))
[Called By]
UART_WaitOnFlagUntilTimeout (Thumb, 146 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
[Stack]
- Max Depth = 24
- Call Chain = UART_WaitOnFlagUntilTimeout
[Calls]
[Called By]
prvCopyDataFromQueue (Thumb, 42 bytes, Stack size 16 bytes, queue.o(i.prvCopyDataFromQueue))
[Stack]
- Max Depth = 16
- Call Chain = prvCopyDataFromQueue
[Calls]
[Called By]
prvCopyDataToQueue (Thumb, 124 bytes, Stack size 24 bytes, queue.o(i.prvCopyDataToQueue))
[Stack]
- Max Depth = 40
- Call Chain = prvCopyDataToQueue ⇒ xTaskPriorityDisinherit
[Calls]- >> xTaskPriorityDisinherit
- >> __aeabi_memcpy
[Called By]- >> xQueueGenericSendFromISR
- >> xQueueGenericSend
prvGetDisinheritPriorityAfterTimeout (Thumb, 20 bytes, Stack size 0 bytes, queue.o(i.prvGetDisinheritPriorityAfterTimeout))
[Called By]
prvInitialiseMutex (Thumb, 28 bytes, Stack size 8 bytes, queue.o(i.prvInitialiseMutex))
[Stack]
- Max Depth = 112
- Call Chain = prvInitialiseMutex ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]
[Called By]- >> xQueueCreateMutexStatic
- >> xQueueCreateMutex
prvInitialiseNewQueue (Thumb, 42 bytes, Stack size 24 bytes, queue.o(i.prvInitialiseNewQueue))
[Stack]
- Max Depth = 56
- Call Chain = prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]
[Called By]- >> xQueueGenericCreateStatic
- >> xQueueGenericCreate
prvIsQueueEmpty (Thumb, 26 bytes, Stack size 16 bytes, queue.o(i.prvIsQueueEmpty))
[Stack]
- Max Depth = 16
- Call Chain = prvIsQueueEmpty
[Calls]- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]- >> xQueueSemaphoreTake
- >> xQueueReceive
prvIsQueueFull (Thumb, 30 bytes, Stack size 16 bytes, queue.o(i.prvIsQueueFull))
[Stack]
- Max Depth = 16
- Call Chain = prvIsQueueFull
[Calls]- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]
prvUnlockQueue (Thumb, 126 bytes, Stack size 16 bytes, queue.o(i.prvUnlockQueue))
[Stack]
- Max Depth = 32
- Call Chain = prvUnlockQueue ⇒ xTaskRemoveFromEventList
[Calls]- >> xTaskRemoveFromEventList
- >> vTaskMissedYield
- >> vPortExitCritical
- >> vPortEnterCritical
[Called By]- >> xQueueSemaphoreTake
- >> xQueueReceive
- >> xQueueGenericSend
- >> vQueueWaitForMessageRestricted
prvAddCurrentTaskToDelayedList (Thumb, 100 bytes, Stack size 24 bytes, tasks.o(i.prvAddCurrentTaskToDelayedList))
[Stack]
- Max Depth = 32
- Call Chain = prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> vListInsertEnd
- >> vListInsert
- >> uxListRemove
[Called By]- >> vTaskPlaceOnEventListRestricted
- >> vTaskPlaceOnEventList
- >> vTaskDelay
prvAddNewTaskToReadyList (Thumb, 154 bytes, Stack size 8 bytes, tasks.o(i.prvAddNewTaskToReadyList))
[Stack]
- Max Depth = 16
- Call Chain = prvAddNewTaskToReadyList ⇒ prvInitialiseTaskLists
[Calls]- >> vListInsertEnd
- >> vPortExitCritical
- >> vPortEnterCritical
- >> prvInitialiseTaskLists
[Called By]- >> xTaskCreateStatic
- >> xTaskCreate
prvCheckTasksWaitingTermination (Thumb, 60 bytes, Stack size 8 bytes, tasks.o(i.prvCheckTasksWaitingTermination))
[Stack]
- Max Depth = 72
- Call Chain = prvCheckTasksWaitingTermination ⇒ prvDeleteTCB ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> uxListRemove
- >> vPortExitCritical
- >> vPortEnterCritical
- >> prvDeleteTCB
[Called By]
prvDeleteTCB (Thumb, 80 bytes, Stack size 8 bytes, tasks.o(i.prvDeleteTCB))
[Stack]
- Max Depth = 64
- Call Chain = prvDeleteTCB ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]
[Called By]- >> prvCheckTasksWaitingTermination
prvGetExpectedIdleTime (Thumb, 52 bytes, Stack size 0 bytes, tasks.o(i.prvGetExpectedIdleTime))
[Called By]
prvIdleTask (Thumb, 108 bytes, Stack size 0 bytes, tasks.o(i.prvIdleTask))
[Stack]
- Max Depth = 72
- Call Chain = prvIdleTask ⇒ prvCheckTasksWaitingTermination ⇒ prvDeleteTCB ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick
[Calls]- >> xTaskResumeAll
- >> vTaskSuspendAll
- >> vPortSuppressTicksAndSleep
- >> prvGetExpectedIdleTime
- >> prvCheckTasksWaitingTermination
[Address Reference Count : 1]- tasks.o(i.vTaskStartScheduler)
prvInitialiseNewTask (Thumb, 182 bytes, Stack size 40 bytes, tasks.o(i.prvInitialiseNewTask))
[Stack]
- Max Depth = 40
- Call Chain = prvInitialiseNewTask
[Calls]- >> vListInitialiseItem
- >> pxPortInitialiseStack
- >> __aeabi_memset
[Called By]- >> xTaskCreateStatic
- >> xTaskCreate
prvInitialiseTaskLists (Thumb, 70 bytes, Stack size 8 bytes, tasks.o(i.prvInitialiseTaskLists))
[Stack]
- Max Depth = 8
- Call Chain = prvInitialiseTaskLists
[Calls]
[Called By]- >> prvAddNewTaskToReadyList
prvResetNextTaskUnblockTime (Thumb, 42 bytes, Stack size 0 bytes, tasks.o(i.prvResetNextTaskUnblockTime))
[Called By]
- >> vTaskSuspend
- >> xTaskRemoveFromEventList
- >> xTaskResumeAll
- >> xTaskIncrementTick
prvCheckForValidListAndQueue (Thumb, 78 bytes, Stack size 8 bytes, timers.o(i.prvCheckForValidListAndQueue))
[Stack]
- Max Depth = 96
- Call Chain = prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> xQueueGenericCreateStatic
- >> vQueueAddToRegistry
- >> vPortExitCritical
- >> vPortEnterCritical
- >> vListInitialise
[Called By]- >> prvInitialiseNewTimer
- >> xTimerCreateTimerTask
prvGetNextExpireTime (Thumb, 36 bytes, Stack size 0 bytes, timers.o(i.prvGetNextExpireTime))
[Called By]
prvInitialiseNewTimer (Thumb, 78 bytes, Stack size 32 bytes, timers.o(i.prvInitialiseNewTimer))
[Stack]
- Max Depth = 128
- Call Chain = prvInitialiseNewTimer ⇒ prvCheckForValidListAndQueue ⇒ xQueueGenericCreateStatic ⇒ prvInitialiseNewQueue ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList
[Calls]- >> vListInitialiseItem
- >> prvCheckForValidListAndQueue
[Called By]- >> xTimerCreateStatic
- >> xTimerCreate
prvInsertTimerInActiveList (Thumb, 80 bytes, Stack size 24 bytes, timers.o(i.prvInsertTimerInActiveList))
[Stack]
- Max Depth = 32
- Call Chain = prvInsertTimerInActiveList ⇒ vListInsert
[Calls]
[Called By]- >> prvProcessReceivedCommands
- >> prvProcessExpiredTimer
prvProcessExpiredTimer (Thumb, 94 bytes, Stack size 24 bytes, timers.o(i.prvProcessExpiredTimer))
[Stack]
- Max Depth = 176
- Call Chain = prvProcessExpiredTimer ⇒ xTimerGenericCommand ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> uxListRemove
- >> xTimerGenericCommand
- >> prvInsertTimerInActiveList
[Called By]- >> prvProcessTimerOrBlockTask
prvProcessReceivedCommands (Thumb, 290 bytes, Stack size 48 bytes, timers.o(i.prvProcessReceivedCommands))
[Stack]
- Max Depth = 248
- Call Chain = prvProcessReceivedCommands ⇒ prvSampleTimeNow ⇒ prvSwitchTimerLists ⇒ xTimerGenericCommand ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> xQueueReceive
- >> uxListRemove
- >> vPortFree
- >> xTimerGenericCommand
- >> prvSampleTimeNow
- >> prvInsertTimerInActiveList
[Called By]
prvProcessTimerOrBlockTask (Thumb, 102 bytes, Stack size 24 bytes, timers.o(i.prvProcessTimerOrBlockTask))
[Stack]
- Max Depth = 224
- Call Chain = prvProcessTimerOrBlockTask ⇒ prvSampleTimeNow ⇒ prvSwitchTimerLists ⇒ xTimerGenericCommand ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> vQueueWaitForMessageRestricted
- >> xTaskResumeAll
- >> vTaskSuspendAll
- >> prvSampleTimeNow
- >> prvProcessExpiredTimer
[Called By]
prvSampleTimeNow (Thumb, 40 bytes, Stack size 16 bytes, timers.o(i.prvSampleTimeNow))
[Stack]
- Max Depth = 200
- Call Chain = prvSampleTimeNow ⇒ prvSwitchTimerLists ⇒ xTimerGenericCommand ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> prvSwitchTimerLists
- >> xTaskGetTickCount
[Called By]- >> prvProcessTimerOrBlockTask
- >> prvProcessReceivedCommands
prvSwitchTimerLists (Thumb, 150 bytes, Stack size 32 bytes, timers.o(i.prvSwitchTimerLists))
[Stack]
- Max Depth = 184
- Call Chain = prvSwitchTimerLists ⇒ xTimerGenericCommand ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> vListInsert
- >> uxListRemove
- >> xTimerGenericCommand
[Called By]
prvTimerTask (Thumb, 26 bytes, Stack size 8 bytes, timers.o(i.prvTimerTask))
[Stack]
- Max Depth = 256
- Call Chain = prvTimerTask ⇒ prvProcessReceivedCommands ⇒ prvSampleTimeNow ⇒ prvSwitchTimerLists ⇒ xTimerGenericCommand ⇒ xQueueGenericSend ⇒ vTaskPlaceOnEventList ⇒ prvAddCurrentTaskToDelayedList ⇒ vListInsert
[Calls]- >> prvProcessTimerOrBlockTask
- >> prvProcessReceivedCommands
- >> prvGetNextExpireTime
[Address Reference Count : 1]- timers.o(i.xTimerCreateTimerTask)
TimerCallback (Thumb, 22 bytes, Stack size 16 bytes, cmsis_os2.o(i.TimerCallback))
[Stack]
- Max Depth = 32
- Call Chain = TimerCallback ⇒ pvTimerGetTimerID
[Calls]
[Address Reference Count : 1]- cmsis_os2.o(i.osTimerNew)
__get_BASEPRI (Thumb, 6 bytes, Stack size 0 bytes, cmsis_os2.o(i.__get_BASEPRI))
[Called By]
- >> osMutexRelease
- >> osMutexAcquire
- >> osDelay
- >> osTimerNew
- >> osThreadNew
- >> osSemaphoreNew
- >> osMutexNew
- >> osKernelStart
- >> osKernelInitialize
__get_IPSR (Thumb, 6 bytes, Stack size 0 bytes, cmsis_os2.o(i.__get_IPSR))
[Called By]
- >> osMutexRelease
- >> osMutexAcquire
- >> osDelay
- >> osTimerNew
- >> osThreadNew
- >> osSemaphoreNew
- >> osMutexNew
- >> osKernelStart
- >> osKernelInitialize
__get_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, cmsis_os2.o(i.__get_PRIMASK))
[Called By]
- >> osMutexRelease
- >> osMutexAcquire
- >> osDelay
- >> osTimerNew
- >> osThreadNew
- >> osSemaphoreNew
- >> osMutexNew
- >> osKernelStart
- >> osKernelInitialize
prvHeapInit (Thumb, 98 bytes, Stack size 12 bytes, heap_4.o(i.prvHeapInit))
[Stack]
- Max Depth = 12
- Call Chain = prvHeapInit
[Called By]
prvInsertBlockIntoFreeList (Thumb, 96 bytes, Stack size 8 bytes, heap_4.o(i.prvInsertBlockIntoFreeList))
[Stack]
- Max Depth = 8
- Call Chain = prvInsertBlockIntoFreeList
[Called By]- >> vPortFree
- >> pvPortMalloc
prvTaskExitError (Thumb, 60 bytes, Stack size 0 bytes, port.o(i.prvTaskExitError))
[Address Reference Count : 1]
- port.o(i.pxPortInitialiseStack)
atk_ms6050_iic_delay (Thumb, 10 bytes, Stack size 4 bytes, atk_ms6050_iic.o(i.atk_ms6050_iic_delay))
[Stack]
- Max Depth = 12
- Call Chain = atk_ms6050_iic_delay ⇒ DWT_Delay_us
[Calls]
[Called By]- >> atk_ms6050_iic_nack
- >> atk_ms6050_iic_ack
- >> atk_ms6050_iic_wait_ack
- >> atk_ms6050_iic_stop
- >> atk_ms6050_iic_start
- >> atk_ms6050_iic_send_byte
- >> atk_ms6050_iic_read_byte
decode_gesture (Thumb, 94 bytes, Stack size 24 bytes, inv_mpu_dmp_motion_driver.o(i.decode_gesture))
[Stack]
- Max Depth = 24
- Call Chain = decode_gesture
[Called By]
_fp_digits (Thumb, 366 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)
[Calls]
- >> __aeabi_dmul
- >> __aeabi_dadd
- >> __aeabi_cdrcmple
- >> __aeabi_ddiv
- >> __aeabi_uldivmod
- >> __aeabi_d2ulz
[Called By]
_printf_core (Thumb, 1744 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
[Calls]
- >> _printf_pre_padding
- >> _printf_post_padding
- >> _fp_digits
- >> __aeabi_uldivmod
- >> __aeabi_uidivmod
[Called By]- >> __0sprintf
- >> __0snprintf
- >> __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]
_sputc (Thumb, 10 bytes, Stack size 0 bytes, printfa.o(i._sputc))
[Called By]
[Address Reference Count : 1]
_scanf_char_input (Thumb, 12 bytes, Stack size 0 bytes, scanf_char.o(.text))
[Address Reference Count : 1]
Undefined Global Symbols