ADC1_2_IRQHandler ⇒ ADC1_2_IRQHandler
Function Pointers
- ADC1_2_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- ADC3_4_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- AppTask from application.o(i.AppTask) referenced from application.o(i.InitTask)
- BusFault_Handler from n32g45x_it.o(i.BusFault_Handler) referenced from startup_n32g45x.o(RESET)
- CAN1_RX1_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- CAN1_SCE_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- CAN2_RX0_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- CAN2_RX1_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- CAN2_SCE_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- CAN2_TX_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- COMP7_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- COMP_1_2_3_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- COMP_4_5_6_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- ClusterTask from algorithm.o(i.ClusterTask) referenced from application.o(i.InitTask)
- DMA1_Channel1_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA1_Channel2_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA1_Channel3_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA1_Channel4_IRQHandler from log.o(i.DMA1_Channel4_IRQHandler) referenced from startup_n32g45x.o(RESET)
- DMA1_Channel5_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA1_Channel6_IRQHandler from usart.o(i.DMA1_Channel6_IRQHandler) referenced from startup_n32g45x.o(RESET)
- DMA1_Channel7_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA1_Channel8_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel1_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel2_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel3_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel4_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel5_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel6_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel7_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DMA2_Channel8_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DVP_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- DebugMon_Handler from n32g45x_it.o(i.DebugMon_Handler) referenced from startup_n32g45x.o(RESET)
- DroneCAN_OnReception from dri_can.o(i.DroneCAN_OnReception) referenced from dri_can.o(i.can_init)
- DroneCAN_RxThreadEntry from dri_can.o(i.DroneCAN_RxThreadEntry) referenced from dri_can.o(i.DroneCAN_Start)
- DroneCAN_ShouldAccept from dri_can.o(i.DroneCAN_ShouldAccept) referenced from dri_can.o(i.can_init)
- ETH_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- ETH_WKUP_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- EXTI0_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- EXTI15_10_IRQHandler from gpio.o(i.EXTI15_10_IRQHandler) referenced from startup_n32g45x.o(RESET)
- EXTI1_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- EXTI2_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- EXTI3_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- EXTI4_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- EXTI9_5_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- FLASH_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- HardFault_Handler from context_rvds.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C1_ER_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C1_EV_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C2_ER_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C2_EV_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C3_ER_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C3_EV_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C4_ER_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- I2C4_EV_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- InitTask from application.o(i.InitTask) referenced from application.o(i.rt_application_init)
- MMU_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- MemManage_Handler from n32g45x_it.o(i.MemManage_Handler) referenced from startup_n32g45x.o(RESET)
- NMI_Handler from n32g45x_it.o(i.NMI_Handler) referenced from startup_n32g45x.o(RESET)
- NodeStatusTask from algorithm.o(i.NodeStatusTask) referenced from application.o(i.InitTask)
- PVD_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- ParameterTask from application.o(i.ParameterTask) referenced from application.o(i.InitTask)
- PendSV_Handler from context_rvds.o(.text) referenced from startup_n32g45x.o(RESET)
- QSPI_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- RCC_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- RESERVE48_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- RSRAM_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- RTCAlarm_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- RTC_WKUP_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- Reset_Handler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- SAC_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- SDIO_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- SPI1_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- SPI2_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- SPI3_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- SVC_Handler from n32g45x_it.o(i.SVC_Handler) referenced from startup_n32g45x.o(RESET)
- SysTick_Handler from bsp.o(i.SysTick_Handler) referenced from startup_n32g45x.o(RESET)
- SystemInit from system_n32g45x.o(i.SystemInit) referenced from startup_n32g45x.o(.text)
- TAMPER_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM1_BRK_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM1_CC_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM1_TRG_COM_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM1_UP_IRQHandler from drv_hwtimer.o(i.TIM1_UP_IRQHandler) referenced from startup_n32g45x.o(RESET)
- TIM2_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM3_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM4_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM5_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM6_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM7_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM8_BRK_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM8_CC_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM8_TRG_COM_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TIM8_UP_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- TSC_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- UART4_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- UART5_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- UART6_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- UART7_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- USART1_IRQHandler from log.o(i.USART1_IRQHandler) referenced from startup_n32g45x.o(RESET)
- USART2_IRQHandler from usart.o(i.USART2_IRQHandler) referenced from startup_n32g45x.o(RESET)
- USART3_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- USBWakeUp_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- USB_HP_CAN1_TX_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- USB_LP_CAN1_RX0_IRQHandler from dri_can.o(i.USB_LP_CAN1_RX0_IRQHandler) referenced from startup_n32g45x.o(RESET)
- UsageFault_Handler from n32g45x_it.o(i.UsageFault_Handler) referenced from startup_n32g45x.o(RESET)
- WWDG_IRQHandler from startup_n32g45x.o(.text) referenced from startup_n32g45x.o(RESET)
- __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_n32g45x.o(.text)
- _snputc from printfa.o(i._snputc) referenced from printfa.o(i.__0vsnprintf)
- cmd_free from msh.o(i.cmd_free) referenced from msh.o(FSymTab)
- cmd_ps from msh.o(i.cmd_ps) referenced from msh.o(FSymTab)
- hello from cmd.o(i.hello) referenced from cmd.o(FSymTab)
- list from cmd.o(i.list) referenced from cmd.o(FSymTab)
- list_device from cmd.o(i.list_device) referenced 2 times from cmd.o(FSymTab)
- list_mem from mem.o(i.list_mem) referenced from mem.o(FSymTab)
- list_mutex from cmd.o(i.list_mutex) referenced 2 times from cmd.o(FSymTab)
- list_sem from cmd.o(i.list_sem) referenced 2 times from cmd.o(FSymTab)
- list_thread from cmd.o(i.list_thread) referenced 2 times from cmd.o(FSymTab)
- list_timer from cmd.o(i.list_timer) referenced 2 times from cmd.o(FSymTab)
- main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
- msh_help from msh.o(i.msh_help) referenced from msh.o(FSymTab)
- rt_thread_exit from thread.o(i.rt_thread_exit) referenced from thread.o(i._rt_thread_init)
- rt_thread_idle_entry from idle.o(i.rt_thread_idle_entry) referenced from idle.o(i.rt_thread_idle_init)
- rt_thread_timeout from thread.o(i.rt_thread_timeout) referenced from thread.o(i._rt_thread_init)
- version from cmd.o(i.version) referenced 2 times from cmd.o(FSymTab)
Global Symbols
__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]
_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
[Calls]
__main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
[Called By]
_main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
_main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
_main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
__rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
__rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
__rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
rt_hw_interrupt_disable (Thumb, 8 bytes, Stack size 0 bytes, context_rvds.o(.text))
[Called By]
- >> rt_sem_take
- >> rt_sem_release
- >> rt_sem_create
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_system_heap_init
- >> main
- >> rt_interrupt_leave
- >> rt_interrupt_enter
- >> myflash_erasepage
- >> FLASH_LOG
- >> DroneCAN_RxQueuePop
- >> DroneCAN_OnReception
- >> rt_exit_critical
- >> rt_enter_critical
- >> rt_timer_start
- >> rt_thread_suspend
- >> rt_thread_resume
- >> rt_thread_control
- >> rt_schedule
- >> rt_object_allocate
- >> rt_object_delete
- >> rt_interrupt_get_nest
- >> rt_thread_idle_excute
- >> rt_object_init
- >> rt_object_detach
- >> rt_malloc
- >> rt_free
- >> rt_timer_check
- >> rt_thread_yield
- >> rt_timer_stop
- >> rt_timer_detach
- >> rt_thread_sleep
- >> rt_thread_exit
- >> rt_thread_delete
- >> rt_schedule_remove_thread
- >> rt_schedule_insert_thread
- >> _rt_scheduler_stack_check
rt_hw_interrupt_enable (Thumb, 6 bytes, Stack size 0 bytes, context_rvds.o(.text))
[Called By]
- >> rt_sem_take
- >> rt_sem_release
- >> rt_sem_create
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_system_heap_init
- >> rt_interrupt_leave
- >> rt_interrupt_enter
- >> myflash_erasepage
- >> FLASH_LOG
- >> DroneCAN_RxQueuePop
- >> DroneCAN_OnReception
- >> rt_exit_critical
- >> rt_enter_critical
- >> rt_timer_start
- >> rt_thread_suspend
- >> rt_thread_resume
- >> rt_thread_control
- >> rt_schedule
- >> rt_object_allocate
- >> rt_object_delete
- >> rt_interrupt_get_nest
- >> rt_thread_idle_excute
- >> rt_object_init
- >> rt_object_detach
- >> rt_malloc
- >> rt_free
- >> rt_timer_check
- >> rt_thread_yield
- >> rt_timer_stop
- >> rt_timer_detach
- >> rt_thread_sleep
- >> rt_thread_exit
- >> rt_thread_delete
- >> rt_schedule_remove_thread
- >> rt_schedule_insert_thread
rt_hw_context_switch (Thumb, 32 bytes, Stack size 0 bytes, context_rvds.o(.text))
[Called By]
rt_hw_context_switch_interrupt (Thumb, 0 bytes, Stack size 0 bytes, context_rvds.o(.text))
[Called By]
PendSV_Handler (Thumb, 108 bytes, Stack size 0 bytes, context_rvds.o(.text))
[Address Reference Count : 1]
rt_hw_context_switch_to (Thumb, 70 bytes, Stack size 0 bytes, context_rvds.o(.text))
[Called By]
- >> rt_system_scheduler_start
rt_hw_interrupt_thread_switch (Thumb, 2 bytes, Stack size 0 bytes, context_rvds.o(.text), UNUSED)
HardFault_Handler (Thumb, 56 bytes, Stack size 0 bytes, context_rvds.o(.text))
[Stack]
- Max Depth = 248
- Call Chain = HardFault_Handler ⇒ rt_hw_hard_fault_exception ⇒ list_thread ⇒ _list_thread ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_hw_hard_fault_exception
[Address Reference Count : 1]
Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Calls]
[Called By]
[Address Reference Count : 1]
ADC3_4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
CAN2_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
CAN2_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
CAN2_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
CAN2_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
COMP7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
COMP_1_2_3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
COMP_4_5_6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA1_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA1_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA1_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA1_Channel8_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DMA2_Channel8_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
DVP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
ETH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
ETH_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C3_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C3_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C4_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
I2C4_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
MMU_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
QSPI_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
RSRAM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
RTCAlarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
RTC_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
SAC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
SDIO_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
SPI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM1_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM1_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM8_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM8_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM8_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TIM8_UP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
TSC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
UART4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
UART5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
UART6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
UART7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
USBWakeUp_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
USB_HP_CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
__aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = __aeabi_uldivmod
[Calls]- >> __aeabi_llsr
- >> __aeabi_llsl
[Called By]- >> DroneCAN_GetTimeUsec
- >> _printf_core
- >> _fp_digits
__aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
[Called By]
- >> __aeabi_dadd
- >> canardDecodeScalar
- >> _double_epilogue
- >> __aeabi_d2ulz
- >> __aeabi_uldivmod
_ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
__aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
[Called By]
- >> crcAddSignature
- >> _double_epilogue
- >> __aeabi_d2ulz
- >> __aeabi_uldivmod
_ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
__aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
[Called By]
- >> parse_radar_response
- >> AppTask
- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_SendBeginFirmwareUpdateResponse
- >> DroneCAN_SaveBeginFirmwareUpdateRequest
- >> DroneCAN_HandleRxMessage
- >> enqueueTxFrames
__aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text))
[Called By]
- >> DroneCAN_UpdateContextCalcCRC32
- >> DroneCAN_RxQueuePushFromIsr
- >> DroneCAN_RxQueuePop
- >> PointCloudFilter
- >> _list_device
- >> createRxState
__aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
__aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))
[Called By]
- >> _memset$wrapper
- >> __aeabi_memclr
__aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
__aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
__aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
[Calls]
[Called By]- >> AppTask
- >> _uavcan_protocol_file_BeginFirmwareUpdateResponse_encode
- >> _uavcan_protocol_dynamic_node_id_Allocation_encode
- >> _uavcan_protocol_GetNodeInfoResponse_encode
- >> _uavcan_equipment_range_sensor_Measurement_encode
__aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
[Called By]
- >> parse_radar_response
- >> canardInit
- >> canardHandleRxFrame
- >> canardBroadcast
- >> DroneCAN_UpdateContextWrite
- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_SendBeginFirmwareUpdateResponse
- >> DroneCAN_HandleDynamicNodeIDAllocation
- >> Euler_ByQuaternionEnu
- >> PointCloudFilter
- >> DetectObstacle_ByDynamicY
- >> createTxItem
- >> createRxState
__aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
_memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
[Calls]
strlen (Thumb, 14 bytes, Stack size 0 bytes, strlen.o(.text))
[Called By]
- >> DroneCAN_SendBeginFirmwareUpdateResponse
memcmp (Thumb, 26 bytes, Stack size 12 bytes, memcmp.o(.text))
[Stack]
- Max Depth = 12
- Call Chain = memcmp
[Called By]- >> AppTask
- >> DroneCAN_UpdateContextWrite
- >> DroneCAN_HandleDynamicNodeIDAllocation
strncmp (Thumb, 30 bytes, Stack size 12 bytes, strncmp.o(.text))
[Stack]
- Max Depth = 12
- Call Chain = strncmp
[Called By]
__aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
[Calls]
- >> __aeabi_lasr
- >> _double_round
- >> _double_epilogue
- >> __aeabi_llsl
[Called By]- >> _fp_digits
- >> __aeabi_dsub
- >> __aeabi_drsub
__aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
[Calls]
__aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
[Calls]
__aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text), UNUSED)
[Calls]
[Called By]
__aeabi_cdrcmple (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
[Called By]
__aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_d2f
[Calls]
[Called By]
__aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
__aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
[Called By]
__aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
[Called By]
_ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
__I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
_float_round (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
[Called By]
_float_epilogue (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text), UNUSED)
_double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text), UNUSED)
[Called By]
- >> __aeabi_dadd
- >> _double_epilogue
- >> __aeabi_ddiv
_double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text), UNUSED)
[Calls]
- >> _double_round
- >> __aeabi_llsr
- >> __aeabi_llsl
[Called By]- >> __aeabi_dmul
- >> __aeabi_dadd
__aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text), UNUSED)
[Calls]
[Called By]
__aeabi_d2ulz (Thumb, 48 bytes, Stack size 0 bytes, dfixul.o(.text), UNUSED)
[Calls]
- >> __aeabi_llsr
- >> __aeabi_llsl
[Called By]
__scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
[Calls]
- >> __main_after_scatterload
[Called By]
__scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
__decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
__decompress1 (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, n32g45x_it.o(i.BusFault_Handler))
[Address Reference Count : 1]
CAN1_InitFilter (Thumb, 258 bytes, Stack size 8 bytes, n32g45x_can.o(i.CAN1_InitFilter))
[Stack]
- Max Depth = 8
- Call Chain = CAN1_InitFilter
[Called By]
CAN_DeInit (Thumb, 50 bytes, Stack size 8 bytes, n32g45x_can.o(i.CAN_DeInit))
[Stack]
- Max Depth = 8
- Call Chain = CAN_DeInit
[Calls]- >> RCC_EnableAPB1PeriphReset
[Called By]
CAN_GetIntStatus (Thumb, 284 bytes, Stack size 16 bytes, n32g45x_can.o(i.CAN_GetIntStatus))
[Stack]
- Max Depth = 16
- Call Chain = CAN_GetIntStatus
[Calls]
[Called By]- >> USB_LP_CAN1_RX0_IRQHandler
CAN_GetLastErrCode (Thumb, 12 bytes, Stack size 0 bytes, n32g45x_can.o(i.CAN_GetLastErrCode))
[Called By]
CAN_INTConfig (Thumb, 18 bytes, Stack size 0 bytes, n32g45x_can.o(i.CAN_INTConfig))
[Called By]
CAN_Init (Thumb, 276 bytes, Stack size 12 bytes, n32g45x_can.o(i.CAN_Init))
[Stack]
- Max Depth = 12
- Call Chain = CAN_Init
[Called By]
CAN_InitStruct (Thumb, 32 bytes, Stack size 0 bytes, n32g45x_can.o(i.CAN_InitStruct))
[Called By]
CAN_ReceiveMessage (Thumb, 240 bytes, Stack size 8 bytes, n32g45x_can.o(i.CAN_ReceiveMessage))
[Stack]
- Max Depth = 8
- Call Chain = CAN_ReceiveMessage
[Called By]- >> USB_LP_CAN1_RX0_IRQHandler
CAN_TransmitMessage (Thumb, 294 bytes, Stack size 8 bytes, n32g45x_can.o(i.CAN_TransmitMessage))
[Stack]
- Max Depth = 8
- Call Chain = CAN_TransmitMessage
[Called By]
CAN_TransmitSTS (Thumb, 138 bytes, Stack size 8 bytes, n32g45x_can.o(i.CAN_TransmitSTS))
[Stack]
- Max Depth = 8
- Call Chain = CAN_TransmitSTS
[Called By]
ClusterTask (Thumb, 110 bytes, Stack size 0 bytes, algorithm.o(i.ClusterTask))
[Stack]
- Max Depth = 1720
- Call Chain = ClusterTask ⇒ DetectObstacle_ByDynamicY
[Calls]- >> rt_sem_take
- >> DroneCAN_SendRangeSensorMeasurement
- >> DroneCAN_IsNodeIDAllocated
- >> PointCloudFilter
- >> PointCloudConvert
- >> DetectObstacle_ByDynamicY
[Address Reference Count : 1]- application.o(i.InitTask)
DMA1_Channel4_IRQHandler (Thumb, 42 bytes, Stack size 8 bytes, log.o(i.DMA1_Channel4_IRQHandler))
[Stack]
- Max Depth = 152
- Call Chain = DMA1_Channel4_IRQHandler ⇒ rt_sem_release ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_sem_release
- >> DMA_GetIntStatus
- >> DMA_ClrIntPendingBit
- >> rt_interrupt_leave
- >> rt_interrupt_enter
[Address Reference Count : 1]
DMA1_Channel6_IRQHandler (Thumb, 94 bytes, Stack size 8 bytes, usart.o(i.DMA1_Channel6_IRQHandler))
[Stack]
- Max Depth = 152
- Call Chain = DMA1_Channel6_IRQHandler ⇒ rt_sem_release ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_sem_release
- >> DMA_GetIntStatus
- >> DMA_GetCurrDataCounter
- >> DMA_ClrIntPendingBit
[Address Reference Count : 1]
DMA_ClrIntPendingBit (Thumb, 4 bytes, Stack size 0 bytes, n32g45x_dma.o(i.DMA_ClrIntPendingBit))
[Called By]
- >> DMA1_Channel4_IRQHandler
- >> DMA1_Channel6_IRQHandler
DMA_GetCurrDataCounter (Thumb, 8 bytes, Stack size 0 bytes, n32g45x_dma.o(i.DMA_GetCurrDataCounter))
[Called By]
- >> DMA1_Channel6_IRQHandler
DMA_GetIntStatus (Thumb, 24 bytes, Stack size 8 bytes, n32g45x_dma.o(i.DMA_GetIntStatus))
[Stack]
- Max Depth = 8
- Call Chain = DMA_GetIntStatus
[Called By]- >> DMA1_Channel4_IRQHandler
- >> DMA1_Channel6_IRQHandler
DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, n32g45x_it.o(i.DebugMon_Handler))
[Address Reference Count : 1]
DetectObstacle_ByDynamicY (Thumb, 894 bytes, Stack size 1720 bytes, algorithm.o(i.DetectObstacle_ByDynamicY))
[Stack]
- Max Depth = 1720
- Call Chain = DetectObstacle_ByDynamicY
[Calls]- >> KelmanFilter_1Dimension
- >> __aeabi_memclr4
[Called By]
DroneCAN_IsNodeIDAllocated (Thumb, 24 bytes, Stack size 8 bytes, dri_can.o(i.DroneCAN_IsNodeIDAllocated))
[Stack]
- Max Depth = 8
- Call Chain = DroneCAN_IsNodeIDAllocated
[Calls]
[Called By]- >> NodeStatusTask
- >> ClusterTask
- >> DroneCAN_UseStaticNodeID
- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_RxThreadEntry
- >> DroneCAN_OnReception
- >> DroneCAN_IsRelevantFrame
- >> DroneCAN_HandleDynamicNodeIDAllocation
- >> DroneCAN_SendRangeSensorMeasurement
- >> DroneCAN_SendNodeStatus
DroneCAN_SendNodeStatus (Thumb, 90 bytes, Stack size 48 bytes, dri_can.o(i.DroneCAN_SendNodeStatus))
[Stack]
- Max Depth = 292
- Call Chain = DroneCAN_SendNodeStatus ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardBroadcast
- >> _uavcan_protocol_NodeStatus_encode
- >> DroneCAN_TxUnlock
- >> DroneCAN_TxLock
- >> DroneCAN_FlushTxQueue
- >> DroneCAN_IsNodeIDAllocated
[Called By]- >> NodeStatusTask
- >> DroneCAN_SendInitialNodeStatus
DroneCAN_SendRangeSensorMeasurement (Thumb, 84 bytes, Stack size 56 bytes, dri_can.o(i.DroneCAN_SendRangeSensorMeasurement))
[Stack]
- Max Depth = 300
- Call Chain = DroneCAN_SendRangeSensorMeasurement ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardBroadcast
- >> _uavcan_equipment_range_sensor_Measurement_encode
- >> DroneCAN_TxUnlock
- >> DroneCAN_TxLock
- >> DroneCAN_FlushTxQueue
- >> DroneCAN_IsNodeIDAllocated
[Called By]
DroneCAN_Start (Thumb, 124 bytes, Stack size 32 bytes, dri_can.o(i.DroneCAN_Start))
[Stack]
- Max Depth = 336
- Call Chain = DroneCAN_Start ⇒ rt_thread_init ⇒ _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_startup
- >> rt_thread_init
- >> rt_mutex_init
- >> rt_sem_init
- >> DroneCAN_DNA_Reset
- >> rt_tick_get
[Called By]
DroneCAN_UpdateContextCalcCRC32 (Thumb, 76 bytes, Stack size 240 bytes, dri_flash.o(i.DroneCAN_UpdateContextCalcCRC32))
[Stack]
- Max Depth = 240
- Call Chain = DroneCAN_UpdateContextCalcCRC32
[Calls]
[Called By]- >> DroneCAN_SaveBeginFirmwareUpdateRequest
DroneCAN_UpdateContextWrite (Thumb, 64 bytes, Stack size 232 bytes, dri_flash.o(i.DroneCAN_UpdateContextWrite))
[Stack]
- Max Depth = 312
- Call Chain = DroneCAN_UpdateContextWrite ⇒ flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]- >> flash_read
- >> flash_write
- >> memcmp
- >> __aeabi_memclr4
[Called By]- >> DroneCAN_SaveBeginFirmwareUpdateRequest
EXTI15_10_IRQHandler (Thumb, 12 bytes, Stack size 8 bytes, gpio.o(i.EXTI15_10_IRQHandler))
[Stack]
- Max Depth = 16
- Call Chain = EXTI15_10_IRQHandler ⇒ rt_interrupt_leave
[Calls]- >> rt_interrupt_leave
- >> rt_interrupt_enter
[Address Reference Count : 1]
Euler_ByDcmEnu (Thumb, 250 bytes, Stack size 40 bytes, euler.o(i.Euler_ByDcmEnu))
[Stack]
- Max Depth = 72
- Call Chain = Euler_ByDcmEnu ⇒ __hardfp_atan2f
[Calls]- >> fabsf
- >> __hardfp_atan2f
- >> __hardfp_asinf
[Called By]
Euler_ByQuaternionEnu (Thumb, 36 bytes, Stack size 48 bytes, euler.o(i.Euler_ByQuaternionEnu))
[Stack]
- Max Depth = 120
- Call Chain = Euler_ByQuaternionEnu ⇒ Euler_ByDcmEnu ⇒ __hardfp_atan2f
[Calls]- >> Euler_ByDcmEnu
- >> DCM_ByQuaternion
- >> __aeabi_memclr4
[Called By]- >> PointCloudFilter
- >> PointCloudConvert
FLASH_ClearFlag (Thumb, 12 bytes, Stack size 0 bytes, n32g45x_flash.o(i.FLASH_ClearFlag))
[Called By]
- >> FLASH_ProgramWord
- >> FLASH_EraseOnePage
FLASH_EraseOnePage (Thumb, 78 bytes, Stack size 12 bytes, n32g45x_flash.o(i.FLASH_EraseOnePage))
[Stack]
- Max Depth = 16
- Call Chain = FLASH_EraseOnePage ⇒ FLASH_WaitForLastOpt
[Calls]- >> FLASH_WaitForLastOpt
- >> FLASH_ClearFlag
[Called By]- >> flash_write
- >> myflash_erasepage
FLASH_GetSTS (Thumb, 76 bytes, Stack size 0 bytes, n32g45x_flash.o(i.FLASH_GetSTS))
[Called By]
FLASH_LOG (Thumb, 40 bytes, Stack size 8 bytes, dri_can.o(i.FLASH_LOG))
[Stack]
- Max Depth = 88
- Call Chain = FLASH_LOG ⇒ flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> flash_write
- >> FLASH_Unlock
- >> FLASH_Lock
- >> myflash_erasepage
[Called By]- >> USB_LP_CAN1_RX0_IRQHandler
FLASH_Lock (Thumb, 14 bytes, Stack size 0 bytes, n32g45x_flash.o(i.FLASH_Lock))
[Called By]
- >> flash_write
- >> myflash_erasepage
- >> FLASH_LOG
FLASH_ProgramWord (Thumb, 86 bytes, Stack size 20 bytes, n32g45x_flash.o(i.FLASH_ProgramWord))
[Stack]
- Max Depth = 24
- Call Chain = FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]- >> FLASH_WaitForLastOpt
- >> FLASH_ClearFlag
[Called By]
FLASH_SetLatency (Thumb, 18 bytes, Stack size 0 bytes, n32g45x_flash.o(i.FLASH_SetLatency))
[Called By]
FLASH_Unlock (Thumb, 12 bytes, Stack size 0 bytes, n32g45x_flash.o(i.FLASH_Unlock))
[Called By]
- >> flash_write
- >> myflash_erasepage
- >> FLASH_LOG
FLASH_WaitForLastOpt (Thumb, 38 bytes, Stack size 4 bytes, n32g45x_flash.o(i.FLASH_WaitForLastOpt))
[Stack]
- Max Depth = 4
- Call Chain = FLASH_WaitForLastOpt
[Calls]
[Called By]- >> FLASH_ProgramWord
- >> FLASH_EraseOnePage
GPIO_ConfigPinRemap (Thumb, 554 bytes, Stack size 20 bytes, n32g45x_gpio.o(i.GPIO_ConfigPinRemap))
[Stack]
- Max Depth = 20
- Call Chain = GPIO_ConfigPinRemap
[Called By]
GPIO_InitPeripheral (Thumb, 278 bytes, Stack size 24 bytes, n32g45x_gpio.o(i.GPIO_InitPeripheral))
[Stack]
- Max Depth = 24
- Call Chain = GPIO_InitPeripheral
[Called By]- >> log_init
- >> can_init
- >> usart_init
- >> gpio_init
GPIO_ResetBits (Thumb, 4 bytes, Stack size 0 bytes, n32g45x_gpio.o(i.GPIO_ResetBits))
[Called By]
GPIO_SetBits (Thumb, 4 bytes, Stack size 0 bytes, n32g45x_gpio.o(i.GPIO_SetBits))
[Called By]
- >> AppTask
- >> rt_hw_board_init
Get_Crc16 (Thumb, 48 bytes, Stack size 16 bytes, dri_can.o(i.Get_Crc16))
[Stack]
- Max Depth = 16
- Call Chain = Get_Crc16
[Called By]
KelmanFilter_1Dimension (Thumb, 142 bytes, Stack size 0 bytes, kelmanfilter.o(i.KelmanFilter_1Dimension))
[Called By]
- >> DetectObstacle_ByDynamicY
MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, n32g45x_it.o(i.MemManage_Handler))
[Address Reference Count : 1]
MyCAN_Transmit (Thumb, 106 bytes, Stack size 56 bytes, dri_can.o(i.MyCAN_Transmit))
[Stack]
- Max Depth = 64
- Call Chain = MyCAN_Transmit ⇒ CAN_TransmitSTS
[Calls]- >> CAN_TransmitSTS
- >> CAN_TransmitMessage
- >> CAN_GetLastErrCode
[Called By]- >> parse_radar_response
- >> ParameterTask
- >> DroneCAN_FlushTxQueue
NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, n32g45x_it.o(i.NMI_Handler))
[Address Reference Count : 1]
NVIC_Configuration (Thumb, 16 bytes, Stack size 8 bytes, bsp.o(i.NVIC_Configuration))
[Stack]
- Max Depth = 8
- Call Chain = NVIC_Configuration
[Calls]
[Called By]
NVIC_Init (Thumb, 100 bytes, Stack size 16 bytes, misc.o(i.NVIC_Init))
[Stack]
- Max Depth = 16
- Call Chain = NVIC_Init
[Called By]- >> log_init
- >> can_init
- >> usart_init
NVIC_PriorityGroupConfig (Thumb, 10 bytes, Stack size 0 bytes, misc.o(i.NVIC_PriorityGroupConfig))
[Called By]
- >> log_init
- >> usart_init
NVIC_SetVectorTable (Thumb, 12 bytes, Stack size 0 bytes, misc.o(i.NVIC_SetVectorTable))
[Called By]
NodeStatusTask (Thumb, 50 bytes, Stack size 0 bytes, algorithm.o(i.NodeStatusTask))
[Stack]
- Max Depth = 292
- Call Chain = NodeStatusTask ⇒ DroneCAN_SendNodeStatus ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> rt_tick_get
- >> rt_thread_mdelay
- >> DroneCAN_SendNodeStatus
- >> DroneCAN_IsNodeIDAllocated
[Address Reference Count : 1]- application.o(i.InitTask)
PointCloudConvert (Thumb, 1238 bytes, Stack size 96 bytes, algorithm.o(i.PointCloudConvert))
[Stack]
- Max Depth = 304
- Call Chain = PointCloudConvert ⇒ quat_rotate_point ⇒ Quaternion_ConjInv ⇒ Quaternion_Inversed ⇒ Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]- >> rt_kprintf
- >> Quaternion_Enu_ByEuler
- >> Euler_ByQuaternionEnu
- >> quat_rotate_point
[Called By]
PointCloudFilter (Thumb, 1302 bytes, Stack size 72 bytes, algorithm.o(i.PointCloudFilter))
[Stack]
- Max Depth = 272
- Call Chain = PointCloudFilter ⇒ quat_rotate_point_filter ⇒ Quaternion_ConjInv ⇒ Quaternion_Inversed ⇒ Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]- >> rt_kprintf
- >> rt_exit_critical
- >> rt_enter_critical
- >> Quaternion_Enu_ByEuler
- >> Euler_ByQuaternionEnu
- >> quat_rotate_point_filter
- >> PowerFilter
- >> __aeabi_memclr4
- >> __aeabi_memcpy4
- >> __hardfp_sinf
- >> __hardfp_cosf
[Called By]
PowerFilter (Thumb, 180 bytes, Stack size 0 bytes, algorithm.o(i.PowerFilter))
[Called By]
Quaternion_Conj (Thumb, 100 bytes, Stack size 64 bytes, quaternion.o(i.Quaternion_Conj))
[Stack]
- Max Depth = 128
- Call Chain = Quaternion_Conj ⇒ Quaternion_Inversed ⇒ Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]- >> Quaternion_Multiplication
- >> Quaternion_Inversed
[Called By]- >> quat_rotate_point_filter
- >> quat_rotate_point
Quaternion_ConjInv (Thumb, 100 bytes, Stack size 64 bytes, quaternion.o(i.Quaternion_ConjInv))
[Stack]
- Max Depth = 128
- Call Chain = Quaternion_ConjInv ⇒ Quaternion_Inversed ⇒ Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]- >> Quaternion_Multiplication
- >> Quaternion_Inversed
[Called By]- >> quat_rotate_point_filter
- >> quat_rotate_point
Quaternion_Enu_ByEuler (Thumb, 250 bytes, Stack size 48 bytes, quaternion.o(i.Quaternion_Enu_ByEuler))
[Stack]
- Max Depth = 84
- Call Chain = Quaternion_Enu_ByEuler ⇒ __hardfp_sinf ⇒ __mathlib_rredf2
[Calls]- >> __hardfp_sinf
- >> __hardfp_cosf
[Called By]- >> PointCloudFilter
- >> PointCloudConvert
Quaternion_Inversed (Thumb, 88 bytes, Stack size 24 bytes, quaternion.o(i.Quaternion_Inversed))
[Stack]
- Max Depth = 64
- Call Chain = Quaternion_Inversed ⇒ Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]
[Called By]- >> Quaternion_ConjInv
- >> Quaternion_Conj
Quaternion_Multiplication (Thumb, 242 bytes, Stack size 24 bytes, quaternion.o(i.Quaternion_Multiplication))
[Stack]
- Max Depth = 24
- Call Chain = Quaternion_Multiplication
[Called By]- >> Quaternion_ConjInv
- >> Quaternion_Conj
RCC_ConfigHclk (Thumb, 18 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_ConfigHclk))
[Called By]
RCC_ConfigHse (Thumb, 70 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_ConfigHse))
[Called By]
RCC_ConfigPclk1 (Thumb, 18 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_ConfigPclk1))
[Called By]
RCC_ConfigPclk2 (Thumb, 20 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_ConfigPclk2))
[Called By]
RCC_ConfigPll (Thumb, 24 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_ConfigPll))
[Called By]
RCC_ConfigSysclk (Thumb, 18 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_ConfigSysclk))
[Called By]
RCC_DeInit (Thumb, 74 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_DeInit))
[Called By]
RCC_EnableAHBPeriphClk (Thumb, 26 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_EnableAHBPeriphClk))
[Called By]
RCC_EnableAPB1PeriphClk (Thumb, 26 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_EnableAPB1PeriphClk))
[Called By]
- >> can_init
- >> usart_init
RCC_EnableAPB1PeriphReset (Thumb, 26 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_EnableAPB1PeriphReset))
[Called By]
- >> USART_DeInit
- >> CAN_DeInit
RCC_EnableAPB2PeriphClk (Thumb, 26 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_EnableAPB2PeriphClk))
[Called By]
- >> log_init
- >> can_init
- >> usart_init
- >> gpio_init
RCC_EnableAPB2PeriphReset (Thumb, 26 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_EnableAPB2PeriphReset))
[Called By]
RCC_EnablePll (Thumb, 6 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_EnablePll))
[Called By]
RCC_GetClocksFreqValue (Thumb, 240 bytes, Stack size 20 bytes, n32g45x_rcc.o(i.RCC_GetClocksFreqValue))
[Stack]
- Max Depth = 20
- Call Chain = RCC_GetClocksFreqValue
[Called By]
RCC_GetFlagStatus (Thumb, 56 bytes, Stack size 8 bytes, n32g45x_rcc.o(i.RCC_GetFlagStatus))
[Stack]
- Max Depth = 8
- Call Chain = RCC_GetFlagStatus
[Called By]- >> RCC_WaitHseStable
- >> SetSysClockToPLL
RCC_GetSysclkSrc (Thumb, 10 bytes, Stack size 0 bytes, n32g45x_rcc.o(i.RCC_GetSysclkSrc))
[Called By]
RCC_WaitHseStable (Thumb, 56 bytes, Stack size 16 bytes, n32g45x_rcc.o(i.RCC_WaitHseStable))
[Stack]
- Max Depth = 24
- Call Chain = RCC_WaitHseStable ⇒ RCC_GetFlagStatus
[Calls]
[Called By]
SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, n32g45x_it.o(i.SVC_Handler))
[Address Reference Count : 1]
SetSysClockToPLL (Thumb, 142 bytes, Stack size 40 bytes, rcc.o(i.SetSysClockToPLL))
[Stack]
- Max Depth = 64
- Call Chain = SetSysClockToPLL ⇒ RCC_WaitHseStable ⇒ RCC_GetFlagStatus
[Calls]- >> RCC_WaitHseStable
- >> RCC_GetSysclkSrc
- >> RCC_EnablePll
- >> RCC_DeInit
- >> RCC_ConfigSysclk
- >> RCC_ConfigPll
- >> RCC_ConfigPclk1
- >> RCC_ConfigHse
- >> RCC_ConfigHclk
- >> FLASH_SetLatency
- >> RCC_ConfigPclk2
- >> RCC_GetFlagStatus
[Called By]
SysTick_Handler (Thumb, 16 bytes, Stack size 8 bytes, bsp.o(i.SysTick_Handler))
[Stack]
- Max Depth = 160
- Call Chain = SysTick_Handler ⇒ rt_tick_increase ⇒ rt_thread_yield ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_tick_increase
- >> rt_interrupt_leave
- >> rt_interrupt_enter
[Address Reference Count : 1]
SystemInit (Thumb, 146 bytes, Stack size 8 bytes, system_n32g45x.o(i.SystemInit))
[Stack]
- Max Depth = 24
- Call Chain = SystemInit ⇒ SetSysClock
[Calls]
[Address Reference Count : 1]
TIM1_UP_IRQHandler (Thumb, 62 bytes, Stack size 8 bytes, drv_hwtimer.o(i.TIM1_UP_IRQHandler))
[Stack]
- Max Depth = 40
- Call Chain = TIM1_UP_IRQHandler ⇒ rt_device_hwtimer_isr ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_interrupt_leave
- >> rt_interrupt_enter
- >> rt_device_hwtimer_isr
- >> TIM_ClrIntPendingBit
[Address Reference Count : 1]
TIM_ClrIntPendingBit (Thumb, 8 bytes, Stack size 0 bytes, n32g45x_tim.o(i.TIM_ClrIntPendingBit))
[Called By]
USART1_IRQHandler (Thumb, 98 bytes, Stack size 8 bytes, log.o(i.USART1_IRQHandler))
[Stack]
- Max Depth = 152
- Call Chain = USART1_IRQHandler ⇒ rt_sem_release ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> USART_ReceiveData
- >> rt_sem_release
- >> USART_GetIntStatus
- >> rt_interrupt_leave
- >> rt_interrupt_enter
[Address Reference Count : 1]
USART2_IRQHandler (Thumb, 128 bytes, Stack size 8 bytes, usart.o(i.USART2_IRQHandler))
[Stack]
- Max Depth = 152
- Call Chain = USART2_IRQHandler ⇒ rt_sem_release ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> USART_ReceiveData
- >> rt_sem_release
- >> USART_GetIntStatus
- >> rt_interrupt_leave
- >> rt_interrupt_enter
[Address Reference Count : 1]
USART_ConfigInt (Thumb, 74 bytes, Stack size 20 bytes, n32g45x_usart.o(i.USART_ConfigInt))
[Stack]
- Max Depth = 20
- Call Chain = USART_ConfigInt
[Called By]- >> log_init
- >> usart_init
USART_DeInit (Thumb, 186 bytes, Stack size 8 bytes, n32g45x_usart.o(i.USART_DeInit))
[Stack]
- Max Depth = 8
- Call Chain = USART_DeInit
[Calls]- >> RCC_EnableAPB2PeriphReset
- >> RCC_EnableAPB1PeriphReset
[Called By]- >> log_init
- >> usart_init
USART_Enable (Thumb, 24 bytes, Stack size 0 bytes, n32g45x_usart.o(i.USART_Enable))
[Called By]
- >> log_init
- >> usart_init
USART_GetFlagStatus (Thumb, 26 bytes, Stack size 0 bytes, n32g45x_usart.o(i.USART_GetFlagStatus))
[Called By]
USART_GetIntStatus (Thumb, 84 bytes, Stack size 16 bytes, n32g45x_usart.o(i.USART_GetIntStatus))
[Stack]
- Max Depth = 16
- Call Chain = USART_GetIntStatus
[Called By]- >> USART1_IRQHandler
- >> USART2_IRQHandler
USART_Init (Thumb, 188 bytes, Stack size 56 bytes, n32g45x_usart.o(i.USART_Init))
[Stack]
- Max Depth = 76
- Call Chain = USART_Init ⇒ RCC_GetClocksFreqValue
[Calls]- >> RCC_GetClocksFreqValue
[Called By]- >> log_init
- >> usart_init
USART_ReceiveData (Thumb, 10 bytes, Stack size 0 bytes, n32g45x_usart.o(i.USART_ReceiveData))
[Called By]
- >> USART1_IRQHandler
- >> USART2_IRQHandler
USART_SendData (Thumb, 8 bytes, Stack size 0 bytes, n32g45x_usart.o(i.USART_SendData))
[Called By]
USB_LP_CAN1_RX0_IRQHandler (Thumb, 744 bytes, Stack size 32 bytes, dri_can.o(i.USB_LP_CAN1_RX0_IRQHandler))
[Stack]
- Max Depth = 184
- Call Chain = USB_LP_CAN1_RX0_IRQHandler ⇒ DroneCAN_RxQueuePushFromIsr ⇒ rt_sem_release ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_sem_release
- >> rt_interrupt_leave
- >> rt_interrupt_enter
- >> CAN_ReceiveMessage
- >> CAN_GetIntStatus
- >> FLASH_LOG
- >> __set_PRIMASK
- >> __NVIC_SystemReset
- >> DroneCAN_RxQueuePushFromIsr
- >> DroneCAN_IsRelevantFrame
[Address Reference Count : 1]
UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, n32g45x_it.o(i.UsageFault_Handler))
[Address Reference Count : 1]
__0vsnprintf (Thumb, 46 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)
[Calls]
__1vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)
__2vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)
__c89vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)
vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf))
[Stack]
- Max Depth = 24
- Call Chain = vsnprintf
[Called By]
__ARM_fpclassifyf (Thumb, 38 bytes, Stack size 0 bytes, fpclassifyf.o(i.__ARM_fpclassifyf))
[Called By]
- >> __hardfp_sinf
- >> __hardfp_atan2f
- >> __hardfp_asinf
__hardfp_asinf (Thumb, 258 bytes, Stack size 16 bytes, asinf.o(i.__hardfp_asinf))
[Stack]
- Max Depth = 32
- Call Chain = __hardfp_asinf ⇒ sqrtf
[Calls]- >> __set_errno
- >> __mathlib_flt_underflow
- >> __mathlib_flt_invalid
- >> __mathlib_flt_infnan
- >> __ARM_fpclassifyf
- >> sqrtf
[Called By]
__hardfp_atan2f (Thumb, 594 bytes, Stack size 32 bytes, atan2f.o(i.__hardfp_atan2f))
[Stack]
- Max Depth = 32
- Call Chain = __hardfp_atan2f
[Calls]- >> __set_errno
- >> __mathlib_flt_underflow
- >> __mathlib_flt_infnan2
- >> __ARM_fpclassifyf
[Called By]
__hardfp_cosf (Thumb, 280 bytes, Stack size 8 bytes, cosf.o(i.__hardfp_cosf))
[Stack]
- Max Depth = 28
- Call Chain = __hardfp_cosf ⇒ __mathlib_rredf2
[Calls]- >> __set_errno
- >> __mathlib_rredf2
- >> __mathlib_flt_invalid
- >> __mathlib_flt_infnan
[Called By]- >> Quaternion_Enu_ByEuler
- >> PointCloudFilter
__hardfp_sinf (Thumb, 344 bytes, Stack size 16 bytes, sinf.o(i.__hardfp_sinf))
[Stack]
- Max Depth = 36
- Call Chain = __hardfp_sinf ⇒ __mathlib_rredf2
[Calls]- >> __set_errno
- >> __mathlib_rredf2
- >> __mathlib_flt_underflow
- >> __mathlib_flt_invalid
- >> __mathlib_flt_infnan
- >> __ARM_fpclassifyf
[Called By]- >> Quaternion_Enu_ByEuler
- >> PointCloudFilter
__hardfp_sqrtf (Thumb, 58 bytes, Stack size 16 bytes, sqrtf.o(i.__hardfp_sqrtf))
[Stack]
- Max Depth = 16
- Call Chain = __hardfp_sqrtf
[Calls]
[Called By]
__mathlib_flt_infnan (Thumb, 6 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_infnan))
[Called By]
- >> __hardfp_sinf
- >> __hardfp_cosf
- >> __hardfp_asinf
__mathlib_flt_infnan2 (Thumb, 6 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_infnan2))
[Called By]
__mathlib_flt_invalid (Thumb, 10 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_invalid))
[Called By]
- >> __hardfp_sinf
- >> __hardfp_cosf
- >> __hardfp_asinf
__mathlib_flt_underflow (Thumb, 10 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_underflow))
[Called By]
- >> __hardfp_sinf
- >> __hardfp_atan2f
- >> __hardfp_asinf
__mathlib_rredf2 (Thumb, 316 bytes, Stack size 20 bytes, rredf.o(i.__mathlib_rredf2))
[Stack]
- Max Depth = 20
- Call Chain = __mathlib_rredf2
[Called By]- >> __hardfp_sinf
- >> __hardfp_cosf
__rt_ffs (Thumb, 70 bytes, Stack size 0 bytes, kservice.o(i.__rt_ffs))
[Called By]
- >> rt_system_scheduler_start
- >> rt_schedule
__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]
- >> sqrtf
- >> __hardfp_sqrtf
- >> __hardfp_sinf
- >> __hardfp_cosf
- >> __hardfp_atan2f
- >> __hardfp_asinf
_uavcan_equipment_range_sensor_Measurement_encode (Thumb, 38 bytes, Stack size 16 bytes, uavcan.equipment.range_sensor.measurement.o(i._uavcan_equipment_range_sensor_Measurement_encode))
[Stack]
- Max Depth = 132
- Call Chain = _uavcan_equipment_range_sensor_Measurement_encode ⇒ __uavcan_equipment_range_sensor_Measurement_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]- >> __uavcan_equipment_range_sensor_Measurement_encode
- >> __aeabi_memclr
[Called By]- >> DroneCAN_SendRangeSensorMeasurement
_uavcan_navigation_GlobalNavigationSolution_decode (Thumb, 48 bytes, Stack size 24 bytes, uavcan.navigation.globalnavigationsolution.o(i._uavcan_navigation_GlobalNavigationSolution_decode))
[Stack]
- Max Depth = 236
- Call Chain = _uavcan_navigation_GlobalNavigationSolution_decode ⇒ __uavcan_navigation_GlobalNavigationSolution_decode ⇒ canardDecodeScalar ⇒ descatterTransferPayload ⇒ copyBitArray
[Calls]- >> __uavcan_navigation_GlobalNavigationSolution_decode
[Called By]
_uavcan_protocol_GetNodeInfoResponse_encode (Thumb, 40 bytes, Stack size 16 bytes, uavcan.protocol.getnodeinfo_res.o(i._uavcan_protocol_GetNodeInfoResponse_encode))
[Stack]
- Max Depth = 156
- Call Chain = _uavcan_protocol_GetNodeInfoResponse_encode ⇒ __uavcan_protocol_GetNodeInfoResponse_encode ⇒ __uavcan_protocol_HardwareVersion_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]- >> __uavcan_protocol_GetNodeInfoResponse_encode
- >> __aeabi_memclr
[Called By]- >> DroneCAN_SendGetNodeInfoResponse
_uavcan_protocol_NodeStatus_encode (Thumb, 36 bytes, Stack size 16 bytes, uavcan.protocol.nodestatus.o(i._uavcan_protocol_NodeStatus_encode))
[Stack]
- Max Depth = 116
- Call Chain = _uavcan_protocol_NodeStatus_encode ⇒ __uavcan_protocol_NodeStatus_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]- >> __uavcan_protocol_NodeStatus_encode
[Called By]- >> DroneCAN_SendNodeStatus
_uavcan_protocol_dynamic_node_id_Allocation_decode (Thumb, 48 bytes, Stack size 24 bytes, uavcan.protocol.dynamic_node_id.allocation.o(i._uavcan_protocol_dynamic_node_id_Allocation_decode))
[Stack]
- Max Depth = 236
- Call Chain = _uavcan_protocol_dynamic_node_id_Allocation_decode ⇒ __uavcan_protocol_dynamic_node_id_Allocation_decode ⇒ canardDecodeScalar ⇒ descatterTransferPayload ⇒ copyBitArray
[Calls]- >> __uavcan_protocol_dynamic_node_id_Allocation_decode
[Called By]- >> DroneCAN_HandleDynamicNodeIDAllocation
_uavcan_protocol_dynamic_node_id_Allocation_encode (Thumb, 38 bytes, Stack size 16 bytes, uavcan.protocol.dynamic_node_id.allocation.o(i._uavcan_protocol_dynamic_node_id_Allocation_encode))
[Stack]
- Max Depth = 124
- Call Chain = _uavcan_protocol_dynamic_node_id_Allocation_encode ⇒ __uavcan_protocol_dynamic_node_id_Allocation_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]- >> __uavcan_protocol_dynamic_node_id_Allocation_encode
- >> __aeabi_memclr
[Called By]- >> DroneCAN_SendDynamicNodeIDRequest
_uavcan_protocol_file_BeginFirmwareUpdateRequest_decode (Thumb, 94 bytes, Stack size 40 bytes, uavcan.protocol.file.beginfirmwareupdate_req.o(i._uavcan_protocol_file_BeginFirmwareUpdateRequest_decode))
[Stack]
- Max Depth = 252
- Call Chain = _uavcan_protocol_file_BeginFirmwareUpdateRequest_decode ⇒ __uavcan_protocol_file_Path_decode ⇒ canardDecodeScalar ⇒ descatterTransferPayload ⇒ copyBitArray
[Calls]- >> canardDecodeScalar
- >> __uavcan_protocol_file_Path_decode
[Called By]
_uavcan_protocol_file_BeginFirmwareUpdateResponse_encode (Thumb, 38 bytes, Stack size 16 bytes, uavcan.protocol.file.beginfirmwareupdate_res.o(i._uavcan_protocol_file_BeginFirmwareUpdateResponse_encode))
[Stack]
- Max Depth = 124
- Call Chain = _uavcan_protocol_file_BeginFirmwareUpdateResponse_encode ⇒ __uavcan_protocol_file_BeginFirmwareUpdateResponse_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]- >> __uavcan_protocol_file_BeginFirmwareUpdateResponse_encode
- >> __aeabi_memclr
[Called By]- >> DroneCAN_SendBeginFirmwareUpdateResponse
calculate_flag (Thumb, 52 bytes, Stack size 8 bytes, algorithm.o(i.calculate_flag))
[Stack]
- Max Depth = 8
- Call Chain = calculate_flag
[Called By]- >> parse_radar_response
- >> ParameterTask
can_init (Thumb, 326 bytes, Stack size 48 bytes, dri_can.o(i.can_init))
[Stack]
- Max Depth = 100
- Call Chain = can_init ⇒ canardInit ⇒ initPoolAllocator
[Calls]- >> read_uid
- >> canardInit
- >> RCC_EnableAPB2PeriphClk
- >> RCC_EnableAPB1PeriphClk
- >> NVIC_Init
- >> GPIO_InitPeripheral
- >> GPIO_ConfigPinRemap
- >> CAN_InitStruct
- >> CAN_Init
- >> CAN_INTConfig
- >> CAN_DeInit
- >> CAN1_InitFilter
[Called By]
canardBroadcast (Thumb, 64 bytes, Stack size 80 bytes, canard.o(i.canardBroadcast))
[Stack]
- Max Depth = 244
- Call Chain = canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardBroadcastObj
- >> __aeabi_memclr4
[Called By]- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_SendRangeSensorMeasurement
- >> DroneCAN_SendNodeStatus
canardBroadcastObj (Thumb, 186 bytes, Stack size 32 bytes, canard.o(i.canardBroadcastObj))
[Stack]
- Max Depth = 164
- Call Chain = canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardGetLocalNodeID
- >> incrementTransferID
- >> enqueueTxFrames
- >> crcAdd
- >> calculateCRC
[Called By]
canardCleanupStaleTransfers (Thumb, 138 bytes, Stack size 24 bytes, canard.o(i.canardCleanupStaleTransfers))
[Stack]
- Max Depth = 56
- Call Chain = canardCleanupStaleTransfers ⇒ releaseStatePayload ⇒ freeBlock
[Calls]- >> releaseStatePayload
- >> freeBlock
- >> canardRxFromIdx
[Called By]- >> DroneCAN_RxThreadEntry
canardConvertFloat16ToNativeFloat (Thumb, 82 bytes, Stack size 16 bytes, canard.o(i.canardConvertFloat16ToNativeFloat))
[Stack]
- Max Depth = 16
- Call Chain = canardConvertFloat16ToNativeFloat
[Called By]- >> __uavcan_navigation_GlobalNavigationSolution_decode
canardConvertNativeFloatToFloat16 (Thumb, 134 bytes, Stack size 28 bytes, canard.o(i.canardConvertNativeFloatToFloat16))
[Stack]
- Max Depth = 28
- Call Chain = canardConvertNativeFloatToFloat16
[Called By]- >> __uavcan_equipment_range_sensor_Measurement_encode
canardDecodeScalar (Thumb, 546 bytes, Stack size 72 bytes, canard.o(i.canardDecodeScalar))
[Stack]
- Max Depth = 180
- Call Chain = canardDecodeScalar ⇒ descatterTransferPayload ⇒ copyBitArray
[Calls]- >> swapByteOrder
- >> isBigEndian
- >> descatterTransferPayload
- >> __aeabi_llsl
[Called By]- >> _uavcan_protocol_file_BeginFirmwareUpdateRequest_decode
- >> __uavcan_protocol_file_Path_decode
- >> __uavcan_protocol_dynamic_node_id_Allocation_decode
- >> __uavcan_navigation_GlobalNavigationSolution_decode
canardEncodeScalar (Thumb, 188 bytes, Stack size 40 bytes, canard.o(i.canardEncodeScalar))
[Stack]
- Max Depth = 76
- Call Chain = canardEncodeScalar ⇒ copyBitArray
[Calls]- >> swapByteOrder
- >> isBigEndian
- >> copyBitArray
[Called By]- >> __uavcan_protocol_file_BeginFirmwareUpdateResponse_encode
- >> __uavcan_protocol_dynamic_node_id_Allocation_encode
- >> __uavcan_equipment_range_sensor_Measurement_encode
- >> __uavcan_protocol_NodeStatus_encode
- >> __uavcan_protocol_SoftwareVersion_encode
- >> __uavcan_protocol_NodeStatus_encode
- >> __uavcan_protocol_HardwareVersion_encode
- >> __uavcan_protocol_GetNodeInfoResponse_encode
canardGetLocalNodeID (Thumb, 6 bytes, Stack size 0 bytes, canard.o(i.canardGetLocalNodeID))
[Called By]
- >> canardHandleRxFrame
- >> DroneCAN_ShouldAccept
- >> DroneCAN_SaveBeginFirmwareUpdateRequest
- >> DroneCAN_IsRelevantFrame
- >> DroneCAN_IsNodeIDAllocated
- >> canardRequestOrRespondObj
- >> canardBroadcastObj
canardHandleRxFrame (Thumb, 1212 bytes, Stack size 144 bytes, canard.o(i.canardHandleRxFrame))
[Stack]
- Max Depth = 224
- Call Chain = canardHandleRxFrame ⇒ traverseRxStates ⇒ prependRxState ⇒ createRxState
[Calls]- >> canardReleaseRxTransferPayload
- >> canardGetLocalNodeID
- >> extractTransferType
- >> extractDataType
- >> traverseRxStates
- >> releaseStatePayload
- >> prepareForNextTransfer
- >> findRxState
- >> crcAddSignature
- >> crcAdd
- >> computeTransferIDForwardDistance
- >> canardBufferFromIdx
- >> bufferBlockPushBytes
- >> __aeabi_memclr4
[Called By]- >> DroneCAN_HandleRxMessage
canardInit (Thumb, 70 bytes, Stack size 32 bytes, canard.o(i.canardInit))
[Stack]
- Max Depth = 52
- Call Chain = canardInit ⇒ initPoolAllocator
[Calls]- >> initPoolAllocator
- >> __aeabi_memclr4
[Called By]
canardPeekTxQueue (Thumb, 16 bytes, Stack size 0 bytes, canard.o(i.canardPeekTxQueue))
[Called By]
canardPopTxQueue (Thumb, 22 bytes, Stack size 16 bytes, canard.o(i.canardPopTxQueue))
[Stack]
- Max Depth = 24
- Call Chain = canardPopTxQueue ⇒ freeBlock
[Calls]
[Called By]
canardReleaseRxTransferPayload (Thumb, 42 bytes, Stack size 16 bytes, canard.o(i.canardReleaseRxTransferPayload))
[Stack]
- Max Depth = 24
- Call Chain = canardReleaseRxTransferPayload ⇒ freeBlock
[Calls]
[Called By]- >> canardHandleRxFrame
- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendBeginFirmwareUpdateResponse
canardRequestOrRespond (Thumb, 78 bytes, Stack size 96 bytes, canard.o(i.canardRequestOrRespond))
[Stack]
- Max Depth = 260
- Call Chain = canardRequestOrRespond ⇒ canardRequestOrRespondObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardRequestOrRespondObj
[Called By]- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendBeginFirmwareUpdateResponse
canardRequestOrRespondObj (Thumb, 130 bytes, Stack size 32 bytes, canard.o(i.canardRequestOrRespondObj))
[Stack]
- Max Depth = 164
- Call Chain = canardRequestOrRespondObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardGetLocalNodeID
- >> incrementTransferID
- >> enqueueTxFrames
- >> calculateCRC
[Called By]- >> canardRequestOrRespond
canardSetLocalNodeID (Thumb, 16 bytes, Stack size 0 bytes, canard.o(i.canardSetLocalNodeID))
[Called By]
- >> DroneCAN_UseStaticNodeID
- >> DroneCAN_HandleDynamicNodeIDAllocation
check_conf_info (Thumb, 58 bytes, Stack size 8 bytes, dri_flash.o(i.check_conf_info))
[Stack]
- Max Depth = 96
- Call Chain = check_conf_info ⇒ write_conf_info ⇒ flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]
[Called By]
cmd_free (Thumb, 14 bytes, Stack size 16 bytes, msh.o(i.cmd_free))
[Stack]
- Max Depth = 112
- Call Chain = cmd_free ⇒ list_mem ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Address Reference Count : 1]
cmd_ps (Thumb, 14 bytes, Stack size 16 bytes, msh.o(i.cmd_ps))
[Stack]
- Max Depth = 240
- Call Chain = cmd_ps ⇒ list_thread ⇒ _list_thread ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]
[Address Reference Count : 1]
extractDataType (Thumb, 36 bytes, Stack size 4 bytes, canard.o(i.extractDataType))
[Stack]
- Max Depth = 4
- Call Chain = extractDataType
[Calls]
[Called By]
extractTransferType (Thumb, 26 bytes, Stack size 0 bytes, canard.o(i.extractTransferType))
[Called By]
- >> canardHandleRxFrame
- >> extractDataType
flash_read (Thumb, 20 bytes, Stack size 8 bytes, dri_flash.o(i.flash_read))
[Stack]
- Max Depth = 8
- Call Chain = flash_read
[Called By]- >> read_iap_info
- >> read_dev_info
- >> read_conf_info
- >> read_boot_info
- >> DroneCAN_UpdateContextWrite
flash_write (Thumb, 192 bytes, Stack size 56 bytes, dri_flash.o(i.flash_write))
[Stack]
- Max Depth = 80
- Call Chain = flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]- >> FLASH_ProgramWord
- >> __set_PRIMASK
- >> FLASH_Unlock
- >> FLASH_Lock
- >> FLASH_EraseOnePage
[Called By]- >> write_iap_info
- >> write_dev_info
- >> write_conf_info
- >> DroneCAN_UpdateContextWrite
- >> FLASH_LOG
gpio_init (Thumb, 46 bytes, Stack size 8 bytes, gpio.o(i.gpio_init))
[Stack]
- Max Depth = 32
- Call Chain = gpio_init ⇒ GPIO_InitPeripheral
[Calls]- >> GPIO_ResetBits
- >> RCC_EnableAPB2PeriphClk
- >> GPIO_InitPeripheral
[Called By]
hello (Thumb, 12 bytes, Stack size 8 bytes, cmd.o(i.hello))
[Stack]
- Max Depth = 96
- Call Chain = hello ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Address Reference Count : 1]
list (Thumb, 54 bytes, Stack size 8 bytes, cmd.o(i.list))
[Stack]
- Max Depth = 96
- Call Chain = list ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Address Reference Count : 1]
list_device (Thumb, 18 bytes, Stack size 8 bytes, cmd.o(i.list_device))
[Stack]
- Max Depth = 296
- Call Chain = list_device ⇒ _list_device ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_object_get_information
- >> _list_device
[Address Reference Count : 1]
list_mem (Thumb, 34 bytes, Stack size 8 bytes, mem.o(i.list_mem))
[Stack]
- Max Depth = 96
- Call Chain = list_mem ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Called By]
[Address Reference Count : 1]
list_mutex (Thumb, 18 bytes, Stack size 8 bytes, cmd.o(i.list_mutex))
[Stack]
- Max Depth = 224
- Call Chain = list_mutex ⇒ _list_mutex ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_object_get_information
- >> _list_mutex
[Address Reference Count : 1]
list_sem (Thumb, 18 bytes, Stack size 8 bytes, cmd.o(i.list_sem))
[Stack]
- Max Depth = 216
- Call Chain = list_sem ⇒ _list_sem ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_object_get_information
- >> _list_sem
[Address Reference Count : 1]
list_thread (Thumb, 18 bytes, Stack size 8 bytes, cmd.o(i.list_thread))
[Stack]
- Max Depth = 224
- Call Chain = list_thread ⇒ _list_thread ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_object_get_information
- >> _list_thread
[Called By]- >> rt_hw_hard_fault_exception
- >> _rt_scheduler_stack_check
- >> cmd_ps
[Address Reference Count : 1]
list_timer (Thumb, 18 bytes, Stack size 8 bytes, cmd.o(i.list_timer))
[Stack]
- Max Depth = 216
- Call Chain = list_timer ⇒ _list_timer ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_object_get_information
- >> _list_timer
[Address Reference Count : 1]
log_init (Thumb, 190 bytes, Stack size 32 bytes, log.o(i.log_init))
[Stack]
- Max Depth = 108
- Call Chain = log_init ⇒ USART_Init ⇒ RCC_GetClocksFreqValue
[Calls]- >> USART_Init
- >> USART_Enable
- >> USART_DeInit
- >> USART_ConfigInt
- >> NVIC_PriorityGroupConfig
- >> RCC_EnableAPB2PeriphClk
- >> NVIC_Init
- >> GPIO_InitPeripheral
- >> GPIO_ConfigPinRemap
[Called By]
main (Thumb, 14 bytes, Stack size 8 bytes, main.o(i.main))
[Stack]
- Max Depth = 344
- Call Chain = main ⇒ rtthread_startup ⇒ rt_application_init ⇒ rt_thread_init ⇒ _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rtthread_startup
- >> rt_hw_interrupt_disable
[Address Reference Count : 1]- entry9a.o(.ARM.Collect$$$$0000000B)
msh_help (Thumb, 66 bytes, Stack size 16 bytes, msh.o(i.msh_help))
[Stack]
- Max Depth = 104
- Call Chain = msh_help ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Address Reference Count : 1]
myflash_erasepage (Thumb, 76 bytes, Stack size 24 bytes, dri_can.o(i.myflash_erasepage))
[Stack]
- Max Depth = 40
- Call Chain = myflash_erasepage ⇒ FLASH_EraseOnePage ⇒ FLASH_WaitForLastOpt
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> FLASH_Unlock
- >> FLASH_Lock
- >> FLASH_EraseOnePage
[Called By]
parse_radar_response (Thumb, 530 bytes, Stack size 72 bytes, algorithm.o(i.parse_radar_response))
[Stack]
- Max Depth = 136
- Call Chain = parse_radar_response ⇒ MyCAN_Transmit ⇒ CAN_TransmitSTS
[Calls]- >> calculate_flag
- >> MyCAN_Transmit
- >> rt_tick_get
- >> Get_Crc16
- >> __aeabi_memclr4
- >> __aeabi_memcpy
[Called By]
quat_rotate_point (Thumb, 170 bytes, Stack size 80 bytes, algorithm.o(i.quat_rotate_point))
[Stack]
- Max Depth = 208
- Call Chain = quat_rotate_point ⇒ Quaternion_ConjInv ⇒ Quaternion_Inversed ⇒ Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]- >> Quaternion_ConjInv
- >> Quaternion_Conj
[Called By]
quat_rotate_point_filter (Thumb, 104 bytes, Stack size 72 bytes, algorithm.o(i.quat_rotate_point_filter))
[Stack]
- Max Depth = 200
- Call Chain = quat_rotate_point_filter ⇒ Quaternion_ConjInv ⇒ Quaternion_Inversed ⇒ Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]- >> Quaternion_ConjInv
- >> Quaternion_Conj
[Called By]
read_boot_info (Thumb, 14 bytes, Stack size 4 bytes, dri_flash.o(i.read_boot_info))
[Stack]
- Max Depth = 12
- Call Chain = read_boot_info ⇒ flash_read
[Calls]
[Called By]
read_conf_info (Thumb, 14 bytes, Stack size 4 bytes, dri_flash.o(i.read_conf_info))
[Stack]
- Max Depth = 12
- Call Chain = read_conf_info ⇒ flash_read
[Calls]
[Called By]- >> ParameterTask
- >> InitTask
read_dev_info (Thumb, 14 bytes, Stack size 4 bytes, dri_flash.o(i.read_dev_info))
[Stack]
- Max Depth = 12
- Call Chain = read_dev_info ⇒ flash_read
[Calls]
[Called By]- >> ParameterTask
- >> InitTask
read_iap_info (Thumb, 14 bytes, Stack size 4 bytes, dri_flash.o(i.read_iap_info))
[Stack]
- Max Depth = 12
- Call Chain = read_iap_info ⇒ flash_read
[Calls]
[Called By]
read_uid (Thumb, 16 bytes, Stack size 0 bytes, dri_flash.o(i.read_uid))
[Called By]
- >> can_init
- >> ParameterTask
rt_application_init (Thumb, 320 bytes, Stack size 24 bytes, application.o(i.rt_application_init))
[Stack]
- Max Depth = 328
- Call Chain = rt_application_init ⇒ rt_thread_init ⇒ _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_startup
- >> rt_thread_init
- >> rt_sem_create
- >> rt_mutex_init
- >> rt_kprintf
[Called By]
rt_assert_handler (Thumb, 56 bytes, Stack size 24 bytes, kservice.o(i.rt_assert_handler))
[Stack]
- Max Depth = 24 + In Cycle
- Call Chain = rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]
[Called By]- >> rt_thread_startup
- >> rt_thread_init
- >> rt_sem_take
- >> rt_sem_release
- >> rt_sem_create
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_mutex_init
- >> rt_system_heap_init
- >> rt_sem_init
- >> plug_holes
- >> rt_timer_start
- >> rt_timer_control
- >> rt_thread_suspend
- >> rt_thread_resume
- >> rt_thread_control
- >> rt_object_allocate
- >> rt_object_delete
- >> rt_thread_idle_excute
- >> rt_object_is_systemobject
- >> rt_object_init
- >> rt_object_get_type
- >> rt_object_detach
- >> rt_malloc
- >> rt_free
- >> rt_device_write
- >> rt_device_open
- >> rt_device_find
- >> rt_device_close
- >> rt_device_hwtimer_isr
- >> rt_timer_stop
- >> rt_timer_init
- >> rt_timer_detach
- >> rt_thread_timeout
- >> rt_thread_sleep
- >> rt_thread_delete
- >> _rt_thread_init
- >> rt_schedule_remove_thread
- >> rt_schedule_insert_thread
- >> _rt_scheduler_stack_check
rt_console_set_device (Thumb, 48 bytes, Stack size 16 bytes, kservice.o(i.rt_console_set_device))
[Stack]
- Max Depth = 176
- Call Chain = rt_console_set_device ⇒ rt_device_find ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_device_open
- >> rt_device_find
- >> rt_device_close
[Called By]
rt_device_close (Thumb, 92 bytes, Stack size 16 bytes, device.o(i.rt_device_close))
[Stack]
- Max Depth = 48
- Call Chain = rt_device_close ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_object_get_type
[Called By]
rt_device_find (Thumb, 94 bytes, Stack size 24 bytes, device.o(i.rt_device_find))
[Stack]
- Max Depth = 160
- Call Chain = rt_device_find ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_self
- >> rt_assert_handler
- >> rt_exit_critical
- >> rt_enter_critical
- >> rt_strncmp
- >> rt_object_get_information
[Called By]
rt_device_hwtimer_isr (Thumb, 78 bytes, Stack size 8 bytes, hwtimer.o(i.rt_device_hwtimer_isr))
[Stack]
- Max Depth = 32
- Call Chain = rt_device_hwtimer_isr ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]
[Called By]
rt_device_open (Thumb, 170 bytes, Stack size 16 bytes, device.o(i.rt_device_open))
[Stack]
- Max Depth = 104
- Call Chain = rt_device_open ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]- >> rt_assert_handler
- >> rt_kprintf
- >> rt_object_get_type
[Called By]
rt_device_write (Thumb, 98 bytes, Stack size 24 bytes, device.o(i.rt_device_write))
[Stack]
- Max Depth = 56
- Call Chain = rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]- >> rt_assert_handler
- >> rt_set_errno
- >> rt_object_get_type
[Called By]
rt_enter_critical (Thumb, 28 bytes, Stack size 8 bytes, scheduler.o(i.rt_enter_critical))
[Stack]
- Max Depth = 8
- Call Chain = rt_enter_critical
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
[Called By]- >> PointCloudFilter
- >> rt_thread_idle_excute
- >> rt_object_init
- >> rt_device_find
- >> object_name_maxlen
rt_exit_critical (Thumb, 60 bytes, Stack size 8 bytes, scheduler.o(i.rt_exit_critical))
[Stack]
- Max Depth = 136
- Call Chain = rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_schedule
[Called By]- >> PointCloudFilter
- >> rt_thread_idle_excute
- >> rt_object_init
- >> rt_device_find
- >> object_name_maxlen
rt_free (Thumb, 260 bytes, Stack size 16 bytes, mem.o(i.rt_free))
[Stack]
- Max Depth = 176
- Call Chain = rt_free ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_sem_take
- >> rt_sem_release
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> plug_holes
- >> rt_interrupt_get_nest
[Called By]- >> rt_object_delete
- >> rt_thread_idle_excute
rt_hw_board_init (Thumb, 110 bytes, Stack size 16 bytes, bsp.o(i.rt_hw_board_init))
[Stack]
- Max Depth = 192
- Call Chain = rt_hw_board_init ⇒ rt_console_set_device ⇒ rt_device_find ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_console_set_device
- >> log_init
- >> NVIC_Configuration
- >> GPIO_SetBits
- >> usart_init
- >> SetSysClockToPLL
- >> gpio_init
[Called By]
rt_hw_console_output (Thumb, 66 bytes, Stack size 8 bytes, log.o(i.rt_hw_console_output))
[Stack]
- Max Depth = 8
- Call Chain = rt_hw_console_output
[Calls]- >> USART_SendData
- >> USART_GetFlagStatus
[Called By]
rt_hw_hard_fault_exception (Thumb, 220 bytes, Stack size 24 bytes, cpuport.o(i.rt_hw_hard_fault_exception))
[Stack]
- Max Depth = 248
- Call Chain = rt_hw_hard_fault_exception ⇒ list_thread ⇒ _list_thread ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_self
- >> list_thread
- >> hard_fault_track
- >> rt_kprintf
[Called By]
rt_hw_stack_init (Thumb, 74 bytes, Stack size 20 bytes, cpuport.o(i.rt_hw_stack_init))
[Stack]
- Max Depth = 20
- Call Chain = rt_hw_stack_init
[Called By]
rt_interrupt_enter (Thumb, 30 bytes, Stack size 8 bytes, irq.o(i.rt_interrupt_enter))
[Stack]
- Max Depth = 8
- Call Chain = rt_interrupt_enter
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
[Called By]- >> USART1_IRQHandler
- >> DMA1_Channel4_IRQHandler
- >> SysTick_Handler
- >> USART2_IRQHandler
- >> EXTI15_10_IRQHandler
- >> USB_LP_CAN1_RX0_IRQHandler
- >> TIM1_UP_IRQHandler
rt_interrupt_get_nest (Thumb, 22 bytes, Stack size 16 bytes, irq.o(i.rt_interrupt_get_nest))
[Stack]
- Max Depth = 16
- Call Chain = rt_interrupt_get_nest
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
[Called By]- >> rt_sem_take
- >> rt_sem_create
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_system_heap_init
- >> rt_object_allocate
- >> rt_thread_idle_excute
- >> rt_set_errno
- >> rt_malloc
- >> rt_free
rt_interrupt_leave (Thumb, 30 bytes, Stack size 8 bytes, irq.o(i.rt_interrupt_leave))
[Stack]
- Max Depth = 8
- Call Chain = rt_interrupt_leave
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
[Called By]- >> USART1_IRQHandler
- >> DMA1_Channel4_IRQHandler
- >> SysTick_Handler
- >> USART2_IRQHandler
- >> EXTI15_10_IRQHandler
- >> USB_LP_CAN1_RX0_IRQHandler
- >> TIM1_UP_IRQHandler
rt_kprintf (Thumb, 96 bytes, Stack size 32 bytes, kservice.o(i.rt_kprintf))
[Stack]
- Max Depth = 88
- Call Chain = rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]- >> rt_hw_console_output
- >> rt_device_write
- >> vsnprintf
[Called By]- >> rt_assert_handler
- >> usage_fault_track
- >> mem_manage_fault_track
- >> hard_fault_track
- >> bus_fault_track
- >> rt_hw_hard_fault_exception
- >> rt_sem_take
- >> rt_sem_create
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_application_init
- >> rt_system_heap_init
- >> PointCloudFilter
- >> PointCloudConvert
- >> list_mem
- >> rt_show_version
- >> rt_object_allocate
- >> rt_thread_idle_excute
- >> rt_malloc
- >> rt_free
- >> rt_device_open
- >> _rt_scheduler_stack_check
- >> list
- >> hello
- >> show_wait_queue
- >> object_split
- >> _list_timer
- >> _list_thread
- >> _list_sem
- >> _list_mutex
- >> _list_device
- >> msh_help
rt_malloc (Thumb, 500 bytes, Stack size 32 bytes, mem.o(i.rt_malloc))
[Stack]
- Max Depth = 192
- Call Chain = rt_malloc ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_sem_take
- >> rt_sem_release
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_interrupt_get_nest
[Called By]
rt_memset (Thumb, 20 bytes, Stack size 12 bytes, kservice.o(i.rt_memset))
[Stack]
- Max Depth = 12
- Call Chain = rt_memset
[Called By]- >> rt_object_allocate
- >> _rt_thread_init
rt_mutex_init (Thumb, 58 bytes, Stack size 16 bytes, ipc.o(i.rt_mutex_init))
[Stack]
- Max Depth = 184
- Call Chain = rt_mutex_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_ipc_object_init
- >> rt_object_init
[Called By]- >> DroneCAN_Start
- >> rt_application_init
rt_mutex_release (Thumb, 282 bytes, Stack size 32 bytes, ipc.o(i.rt_mutex_release))
[Stack]
- Max Depth = 192
- Call Chain = rt_mutex_release ⇒ rt_thread_control ⇒ rt_thread_startup ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_self
- >> rt_assert_handler
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_thread_control
- >> rt_schedule
- >> rt_list_isempty
- >> rt_ipc_list_resume
- >> rt_interrupt_get_nest
- >> rt_object_get_type
[Called By]- >> AppTask
- >> DroneCAN_TxUnlock
rt_mutex_take (Thumb, 328 bytes, Stack size 32 bytes, ipc.o(i.rt_mutex_take))
[Stack]
- Max Depth = 192
- Call Chain = rt_mutex_take ⇒ rt_thread_control ⇒ rt_thread_startup ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_self
- >> rt_assert_handler
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_timer_start
- >> rt_timer_control
- >> rt_thread_control
- >> rt_schedule
- >> rt_ipc_list_suspend
- >> rt_interrupt_get_nest
- >> rt_object_get_type
[Called By]- >> AppTask
- >> DroneCAN_TxLock
rt_object_allocate (Thumb, 140 bytes, Stack size 32 bytes, object.o(i.rt_object_allocate))
[Stack]
- Max Depth = 224
- Call Chain = rt_object_allocate ⇒ rt_malloc ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_list_insert_after
- >> rt_strncpy
- >> rt_interrupt_get_nest
- >> rt_object_get_information
- >> rt_memset
- >> rt_malloc
[Called By]
rt_object_delete (Thumb, 70 bytes, Stack size 16 bytes, object.o(i.rt_object_delete))
[Stack]
- Max Depth = 192
- Call Chain = rt_object_delete ⇒ rt_free ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_list_remove
- >> rt_free
[Called By]
rt_object_detach (Thumb, 44 bytes, Stack size 16 bytes, object.o(i.rt_object_detach))
[Stack]
- Max Depth = 40
- Call Chain = rt_object_detach ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_list_remove
[Called By]- >> rt_thread_idle_excute
- >> rt_timer_detach
- >> rt_thread_exit
rt_object_get_information (Thumb, 36 bytes, Stack size 0 bytes, object.o(i.rt_object_get_information))
[Called By]
- >> list_thread
- >> rt_object_allocate
- >> rt_object_init
- >> rt_device_find
- >> list_timer
- >> list_sem
- >> list_mutex
- >> list_device
rt_object_get_type (Thumb, 26 bytes, Stack size 8 bytes, object.o(i.rt_object_get_type))
[Stack]
- Max Depth = 32
- Call Chain = rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]
[Called By]- >> rt_thread_startup
- >> rt_sem_take
- >> rt_sem_release
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_timer_start
- >> rt_timer_control
- >> rt_thread_suspend
- >> rt_thread_resume
- >> rt_thread_control
- >> rt_device_write
- >> rt_device_open
- >> rt_device_close
- >> rt_timer_stop
- >> rt_timer_detach
- >> rt_thread_timeout
- >> rt_thread_sleep
- >> rt_thread_delete
rt_object_init (Thumb, 120 bytes, Stack size 32 bytes, object.o(i.rt_object_init))
[Stack]
- Max Depth = 168
- Call Chain = rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_exit_critical
- >> rt_enter_critical
- >> rt_list_insert_after
- >> rt_strncpy
- >> rt_object_get_information
[Called By]- >> rt_thread_init
- >> rt_mutex_init
- >> rt_sem_init
- >> rt_timer_init
rt_object_is_systemobject (Thumb, 34 bytes, Stack size 8 bytes, object.o(i.rt_object_is_systemobject))
[Stack]
- Max Depth = 32
- Call Chain = rt_object_is_systemobject ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]
[Called By]- >> rt_thread_idle_excute
- >> rt_timer_detach
- >> rt_thread_exit
- >> rt_thread_delete
rt_schedule (Thumb, 120 bytes, Stack size 24 bytes, scheduler.o(i.rt_schedule))
[Stack]
- Max Depth = 128
- Call Chain = rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_hw_context_switch_interrupt
- >> rt_hw_context_switch
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> __rt_ffs
- >> _rt_scheduler_stack_check
[Called By]- >> rt_thread_startup
- >> rt_sem_take
- >> rt_sem_release
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_exit_critical
- >> rt_thread_yield
- >> rt_thread_timeout
- >> rt_thread_sleep
- >> rt_thread_exit
rt_schedule_insert_thread (Thumb, 90 bytes, Stack size 16 bytes, scheduler.o(i.rt_schedule_insert_thread))
[Stack]
- Max Depth = 40
- Call Chain = rt_schedule_insert_thread ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
[Called By]- >> rt_thread_resume
- >> rt_thread_control
- >> rt_thread_timeout
rt_schedule_remove_thread (Thumb, 94 bytes, Stack size 16 bytes, scheduler.o(i.rt_schedule_remove_thread))
[Stack]
- Max Depth = 40
- Call Chain = rt_schedule_remove_thread ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
[Called By]- >> rt_thread_suspend
- >> rt_thread_control
- >> rt_thread_exit
- >> rt_thread_delete
rt_sem_create (Thumb, 102 bytes, Stack size 24 bytes, ipc.o(i.rt_sem_create))
[Stack]
- Max Depth = 248
- Call Chain = rt_sem_create ⇒ rt_object_allocate ⇒ rt_malloc ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_object_allocate
- >> rt_ipc_object_init
- >> rt_interrupt_get_nest
[Called By]
rt_sem_init (Thumb, 66 bytes, Stack size 24 bytes, ipc.o(i.rt_sem_init))
[Stack]
- Max Depth = 192
- Call Chain = rt_sem_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_ipc_object_init
- >> rt_object_init
[Called By]- >> DroneCAN_Start
- >> rt_system_heap_init
rt_sem_release (Thumb, 98 bytes, Stack size 16 bytes, ipc.o(i.rt_sem_release))
[Stack]
- Max Depth = 144
- Call Chain = rt_sem_release ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_schedule
- >> rt_list_isempty
- >> rt_ipc_list_resume
- >> rt_object_get_type
[Called By]- >> USART1_IRQHandler
- >> DMA1_Channel4_IRQHandler
- >> AppTask
- >> USART2_IRQHandler
- >> DMA1_Channel6_IRQHandler
- >> USB_LP_CAN1_RX0_IRQHandler
- >> DroneCAN_RxQueuePushFromIsr
- >> rt_malloc
- >> rt_free
rt_sem_take (Thumb, 252 bytes, Stack size 32 bytes, ipc.o(i.rt_sem_take))
[Stack]
- Max Depth = 160
- Call Chain = rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_self
- >> rt_assert_handler
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_timer_start
- >> rt_timer_control
- >> rt_schedule
- >> rt_ipc_list_suspend
- >> rt_interrupt_get_nest
- >> rt_object_get_type
[Called By]- >> ClusterTask
- >> ParameterTask
- >> AppTask
- >> DroneCAN_RxThreadEntry
- >> rt_malloc
- >> rt_free
rt_set_errno (Thumb, 36 bytes, Stack size 16 bytes, kservice.o(i.rt_set_errno))
[Stack]
- Max Depth = 32
- Call Chain = rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]- >> rt_thread_self
- >> rt_interrupt_get_nest
[Called By]
rt_show_version (Thumb, 38 bytes, Stack size 8 bytes, kservice.o(i.rt_show_version))
[Stack]
- Max Depth = 96
- Call Chain = rt_show_version ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Called By]
rt_strlen (Thumb, 18 bytes, Stack size 0 bytes, kservice.o(i.rt_strlen))
[Called By]
rt_strncmp (Thumb, 40 bytes, Stack size 12 bytes, kservice.o(i.rt_strncmp))
[Stack]
- Max Depth = 12
- Call Chain = rt_strncmp
[Called By]
rt_strncpy (Thumb, 52 bytes, Stack size 16 bytes, kservice.o(i.rt_strncpy))
[Stack]
- Max Depth = 16
- Call Chain = rt_strncpy
[Called By]- >> rt_object_allocate
- >> rt_object_init
rt_system_heap_init (Thumb, 204 bytes, Stack size 32 bytes, mem.o(i.rt_system_heap_init))
[Stack]
- Max Depth = 224
- Call Chain = rt_system_heap_init ⇒ rt_sem_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_kprintf
- >> rt_sem_init
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_interrupt_get_nest
[Called By]
rt_system_scheduler_init (Thumb, 56 bytes, Stack size 8 bytes, scheduler.o(i.rt_system_scheduler_init))
[Stack]
- Max Depth = 8
- Call Chain = rt_system_scheduler_init
[Calls]
[Called By]
rt_system_scheduler_start (Thumb, 36 bytes, Stack size 16 bytes, scheduler.o(i.rt_system_scheduler_start))
[Stack]
- Max Depth = 16
- Call Chain = rt_system_scheduler_start
[Calls]- >> rt_hw_context_switch_to
- >> __rt_ffs
[Called By]
rt_system_timer_init (Thumb, 24 bytes, Stack size 8 bytes, timer.o(i.rt_system_timer_init))
[Stack]
- Max Depth = 8
- Call Chain = rt_system_timer_init
[Calls]
[Called By]
rt_system_timer_thread_init (Thumb, 2 bytes, Stack size 0 bytes, timer.o(i.rt_system_timer_thread_init))
[Called By]
rt_thread_control (Thumb, 154 bytes, Stack size 24 bytes, thread.o(i.rt_thread_control))
[Stack]
- Max Depth = 160
- Call Chain = rt_thread_control ⇒ rt_thread_startup ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_thread_startup
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_object_get_type
- >> rt_thread_delete
- >> rt_schedule_remove_thread
- >> rt_schedule_insert_thread
[Called By]- >> rt_mutex_take
- >> rt_mutex_release
rt_thread_delete (Thumb, 116 bytes, Stack size 16 bytes, thread.o(i.rt_thread_delete))
[Stack]
- Max Depth = 72
- Call Chain = rt_thread_delete ⇒ rt_timer_detach ⇒ rt_object_detach ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_object_is_systemobject
- >> rt_object_get_type
- >> rt_timer_detach
- >> rt_list_insert_after
- >> rt_schedule_remove_thread
[Called By]
rt_thread_exit (Thumb, 76 bytes, Stack size 16 bytes, thread.o(i.rt_thread_exit))
[Stack]
- Max Depth = 144
- Call Chain = rt_thread_exit ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_schedule
- >> rt_object_is_systemobject
- >> rt_object_detach
- >> rt_timer_detach
- >> rt_list_insert_after
- >> rt_schedule_remove_thread
[Address Reference Count : 1]- thread.o(i._rt_thread_init)
rt_thread_idle_excute (Thumb, 174 bytes, Stack size 16 bytes, idle.o(i.rt_thread_idle_excute))
[Stack]
- Max Depth = 208
- Call Chain = rt_thread_idle_excute ⇒ rt_object_delete ⇒ rt_free ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_kprintf
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_exit_critical
- >> rt_enter_critical
- >> rt_object_delete
- >> rt_interrupt_get_nest
- >> _has_defunct_thread
- >> rt_object_is_systemobject
- >> rt_object_detach
- >> rt_free
[Called By]
rt_thread_idle_init (Thumb, 38 bytes, Stack size 24 bytes, idle.o(i.rt_thread_idle_init))
[Stack]
- Max Depth = 328
- Call Chain = rt_thread_idle_init ⇒ rt_thread_init ⇒ _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_startup
- >> rt_thread_init
[Called By]
rt_thread_init (Thumb, 74 bytes, Stack size 56 bytes, thread.o(i.rt_thread_init))
[Stack]
- Max Depth = 304
- Call Chain = rt_thread_init ⇒ _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_object_init
- >> _rt_thread_init
[Called By]- >> DroneCAN_Start
- >> rt_application_init
- >> InitTask
- >> rt_thread_idle_init
rt_thread_mdelay (Thumb, 20 bytes, Stack size 16 bytes, thread.o(i.rt_thread_mdelay))
[Stack]
- Max Depth = 160
- Call Chain = rt_thread_mdelay ⇒ rt_thread_sleep ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_tick_from_millisecond
- >> rt_thread_sleep
[Called By]
rt_thread_resume (Thumb, 104 bytes, Stack size 16 bytes, thread.o(i.rt_thread_resume))
[Stack]
- Max Depth = 64
- Call Chain = rt_thread_resume ⇒ rt_timer_stop ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_object_get_type
- >> rt_timer_stop
- >> rt_list_remove
- >> rt_schedule_insert_thread
[Called By]- >> rt_thread_startup
- >> rt_ipc_list_resume
rt_thread_self (Thumb, 6 bytes, Stack size 0 bytes, thread.o(i.rt_thread_self))
[Called By]
- >> rt_tick_increase
- >> rt_hw_hard_fault_exception
- >> rt_thread_startup
- >> rt_sem_take
- >> rt_mutex_take
- >> rt_mutex_release
- >> rt_set_errno
- >> rt_device_find
rt_thread_sleep (Thumb, 98 bytes, Stack size 16 bytes, thread.o(i.rt_thread_sleep))
[Stack]
- Max Depth = 144
- Call Chain = rt_thread_sleep ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_timer_start
- >> rt_timer_control
- >> rt_thread_suspend
- >> rt_schedule
- >> rt_object_get_type
[Called By]
rt_thread_startup (Thumb, 110 bytes, Stack size 8 bytes, thread.o(i.rt_thread_startup))
[Stack]
- Max Depth = 136
- Call Chain = rt_thread_startup ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_self
- >> rt_assert_handler
- >> rt_thread_resume
- >> rt_schedule
- >> rt_object_get_type
[Called By]- >> DroneCAN_Start
- >> rt_application_init
- >> InitTask
- >> rt_thread_idle_init
- >> rt_thread_control
rt_thread_suspend (Thumb, 112 bytes, Stack size 16 bytes, thread.o(i.rt_thread_suspend))
[Stack]
- Max Depth = 64
- Call Chain = rt_thread_suspend ⇒ rt_timer_stop ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_object_get_type
- >> rt_timer_stop
- >> rt_schedule_remove_thread
[Called By]- >> rt_ipc_list_suspend
- >> rt_thread_sleep
rt_thread_timeout (Thumb, 92 bytes, Stack size 16 bytes, thread.o(i.rt_thread_timeout))
[Stack]
- Max Depth = 144
- Call Chain = rt_thread_timeout ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_schedule
- >> rt_object_get_type
- >> rt_list_remove
- >> rt_schedule_insert_thread
[Address Reference Count : 1]- thread.o(i._rt_thread_init)
rt_thread_yield (Thumb, 92 bytes, Stack size 16 bytes, thread.o(i.rt_thread_yield))
[Stack]
- Max Depth = 144
- Call Chain = rt_thread_yield ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_schedule
- >> rt_list_remove
[Called By]
rt_tick_from_millisecond (Thumb, 56 bytes, Stack size 0 bytes, clock.o(i.rt_tick_from_millisecond))
[Called By]
rt_tick_get (Thumb, 6 bytes, Stack size 0 bytes, clock.o(i.rt_tick_get))
[Called By]
- >> parse_radar_response
- >> NodeStatusTask
- >> DroneCAN_Start
- >> DroneCAN_SendInitialNodeStatus
- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_RxThreadEntry
- >> DroneCAN_HandleDynamicNodeIDAllocation
- >> DroneCAN_GetTimeUsec
- >> rt_timer_start
- >> rt_timer_check
- >> _list_timer
rt_tick_increase (Thumb, 42 bytes, Stack size 8 bytes, clock.o(i.rt_tick_increase))
[Stack]
- Max Depth = 152
- Call Chain = rt_tick_increase ⇒ rt_thread_yield ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_thread_self
- >> rt_timer_check
- >> rt_thread_yield
[Called By]
rt_timer_check (Thumb, 130 bytes, Stack size 16 bytes, timer.o(i.rt_timer_check))
[Stack]
- Max Depth = 80
- Call Chain = rt_timer_check ⇒ rt_timer_start ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_tick_get
- >> rt_timer_start
- >> rt_list_isempty
- >> _rt_timer_remove
[Called By]
rt_timer_control (Thumb, 98 bytes, Stack size 16 bytes, timer.o(i.rt_timer_control))
[Stack]
- Max Depth = 48
- Call Chain = rt_timer_control ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_object_get_type
[Called By]- >> rt_sem_take
- >> rt_mutex_take
- >> rt_thread_sleep
rt_timer_detach (Thumb, 82 bytes, Stack size 16 bytes, timer.o(i.rt_timer_detach))
[Stack]
- Max Depth = 56
- Call Chain = rt_timer_detach ⇒ rt_object_detach ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_object_is_systemobject
- >> rt_object_get_type
- >> rt_object_detach
- >> _rt_timer_remove
[Called By]- >> rt_thread_exit
- >> rt_thread_delete
rt_timer_init (Thumb, 58 bytes, Stack size 32 bytes, timer.o(i.rt_timer_init))
[Stack]
- Max Depth = 200
- Call Chain = rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_object_init
- >> _rt_timer_init
[Called By]
rt_timer_start (Thumb, 296 bytes, Stack size 32 bytes, timer.o(i.rt_timer_start))
[Stack]
- Max Depth = 64
- Call Chain = rt_timer_start ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_tick_get
- >> rt_object_get_type
- >> rt_list_insert_after
- >> _rt_timer_remove
[Called By]- >> rt_sem_take
- >> rt_mutex_take
- >> rt_timer_check
- >> rt_thread_sleep
rt_timer_stop (Thumb, 84 bytes, Stack size 16 bytes, timer.o(i.rt_timer_stop))
[Stack]
- Max Depth = 48
- Call Chain = rt_timer_stop ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> rt_object_get_type
- >> _rt_timer_remove
[Called By]- >> rt_thread_suspend
- >> rt_thread_resume
rtthread_startup (Thumb, 40 bytes, Stack size 8 bytes, main.o(i.rtthread_startup))
[Stack]
- Max Depth = 336
- Call Chain = rtthread_startup ⇒ rt_application_init ⇒ rt_thread_init ⇒ _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_application_init
- >> rt_thread_idle_init
- >> rt_system_timer_thread_init
- >> rt_system_timer_init
- >> rt_system_scheduler_start
- >> rt_system_scheduler_init
- >> rt_system_heap_init
- >> rt_hw_board_init
[Called By]
sqrtf (Thumb, 62 bytes, Stack size 16 bytes, sqrtf.o(i.sqrtf))
[Stack]
- Max Depth = 16
- Call Chain = sqrtf
[Calls]
[Called By]
usart_init (Thumb, 188 bytes, Stack size 32 bytes, usart.o(i.usart_init))
[Stack]
- Max Depth = 108
- Call Chain = usart_init ⇒ USART_Init ⇒ RCC_GetClocksFreqValue
[Calls]- >> USART_Init
- >> USART_Enable
- >> USART_DeInit
- >> USART_ConfigInt
- >> RCC_EnableAHBPeriphClk
- >> NVIC_PriorityGroupConfig
- >> RCC_EnableAPB2PeriphClk
- >> RCC_EnableAPB1PeriphClk
- >> NVIC_Init
- >> GPIO_InitPeripheral
[Called By]
version (Thumb, 10 bytes, Stack size 8 bytes, cmd.o(i.version))
[Stack]
- Max Depth = 104
- Call Chain = version ⇒ rt_show_version ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Address Reference Count : 1]
write_conf_info (Thumb, 20 bytes, Stack size 8 bytes, dri_flash.o(i.write_conf_info))
[Stack]
- Max Depth = 88
- Call Chain = write_conf_info ⇒ flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]
[Called By]- >> check_conf_info
- >> ParameterTask
write_dev_info (Thumb, 20 bytes, Stack size 8 bytes, dri_flash.o(i.write_dev_info))
[Stack]
- Max Depth = 88
- Call Chain = write_dev_info ⇒ flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]
[Called By]- >> ParameterTask
- >> InitTask
write_iap_info (Thumb, 20 bytes, Stack size 8 bytes, dri_flash.o(i.write_iap_info))
[Stack]
- Max Depth = 88
- Call Chain = write_iap_info ⇒ flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]
[Called By]
Local Symbols
AppTask (Thumb, 178 bytes, Stack size 0 bytes, application.o(i.AppTask))
[Stack]
- Max Depth = 192
- Call Chain = AppTask ⇒ rt_mutex_take ⇒ rt_thread_control ⇒ rt_thread_startup ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_sem_take
- >> rt_sem_release
- >> rt_mutex_take
- >> rt_mutex_release
- >> parse_radar_response
- >> GPIO_SetBits
- >> GPIO_ResetBits
- >> memcmp
- >> __aeabi_memclr
- >> __aeabi_memcpy
[Address Reference Count : 1]- application.o(i.InitTask)
InitTask (Thumb, 376 bytes, Stack size 32 bytes, application.o(i.InitTask))
[Stack]
- Max Depth = 368
- Call Chain = InitTask ⇒ DroneCAN_Start ⇒ rt_thread_init ⇒ _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> write_iap_info
- >> write_dev_info
- >> rt_thread_startup
- >> rt_thread_init
- >> read_iap_info
- >> read_dev_info
- >> read_conf_info
- >> read_boot_info
- >> check_conf_info
- >> can_init
- >> DroneCAN_Start
[Address Reference Count : 1]- application.o(i.rt_application_init)
ParameterTask (Thumb, 1504 bytes, Stack size 0 bytes, application.o(i.ParameterTask))
[Stack]
- Max Depth = 160
- Call Chain = ParameterTask ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> write_dev_info
- >> write_conf_info
- >> rt_sem_take
- >> read_uid
- >> read_dev_info
- >> read_conf_info
- >> calculate_flag
- >> MyCAN_Transmit
[Address Reference Count : 1]- application.o(i.InitTask)
DroneCAN_DNA_Reset (Thumb, 80 bytes, Stack size 16 bytes, dri_can.o(i.DroneCAN_DNA_Reset))
[Stack]
- Max Depth = 16
- Call Chain = DroneCAN_DNA_Reset
[Calls]- >> DroneCAN_MillisecondsToTicks
[Called By]- >> DroneCAN_Start
- >> DroneCAN_RxThreadEntry
- >> DroneCAN_HandleDynamicNodeIDAllocation
DroneCAN_FlushTxQueue (Thumb, 40 bytes, Stack size 8 bytes, dri_can.o(i.DroneCAN_FlushTxQueue))
[Stack]
- Max Depth = 72
- Call Chain = DroneCAN_FlushTxQueue ⇒ MyCAN_Transmit ⇒ CAN_TransmitSTS
[Calls]- >> MyCAN_Transmit
- >> canardPopTxQueue
- >> canardPeekTxQueue
[Called By]- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_SendBeginFirmwareUpdateResponse
- >> DroneCAN_SendRangeSensorMeasurement
- >> DroneCAN_SendNodeStatus
DroneCAN_GetTimeUsec (Thumb, 28 bytes, Stack size 16 bytes, dri_can.o(i.DroneCAN_GetTimeUsec))
[Stack]
- Max Depth = 56
- Call Chain = DroneCAN_GetTimeUsec ⇒ __aeabi_uldivmod
[Calls]- >> rt_tick_get
- >> __aeabi_uldivmod
[Called By]- >> DroneCAN_RxThreadEntry
- >> DroneCAN_HandleRxMessage
DroneCAN_HandleDynamicNodeIDAllocation (Thumb, 218 bytes, Stack size 40 bytes, dri_can.o(i.DroneCAN_HandleDynamicNodeIDAllocation))
[Stack]
- Max Depth = 348
- Call Chain = DroneCAN_HandleDynamicNodeIDAllocation ⇒ DroneCAN_SendInitialNodeStatus ⇒ DroneCAN_SendNodeStatus ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardSetLocalNodeID
- >> _uavcan_protocol_dynamic_node_id_Allocation_decode
- >> DroneCAN_SendInitialNodeStatus
- >> DroneCAN_MillisecondsToTicks
- >> DroneCAN_DNA_Reset
- >> rt_tick_get
- >> DroneCAN_IsNodeIDAllocated
- >> memcmp
- >> __aeabi_memclr4
[Called By]
DroneCAN_HandleRxMessage (Thumb, 118 bytes, Stack size 40 bytes, dri_can.o(i.DroneCAN_HandleRxMessage))
[Stack]
- Max Depth = 264
- Call Chain = DroneCAN_HandleRxMessage ⇒ canardHandleRxFrame ⇒ traverseRxStates ⇒ prependRxState ⇒ createRxState
[Calls]- >> canardHandleRxFrame
- >> DroneCAN_IsRelevantFrame
- >> DroneCAN_GetTimeUsec
- >> __aeabi_memcpy
[Called By]- >> DroneCAN_RxThreadEntry
DroneCAN_IsRelevantFrame (Thumb, 104 bytes, Stack size 16 bytes, dri_can.o(i.DroneCAN_IsRelevantFrame))
[Stack]
- Max Depth = 24
- Call Chain = DroneCAN_IsRelevantFrame ⇒ DroneCAN_IsNodeIDAllocated
[Calls]- >> canardGetLocalNodeID
- >> DroneCAN_IsNodeIDAllocated
[Called By]- >> USB_LP_CAN1_RX0_IRQHandler
- >> DroneCAN_RxQueuePushFromIsr
- >> DroneCAN_HandleRxMessage
DroneCAN_MillisecondsToTicks (Thumb, 26 bytes, Stack size 0 bytes, dri_can.o(i.DroneCAN_MillisecondsToTicks))
[Called By]
- >> DroneCAN_RxThreadEntry
- >> DroneCAN_HandleDynamicNodeIDAllocation
- >> DroneCAN_DNA_Reset
DroneCAN_OnReception (Thumb, 300 bytes, Stack size 224 bytes, dri_can.o(i.DroneCAN_OnReception))
[Stack]
- Max Depth = 1308
- Call Chain = DroneCAN_OnReception ⇒ DroneCAN_SendGetNodeInfoResponse ⇒ canardRequestOrRespond ⇒ canardRequestOrRespondObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> _uavcan_protocol_file_BeginFirmwareUpdateRequest_decode
- >> _uavcan_navigation_GlobalNavigationSolution_decode
- >> __aeabi_d2f
- >> __set_PRIMASK
- >> __NVIC_SystemReset
- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendBeginFirmwareUpdateResponse
- >> DroneCAN_SaveBeginFirmwareUpdateRequest
- >> DroneCAN_HandleDynamicNodeIDAllocation
- >> DroneCAN_IsNodeIDAllocated
[Address Reference Count : 1]
DroneCAN_RxQueuePop (Thumb, 88 bytes, Stack size 16 bytes, dri_can.o(i.DroneCAN_RxQueuePop))
[Stack]
- Max Depth = 16
- Call Chain = DroneCAN_RxQueuePop
[Calls]- >> rt_hw_interrupt_enable
- >> rt_hw_interrupt_disable
- >> __aeabi_memcpy4
[Called By]- >> DroneCAN_RxThreadEntry
DroneCAN_RxQueuePushFromIsr (Thumb, 98 bytes, Stack size 8 bytes, dri_can.o(i.DroneCAN_RxQueuePushFromIsr))
[Stack]
- Max Depth = 152
- Call Chain = DroneCAN_RxQueuePushFromIsr ⇒ rt_sem_release ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_sem_release
- >> DroneCAN_IsRelevantFrame
- >> __aeabi_memcpy4
[Called By]- >> USB_LP_CAN1_RX0_IRQHandler
DroneCAN_RxThreadEntry (Thumb, 228 bytes, Stack size 24 bytes, dri_can.o(i.DroneCAN_RxThreadEntry))
[Stack]
- Max Depth = 356
- Call Chain = DroneCAN_RxThreadEntry ⇒ DroneCAN_SendDynamicNodeIDRequest ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> rt_sem_take
- >> canardCleanupStaleTransfers
- >> DroneCAN_UseStaticNodeID
- >> DroneCAN_TickReached
- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_RxQueuePop
- >> DroneCAN_MillisecondsToTicks
- >> DroneCAN_HandleRxMessage
- >> DroneCAN_GetTimeUsec
- >> DroneCAN_DNA_Reset
- >> rt_tick_get
- >> DroneCAN_IsNodeIDAllocated
[Address Reference Count : 1]- dri_can.o(i.DroneCAN_Start)
DroneCAN_SaveBeginFirmwareUpdateRequest (Thumb, 108 bytes, Stack size 16 bytes, dri_can.o(i.DroneCAN_SaveBeginFirmwareUpdateRequest))
[Stack]
- Max Depth = 328
- Call Chain = DroneCAN_SaveBeginFirmwareUpdateRequest ⇒ DroneCAN_UpdateContextWrite ⇒ flash_write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOpt
[Calls]- >> canardGetLocalNodeID
- >> DroneCAN_UpdateContextWrite
- >> DroneCAN_UpdateContextCalcCRC32
- >> __aeabi_memcpy
[Called By]
DroneCAN_SendBeginFirmwareUpdateResponse (Thumb, 160 bytes, Stack size 320 bytes, dri_can.o(i.DroneCAN_SendBeginFirmwareUpdateResponse))
[Stack]
- Max Depth = 580
- Call Chain = DroneCAN_SendBeginFirmwareUpdateResponse ⇒ canardRequestOrRespond ⇒ canardRequestOrRespondObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardRequestOrRespond
- >> canardReleaseRxTransferPayload
- >> _uavcan_protocol_file_BeginFirmwareUpdateResponse_encode
- >> DroneCAN_TxUnlock
- >> DroneCAN_TxLock
- >> DroneCAN_FlushTxQueue
- >> strlen
- >> __aeabi_memclr4
- >> __aeabi_memcpy
[Called By]
DroneCAN_SendDynamicNodeIDRequest (Thumb, 174 bytes, Stack size 88 bytes, dri_can.o(i.DroneCAN_SendDynamicNodeIDRequest))
[Stack]
- Max Depth = 332
- Call Chain = DroneCAN_SendDynamicNodeIDRequest ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardBroadcast
- >> _uavcan_protocol_dynamic_node_id_Allocation_encode
- >> DroneCAN_TxUnlock
- >> DroneCAN_TxLock
- >> DroneCAN_FlushTxQueue
- >> DroneCAN_IsNodeIDAllocated
- >> __aeabi_memclr4
- >> __aeabi_memcpy
[Called By]- >> DroneCAN_RxThreadEntry
DroneCAN_SendGetNodeInfoResponse (Thumb, 194 bytes, Stack size 824 bytes, dri_can.o(i.DroneCAN_SendGetNodeInfoResponse))
[Stack]
- Max Depth = 1084
- Call Chain = DroneCAN_SendGetNodeInfoResponse ⇒ canardRequestOrRespond ⇒ canardRequestOrRespondObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardRequestOrRespond
- >> canardReleaseRxTransferPayload
- >> _uavcan_protocol_GetNodeInfoResponse_encode
- >> DroneCAN_TxUnlock
- >> DroneCAN_TxLock
- >> DroneCAN_FlushTxQueue
- >> rt_tick_get
- >> __aeabi_memclr4
- >> __aeabi_memcpy
[Called By]
DroneCAN_SendInitialNodeStatus (Thumb, 42 bytes, Stack size 16 bytes, dri_can.o(i.DroneCAN_SendInitialNodeStatus))
[Stack]
- Max Depth = 308
- Call Chain = DroneCAN_SendInitialNodeStatus ⇒ DroneCAN_SendNodeStatus ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> rt_tick_get
- >> DroneCAN_SendNodeStatus
[Called By]- >> DroneCAN_UseStaticNodeID
- >> DroneCAN_HandleDynamicNodeIDAllocation
DroneCAN_ShouldAccept (Thumb, 128 bytes, Stack size 24 bytes, dri_can.o(i.DroneCAN_ShouldAccept))
[Stack]
- Max Depth = 24
- Call Chain = DroneCAN_ShouldAccept
[Calls]
[Address Reference Count : 1]
DroneCAN_TickReached (Thumb, 20 bytes, Stack size 0 bytes, dri_can.o(i.DroneCAN_TickReached))
[Called By]
- >> DroneCAN_RxThreadEntry
DroneCAN_TxLock (Thumb, 28 bytes, Stack size 8 bytes, dri_can.o(i.DroneCAN_TxLock))
[Stack]
- Max Depth = 200
- Call Chain = DroneCAN_TxLock ⇒ rt_mutex_take ⇒ rt_thread_control ⇒ rt_thread_startup ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]
[Called By]- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_SendBeginFirmwareUpdateResponse
- >> DroneCAN_SendRangeSensorMeasurement
- >> DroneCAN_SendNodeStatus
DroneCAN_TxUnlock (Thumb, 10 bytes, Stack size 8 bytes, dri_can.o(i.DroneCAN_TxUnlock))
[Stack]
- Max Depth = 200
- Call Chain = DroneCAN_TxUnlock ⇒ rt_mutex_release ⇒ rt_thread_control ⇒ rt_thread_startup ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]
[Called By]- >> DroneCAN_SendGetNodeInfoResponse
- >> DroneCAN_SendDynamicNodeIDRequest
- >> DroneCAN_SendBeginFirmwareUpdateResponse
- >> DroneCAN_SendRangeSensorMeasurement
- >> DroneCAN_SendNodeStatus
DroneCAN_UseStaticNodeID (Thumb, 48 bytes, Stack size 8 bytes, dri_can.o(i.DroneCAN_UseStaticNodeID))
[Stack]
- Max Depth = 316
- Call Chain = DroneCAN_UseStaticNodeID ⇒ DroneCAN_SendInitialNodeStatus ⇒ DroneCAN_SendNodeStatus ⇒ canardBroadcast ⇒ canardBroadcastObj ⇒ enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> canardSetLocalNodeID
- >> DroneCAN_SendInitialNodeStatus
- >> DroneCAN_IsNodeIDAllocated
[Called By]- >> DroneCAN_RxThreadEntry
__NVIC_SystemReset (Thumb, 56 bytes, Stack size 0 bytes, dri_can.o(i.__NVIC_SystemReset))
[Called By]
- >> USB_LP_CAN1_RX0_IRQHandler
- >> DroneCAN_OnReception
__set_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, dri_can.o(i.__set_PRIMASK))
[Called By]
- >> USB_LP_CAN1_RX0_IRQHandler
- >> DroneCAN_OnReception
__set_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, dri_flash.o(i.__set_PRIMASK))
[Called By]
bus_fault_track (Thumb, 130 bytes, Stack size 8 bytes, cpuport.o(i.bus_fault_track))
[Stack]
- Max Depth = 96
- Call Chain = bus_fault_track ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Called By]
hard_fault_track (Thumb, 82 bytes, Stack size 8 bytes, cpuport.o(i.hard_fault_track))
[Stack]
- Max Depth = 104
- Call Chain = hard_fault_track ⇒ usage_fault_track ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]- >> usage_fault_track
- >> mem_manage_fault_track
- >> bus_fault_track
- >> rt_kprintf
[Called By]- >> rt_hw_hard_fault_exception
mem_manage_fault_track (Thumb, 114 bytes, Stack size 8 bytes, cpuport.o(i.mem_manage_fault_track))
[Stack]
- Max Depth = 96
- Call Chain = mem_manage_fault_track ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Called By]
usage_fault_track (Thumb, 122 bytes, Stack size 8 bytes, cpuport.o(i.usage_fault_track))
[Stack]
- Max Depth = 96
- Call Chain = usage_fault_track ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Called By]
SetSysClock (Thumb, 158 bytes, Stack size 16 bytes, system_n32g45x.o(i.SetSysClock))
[Stack]
- Max Depth = 16
- Call Chain = SetSysClock
[Called By]
RESERVE48_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n32g45x.o(.text))
[Address Reference Count : 1]
CheckINTStatus (Thumb, 18 bytes, Stack size 0 bytes, n32g45x_can.o(i.CheckINTStatus))
[Called By]
_has_defunct_thread (Thumb, 16 bytes, Stack size 0 bytes, idle.o(i._has_defunct_thread))
[Called By]
rt_thread_idle_entry (Thumb, 8 bytes, Stack size 0 bytes, idle.o(i.rt_thread_idle_entry))
[Stack]
- Max Depth = 208
- Call Chain = rt_thread_idle_entry ⇒ rt_thread_idle_excute ⇒ rt_object_delete ⇒ rt_free ⇒ rt_sem_take ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]
[Address Reference Count : 1]- idle.o(i.rt_thread_idle_init)
rt_ipc_list_resume (Thumb, 24 bytes, Stack size 16 bytes, ipc.o(i.rt_ipc_list_resume))
[Stack]
- Max Depth = 80
- Call Chain = rt_ipc_list_resume ⇒ rt_thread_resume ⇒ rt_timer_stop ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]
[Called By]- >> rt_sem_release
- >> rt_mutex_release
rt_ipc_list_suspend (Thumb, 108 bytes, Stack size 24 bytes, ipc.o(i.rt_ipc_list_suspend))
[Stack]
- Max Depth = 88
- Call Chain = rt_ipc_list_suspend ⇒ rt_thread_suspend ⇒ rt_timer_stop ⇒ rt_object_get_type ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]- >> rt_thread_suspend
- >> rt_list_insert_before
[Called By]- >> rt_sem_take
- >> rt_mutex_take
rt_ipc_object_init (Thumb, 16 bytes, Stack size 0 bytes, ipc.o(i.rt_ipc_object_init))
[Called By]
- >> rt_sem_create
- >> rt_mutex_init
- >> rt_sem_init
rt_list_insert_before (Thumb, 14 bytes, Stack size 0 bytes, ipc.o(i.rt_list_insert_before))
[Called By]
rt_list_isempty (Thumb, 16 bytes, Stack size 0 bytes, ipc.o(i.rt_list_isempty))
[Called By]
- >> rt_sem_release
- >> rt_mutex_release
plug_holes (Thumb, 160 bytes, Stack size 16 bytes, mem.o(i.plug_holes))
[Stack]
- Max Depth = 40
- Call Chain = plug_holes ⇒ rt_assert_handler ⇒ rt_kprintf (Cycle)
[Calls]
[Called By]
rt_list_insert_after (Thumb, 14 bytes, Stack size 0 bytes, object.o(i.rt_list_insert_after))
[Called By]
- >> rt_object_allocate
- >> rt_object_init
rt_list_remove (Thumb, 18 bytes, Stack size 0 bytes, object.o(i.rt_list_remove))
[Called By]
- >> rt_object_delete
- >> rt_object_detach
_rt_scheduler_stack_check (Thumb, 90 bytes, Stack size 16 bytes, scheduler.o(i._rt_scheduler_stack_check))
[Stack]
- Max Depth = 104 + In Cycle
- Call Chain = _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> list_thread
- >> rt_kprintf
- >> rt_hw_interrupt_disable
[Called By]
rt_list_init (Thumb, 6 bytes, Stack size 0 bytes, scheduler.o(i.rt_list_init))
[Called By]
- >> rt_system_scheduler_init
_rt_thread_init (Thumb, 138 bytes, Stack size 48 bytes, thread.o(i._rt_thread_init))
[Stack]
- Max Depth = 248
- Call Chain = _rt_thread_init ⇒ rt_timer_init ⇒ rt_object_init ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_assert_handler
- >> rt_hw_stack_init
- >> rt_memset
- >> rt_timer_init
[Called By]
rt_list_insert_after (Thumb, 14 bytes, Stack size 0 bytes, thread.o(i.rt_list_insert_after))
[Called By]
- >> rt_thread_exit
- >> rt_thread_delete
rt_list_remove (Thumb, 18 bytes, Stack size 0 bytes, thread.o(i.rt_list_remove))
[Called By]
- >> rt_thread_resume
- >> rt_thread_yield
- >> rt_thread_timeout
_rt_timer_init (Thumb, 66 bytes, Stack size 32 bytes, timer.o(i._rt_timer_init))
[Stack]
- Max Depth = 32
- Call Chain = _rt_timer_init
[Calls]
[Called By]
_rt_timer_remove (Thumb, 46 bytes, Stack size 8 bytes, timer.o(i._rt_timer_remove))
[Stack]
- Max Depth = 8
- Call Chain = _rt_timer_remove
[Called By]- >> rt_timer_start
- >> rt_timer_check
- >> rt_timer_stop
- >> rt_timer_detach
rt_list_init (Thumb, 6 bytes, Stack size 0 bytes, timer.o(i.rt_list_init))
[Called By]
- >> rt_system_timer_init
- >> _rt_timer_init
rt_list_insert_after (Thumb, 14 bytes, Stack size 0 bytes, timer.o(i.rt_list_insert_after))
[Called By]
rt_list_isempty (Thumb, 16 bytes, Stack size 0 bytes, timer.o(i.rt_list_isempty))
[Called By]
DCM_ByQuaternion (Thumb, 250 bytes, Stack size 0 bytes, euler.o(i.DCM_ByQuaternion))
[Called By]
fabsf (Thumb, 10 bytes, Stack size 0 bytes, euler.o(i.fabsf))
[Called By]
Vector_GetNorm (Thumb, 78 bytes, Stack size 24 bytes, quaternion.o(i.Vector_GetNorm))
[Stack]
- Max Depth = 40
- Call Chain = Vector_GetNorm ⇒ __hardfp_sqrtf
[Calls]
[Called By]
__uavcan_equipment_range_sensor_Measurement_encode (Thumb, 224 bytes, Stack size 40 bytes, uavcan.equipment.range_sensor.measurement.o(i.__uavcan_equipment_range_sensor_Measurement_encode))
[Stack]
- Max Depth = 116
- Call Chain = __uavcan_equipment_range_sensor_Measurement_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]- >> canardConvertNativeFloatToFloat16
- >> canardEncodeScalar
[Called By]- >> _uavcan_equipment_range_sensor_Measurement_encode
__uavcan_navigation_GlobalNavigationSolution_decode (Thumb, 600 bytes, Stack size 32 bytes, uavcan.navigation.globalnavigationsolution.o(i.__uavcan_navigation_GlobalNavigationSolution_decode))
[Stack]
- Max Depth = 212
- Call Chain = __uavcan_navigation_GlobalNavigationSolution_decode ⇒ canardDecodeScalar ⇒ descatterTransferPayload ⇒ copyBitArray
[Calls]- >> canardConvertFloat16ToNativeFloat
- >> canardDecodeScalar
[Called By]- >> _uavcan_navigation_GlobalNavigationSolution_decode
__uavcan_protocol_dynamic_node_id_Allocation_decode (Thumb, 150 bytes, Stack size 32 bytes, uavcan.protocol.dynamic_node_id.allocation.o(i.__uavcan_protocol_dynamic_node_id_Allocation_decode))
[Stack]
- Max Depth = 212
- Call Chain = __uavcan_protocol_dynamic_node_id_Allocation_decode ⇒ canardDecodeScalar ⇒ descatterTransferPayload ⇒ copyBitArray
[Calls]
[Called By]- >> _uavcan_protocol_dynamic_node_id_Allocation_decode
__uavcan_protocol_dynamic_node_id_Allocation_encode (Thumb, 120 bytes, Stack size 32 bytes, uavcan.protocol.dynamic_node_id.allocation.o(i.__uavcan_protocol_dynamic_node_id_Allocation_encode))
[Stack]
- Max Depth = 108
- Call Chain = __uavcan_protocol_dynamic_node_id_Allocation_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]
[Called By]- >> _uavcan_protocol_dynamic_node_id_Allocation_encode
__uavcan_protocol_file_Path_decode (Thumb, 106 bytes, Stack size 32 bytes, uavcan.protocol.file.beginfirmwareupdate_req.o(i.__uavcan_protocol_file_Path_decode))
[Stack]
- Max Depth = 212
- Call Chain = __uavcan_protocol_file_Path_decode ⇒ canardDecodeScalar ⇒ descatterTransferPayload ⇒ copyBitArray
[Calls]
[Called By]- >> _uavcan_protocol_file_BeginFirmwareUpdateRequest_decode
__uavcan_protocol_file_BeginFirmwareUpdateResponse_encode (Thumb, 102 bytes, Stack size 32 bytes, uavcan.protocol.file.beginfirmwareupdate_res.o(i.__uavcan_protocol_file_BeginFirmwareUpdateResponse_encode))
[Stack]
- Max Depth = 108
- Call Chain = __uavcan_protocol_file_BeginFirmwareUpdateResponse_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]
[Called By]- >> _uavcan_protocol_file_BeginFirmwareUpdateResponse_encode
__uavcan_protocol_GetNodeInfoResponse_encode (Thumb, 130 bytes, Stack size 32 bytes, uavcan.protocol.getnodeinfo_res.o(i.__uavcan_protocol_GetNodeInfoResponse_encode))
[Stack]
- Max Depth = 140
- Call Chain = __uavcan_protocol_GetNodeInfoResponse_encode ⇒ __uavcan_protocol_HardwareVersion_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]- >> canardEncodeScalar
- >> __uavcan_protocol_SoftwareVersion_encode
- >> __uavcan_protocol_NodeStatus_encode
- >> __uavcan_protocol_HardwareVersion_encode
[Called By]- >> _uavcan_protocol_GetNodeInfoResponse_encode
__uavcan_protocol_HardwareVersion_encode (Thumb, 152 bytes, Stack size 32 bytes, uavcan.protocol.getnodeinfo_res.o(i.__uavcan_protocol_HardwareVersion_encode))
[Stack]
- Max Depth = 108
- Call Chain = __uavcan_protocol_HardwareVersion_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]
[Called By]- >> __uavcan_protocol_GetNodeInfoResponse_encode
__uavcan_protocol_NodeStatus_encode (Thumb, 108 bytes, Stack size 24 bytes, uavcan.protocol.getnodeinfo_res.o(i.__uavcan_protocol_NodeStatus_encode))
[Stack]
- Max Depth = 100
- Call Chain = __uavcan_protocol_NodeStatus_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]
[Called By]- >> __uavcan_protocol_GetNodeInfoResponse_encode
__uavcan_protocol_SoftwareVersion_encode (Thumb, 108 bytes, Stack size 24 bytes, uavcan.protocol.getnodeinfo_res.o(i.__uavcan_protocol_SoftwareVersion_encode))
[Stack]
- Max Depth = 100
- Call Chain = __uavcan_protocol_SoftwareVersion_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]
[Called By]- >> __uavcan_protocol_GetNodeInfoResponse_encode
__uavcan_protocol_NodeStatus_encode (Thumb, 108 bytes, Stack size 24 bytes, uavcan.protocol.nodestatus.o(i.__uavcan_protocol_NodeStatus_encode))
[Stack]
- Max Depth = 100
- Call Chain = __uavcan_protocol_NodeStatus_encode ⇒ canardEncodeScalar ⇒ copyBitArray
[Calls]
[Called By]- >> _uavcan_protocol_NodeStatus_encode
allocateBlock (Thumb, 40 bytes, Stack size 0 bytes, canard.o(i.allocateBlock))
[Called By]
- >> createTxItem
- >> createRxState
- >> createBufferBlock
bufferBlockPushBytes (Thumb, 306 bytes, Stack size 56 bytes, canard.o(i.bufferBlockPushBytes))
[Stack]
- Max Depth = 72
- Call Chain = bufferBlockPushBytes ⇒ createBufferBlock
[Calls]- >> createBufferBlock
- >> canardBufferToIdx
- >> canardBufferFromIdx
[Called By]
calculateCRC (Thumb, 48 bytes, Stack size 24 bytes, canard.o(i.calculateCRC))
[Stack]
- Max Depth = 64
- Call Chain = calculateCRC ⇒ crcAddSignature ⇒ crcAddByte
[Calls]- >> crcAddSignature
- >> crcAdd
[Called By]- >> canardRequestOrRespondObj
- >> canardBroadcastObj
canardBufferFromIdx (Thumb, 6 bytes, Stack size 0 bytes, canard.o(i.canardBufferFromIdx))
[Called By]
- >> canardHandleRxFrame
- >> releaseStatePayload
- >> bufferBlockPushBytes
canardBufferToIdx (Thumb, 6 bytes, Stack size 0 bytes, canard.o(i.canardBufferToIdx))
[Called By]
- >> releaseStatePayload
- >> bufferBlockPushBytes
canardRxFromIdx (Thumb, 6 bytes, Stack size 0 bytes, canard.o(i.canardRxFromIdx))
[Called By]
- >> canardCleanupStaleTransfers
- >> findRxState
canardRxToIdx (Thumb, 6 bytes, Stack size 0 bytes, canard.o(i.canardRxToIdx))
[Called By]
computeTransferIDForwardDistance (Thumb, 16 bytes, Stack size 0 bytes, canard.o(i.computeTransferIDForwardDistance))
[Called By]
copyBitArray (Thumb, 152 bytes, Stack size 36 bytes, canard.o(i.copyBitArray))
[Stack]
- Max Depth = 36
- Call Chain = copyBitArray
[Called By]- >> canardEncodeScalar
- >> descatterTransferPayload
crcAdd (Thumb, 34 bytes, Stack size 16 bytes, canard.o(i.crcAdd))
[Stack]
- Max Depth = 24
- Call Chain = crcAdd ⇒ crcAddByte
[Calls]
[Called By]- >> canardHandleRxFrame
- >> canardBroadcastObj
- >> calculateCRC
crcAddByte (Thumb, 52 bytes, Stack size 8 bytes, canard.o(i.crcAddByte))
[Stack]
- Max Depth = 8
- Call Chain = crcAddByte
[Called By]- >> crcAddSignature
- >> crcAdd
crcAddSignature (Thumb, 58 bytes, Stack size 32 bytes, canard.o(i.crcAddSignature))
[Stack]
- Max Depth = 40
- Call Chain = crcAddSignature ⇒ crcAddByte
[Calls]- >> crcAddByte
- >> __aeabi_llsr
[Called By]- >> canardHandleRxFrame
- >> calculateCRC
createBufferBlock (Thumb, 26 bytes, Stack size 16 bytes, canard.o(i.createBufferBlock))
[Stack]
- Max Depth = 16
- Call Chain = createBufferBlock
[Calls]
[Called By]
createRxState (Thumb, 48 bytes, Stack size 48 bytes, canard.o(i.createRxState))
[Stack]
- Max Depth = 48
- Call Chain = createRxState
[Calls]- >> allocateBlock
- >> __aeabi_memclr4
- >> __aeabi_memcpy4
[Called By]- >> traverseRxStates
- >> prependRxState
createTxItem (Thumb, 30 bytes, Stack size 16 bytes, canard.o(i.createTxItem))
[Stack]
- Max Depth = 16
- Call Chain = createTxItem
[Calls]- >> allocateBlock
- >> __aeabi_memclr4
[Called By]
dataLengthToDlc (Thumb, 62 bytes, Stack size 0 bytes, canard.o(i.dataLengthToDlc))
[Called By]
descatterTransferPayload (Thumb, 318 bytes, Stack size 72 bytes, canard.o(i.descatterTransferPayload))
[Stack]
- Max Depth = 108
- Call Chain = descatterTransferPayload ⇒ copyBitArray
[Calls]
[Called By]
dlcToDataLength (Thumb, 62 bytes, Stack size 0 bytes, canard.o(i.dlcToDataLength))
[Called By]
enqueueTxFrames (Thumb, 414 bytes, Stack size 80 bytes, canard.o(i.enqueueTxFrames))
[Stack]
- Max Depth = 132
- Call Chain = enqueueTxFrames ⇒ pushTxQueue ⇒ isPriorityHigher
[Calls]- >> pushTxQueue
- >> dlcToDataLength
- >> dataLengthToDlc
- >> createTxItem
- >> __aeabi_memcpy
[Called By]- >> canardRequestOrRespondObj
- >> canardBroadcastObj
findRxState (Thumb, 40 bytes, Stack size 16 bytes, canard.o(i.findRxState))
[Stack]
- Max Depth = 16
- Call Chain = findRxState
[Calls]
[Called By]- >> canardHandleRxFrame
- >> traverseRxStates
freeBlock (Thumb, 18 bytes, Stack size 8 bytes, canard.o(i.freeBlock))
[Stack]
- Max Depth = 8
- Call Chain = freeBlock
[Called By]- >> canardReleaseRxTransferPayload
- >> canardPopTxQueue
- >> canardCleanupStaleTransfers
- >> releaseStatePayload
incrementTransferID (Thumb, 18 bytes, Stack size 0 bytes, canard.o(i.incrementTransferID))
[Called By]
- >> canardRequestOrRespondObj
- >> canardBroadcastObj
initPoolAllocator (Thumb, 42 bytes, Stack size 20 bytes, canard.o(i.initPoolAllocator))
[Stack]
- Max Depth = 20
- Call Chain = initPoolAllocator
[Called By]
isBigEndian (Thumb, 20 bytes, Stack size 8 bytes, canard.o(i.isBigEndian))
[Stack]
- Max Depth = 8
- Call Chain = isBigEndian
[Called By]- >> canardEncodeScalar
- >> canardDecodeScalar
isPriorityHigher (Thumb, 96 bytes, Stack size 28 bytes, canard.o(i.isPriorityHigher))
[Stack]
- Max Depth = 28
- Call Chain = isPriorityHigher
[Called By]
prepareForNextTransfer (Thumb, 34 bytes, Stack size 0 bytes, canard.o(i.prepareForNextTransfer))
[Called By]
prependRxState (Thumb, 42 bytes, Stack size 16 bytes, canard.o(i.prependRxState))
[Stack]
- Max Depth = 64
- Call Chain = prependRxState ⇒ createRxState
[Calls]- >> createRxState
- >> canardRxToIdx
[Called By]
pushTxQueue (Thumb, 72 bytes, Stack size 24 bytes, canard.o(i.pushTxQueue))
[Stack]
- Max Depth = 52
- Call Chain = pushTxQueue ⇒ isPriorityHigher
[Calls]
[Called By]
releaseStatePayload (Thumb, 72 bytes, Stack size 24 bytes, canard.o(i.releaseStatePayload))
[Stack]
- Max Depth = 32
- Call Chain = releaseStatePayload ⇒ freeBlock
[Calls]- >> freeBlock
- >> canardBufferToIdx
- >> canardBufferFromIdx
[Called By]- >> canardHandleRxFrame
- >> canardCleanupStaleTransfers
swapByteOrder (Thumb, 34 bytes, Stack size 16 bytes, canard.o(i.swapByteOrder))
[Stack]
- Max Depth = 16
- Call Chain = swapByteOrder
[Called By]- >> canardEncodeScalar
- >> canardDecodeScalar
traverseRxStates (Thumb, 60 bytes, Stack size 16 bytes, canard.o(i.traverseRxStates))
[Stack]
- Max Depth = 80
- Call Chain = traverseRxStates ⇒ prependRxState ⇒ createRxState
[Calls]- >> prependRxState
- >> findRxState
- >> createRxState
[Called By]
_list_device (Thumb, 110 bytes, Stack size 120 bytes, cmd.o(i._list_device))
[Stack]
- Max Depth = 288
- Call Chain = _list_device ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_kprintf
- >> object_split
- >> object_name_maxlen
- >> __aeabi_memcpy4
[Called By]
_list_mutex (Thumb, 96 bytes, Stack size 48 bytes, cmd.o(i._list_mutex))
[Stack]
- Max Depth = 216
- Call Chain = _list_mutex ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_kprintf
- >> rt_list_len
- >> object_split
- >> object_name_maxlen
[Called By]
_list_sem (Thumb, 150 bytes, Stack size 40 bytes, cmd.o(i._list_sem))
[Stack]
- Max Depth = 208
- Call Chain = _list_sem ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_kprintf
- >> show_wait_queue
- >> rt_list_len
- >> object_split
- >> object_name_maxlen
[Called By]
_list_thread (Thumb, 194 bytes, Stack size 48 bytes, cmd.o(i._list_thread))
[Stack]
- Max Depth = 216
- Call Chain = _list_thread ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_kprintf
- >> object_split
- >> object_name_maxlen
[Called By]
_list_timer (Thumb, 116 bytes, Stack size 40 bytes, cmd.o(i._list_timer))
[Stack]
- Max Depth = 208
- Call Chain = _list_timer ⇒ object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_kprintf
- >> rt_tick_get
- >> object_split
- >> object_name_maxlen
[Called By]
object_name_maxlen (Thumb, 70 bytes, Stack size 32 bytes, cmd.o(i.object_name_maxlen))
[Stack]
- Max Depth = 168
- Call Chain = object_name_maxlen ⇒ rt_exit_critical ⇒ rt_schedule ⇒ _rt_scheduler_stack_check ⇒ list_thread (Cycle)
[Calls]- >> rt_exit_critical
- >> rt_enter_critical
- >> rt_strlen
[Called By]- >> _list_timer
- >> _list_thread
- >> _list_sem
- >> _list_mutex
- >> _list_device
object_split (Thumb, 22 bytes, Stack size 8 bytes, cmd.o(i.object_split))
[Stack]
- Max Depth = 96
- Call Chain = object_split ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[Called By]- >> _list_timer
- >> _list_thread
- >> _list_sem
- >> _list_mutex
- >> _list_device
rt_list_len (Thumb, 20 bytes, Stack size 0 bytes, cmd.o(i.rt_list_len))
[Called By]
- >> _list_sem
- >> _list_mutex
show_wait_queue (Thumb, 40 bytes, Stack size 16 bytes, cmd.o(i.show_wait_queue))
[Stack]
- Max Depth = 104
- Call Chain = show_wait_queue ⇒ rt_kprintf ⇒ rt_device_write ⇒ rt_set_errno ⇒ rt_interrupt_get_nest
[Calls]
[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_d2ulz
- >> __aeabi_uldivmod
- >> __aeabi_ddiv
[Called By]
_printf_core (Thumb, 1704 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
[Calls]
- >> __aeabi_uidivmod
- >> _printf_pre_padding
- >> _printf_post_padding
- >> _fp_digits
- >> __aeabi_uldivmod
[Called By]
_printf_post_padding (Thumb, 36 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)
[Called By]
_printf_pre_padding (Thumb, 46 bytes, Stack size 24 bytes, printfa.o(i._printf_pre_padding), UNUSED)
[Called By]
_snputc (Thumb, 22 bytes, Stack size 0 bytes, printfa.o(i._snputc))
[Address Reference Count : 1]
- printfa.o(i.__0vsnprintf)
Undefined Global Symbols