# Static Call Graph for image .\Flash\Blinky.axf

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Mon Dec 28 19:30:02 2020

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

### Call chain for Maximum Stack Depth:

svcKernelInitialize ⇒ svcThreadCreate ⇒ rt_tsk_create ⇒ rt_init_context ⇒ rt_init_stack

### Mutually Recursive functions

- rt_alloc_box ⇒ rt_alloc_box
- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemManage_Handler ⇒ MemManage_Handler
- BusFault_Handler ⇒ BusFault_Handler
- UsageFault_Handler ⇒ UsageFault_Handler
- DebugMon_Handler ⇒ DebugMon_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - BusFault_Handler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream0_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream1_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream2_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream3_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream4_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream5_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream6_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA1_Stream7_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream0_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream1_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream2_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream3_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream4_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream5_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream6_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DMA2_Stream7_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - DebugMon_Handler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - EXTI0_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - EXTI15_10_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - EXTI1_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - EXTI2_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - EXTI3_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - EXTI4_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - EXTI9_5_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - FLASH_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - FPU_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - HardFault_Handler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - I2C1_ER_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - I2C1_EV_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - I2C2_ER_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - I2C2_EV_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - I2C3_ER_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - I2C3_EV_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - MemManage_Handler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - NMI_Handler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - OTG_FS_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - OTG_FS_WKUP_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - PVD_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - PendSV_Handler from hal_cm4.o(.emb_text) referenced from startup_stm32f401xe.o(RESET)
  - RCC_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - RTC_Alarm_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - RTC_WKUP_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - Reset_Handler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - SDIO_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - SPI1_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - SPI2_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - SPI3_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - SPI4_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - SVC_Handler from hal_cm4.o(.emb_text) referenced from startup_stm32f401xe.o(RESET)
  - SysTick_Handler from hal_cm4.o(.emb_text) referenced from startup_stm32f401xe.o(RESET)
  - SystemInit from system_stm32f4xx.o(.text) referenced from startup_stm32f401xe.o(.text)
  - TAMP_STAMP_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM1_BRK_TIM9_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM1_TRG_COM_TIM11_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM1_UP_TIM10_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM2_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM3_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM4_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - TIM5_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - USART1_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - USART2_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - USART6_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - UsageFault_Handler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - WWDG_IRQHandler from startup_stm32f401xe.o(.text) referenced from startup_stm32f401xe.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f401xe.o(.text)
  - fputc from retarget_io.o(.text) referenced from printf1.o(i.__0printf$1)
  - main from blinky.o(.text) referenced from rtx_conf_cm.o(.constdata)
  - osThreadExit from rt_cmsis.o(i.osThreadExit) referenced from rt_cmsis.o(i.svcThreadCreate)
  - osTimerThread from rt_cmsis.o(i.osTimerThread) referenced from rtx_conf_cm.o(.constdata)
  - os_idle_demon from rtx_conf_cm.o(.text) referenced from rt_task.o(i.rt_sys_init)
  - rt_alloc_box from rt_membox.o(i.rt_alloc_box) referenced from hal_cm4.o(.emb_text)
  - rt_free_box from rt_membox.o(i.rt_free_box) referenced from hal_cm4.o(.emb_text)
  - svcKernelInitialize from rt_cmsis.o(i.svcKernelInitialize) referenced from rt_cmsis.o(i.osKernelInitialize)
  - svcKernelStart from rt_cmsis.o(i.svcKernelStart) referenced from rt_cmsis.o(i.osKernelStart)
  - svcMessageGet from rt_cmsis.o(i.svcMessageGet) referenced from rt_cmsis.o(i.osMessageGet)
  - svcThreadCreate from rt_cmsis.o(i.svcThreadCreate) referenced from rt_cmsis.o(i.osThreadCreate)
  - svcThreadGetId from rt_cmsis.o(i.svcThreadGetId) referenced from rt_cmsis.o(i.osThreadExit)
  - svcThreadTerminate from rt_cmsis.o(i.svcThreadTerminate) referenced from rt_cmsis.o(i.osThreadExit)
  - svcTimerCall from rt_cmsis.o(i.svcTimerCall) referenced from rt_cmsis.o(i.osTimerCall)

  ### Global Symbols

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

  - startup_stm32f401xe.o(.text)

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

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

  - >> __scatterload

  __main_after_scatterload (Thumb, 0 bytes, Stack size 0 bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Called By]

  - >> __scatterload

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

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

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

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

  _main_init (Thumb, 18 bytes, Stack size 0 bytes, rtx_conf_cm.o(.ARM.Collect$$$$000000FF))
  [Stack]

  - Max Depth = 80
  - Call Chain = _main_init ⇒ osKernelInitialize ⇒ svcKernelInitialize ⇒ svcThreadCreate ⇒ rt_tsk_create ⇒ rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> osThreadCreate
  - >> osKernelStart
  - >> osKernelInitialize

  rt_set_PSP (Thumb, 6 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text), UNUSED)

  rt_get_PSP (Thumb, 6 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text))
  [Called By]

  - >> rt_tsk_delete

  os_set_env (Thumb, 24 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text), UNUSED)

  _alloc_box (Thumb, 28 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text), UNUSED)

  _free_box (Thumb, 28 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text), UNUSED)

  SVC_Handler (Thumb, 168 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text))
  [Calls]

  - >> rt_stk_check
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  PendSV_Handler (Thumb, 96 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text))
  [Stack]

  - Max Depth = 56
  - Call Chain = PendSV_Handler ⇒ rt_pop_req ⇒ rt_mbx_psh ⇒ rt_ret_val2
  [Calls]
  - >> rt_pop_req
  - >> rt_stk_check
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  SysTick_Handler (Thumb, 8 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text))
  [Stack]

  - Max Depth = 72
  - Call Chain = SysTick_Handler ⇒ rt_systick ⇒ sysTimerTick ⇒ isrMessagePut ⇒ isr_mbx_send ⇒ rt_psq_enq
  [Calls]
  - >> rt_systick
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  OS_Tick_Handler (Thumb, 12 bytes, Stack size 0 bytes, hal_cm4.o(.emb_text), UNUSED)
  [Calls]

  - >> os_tick_irqack
  - >> rt_systick

  LED_Initialize (Thumb, 78 bytes, Stack size 0 bytes, blinky.o(.text))
  [Called By]

  - >> main

  LED_On (Thumb, 22 bytes, Stack size 0 bytes, blinky.o(.text))
  [Called By]

  - >> main

  LED_Off (Thumb, 22 bytes, Stack size 0 bytes, blinky.o(.text))
  [Called By]

  - >> main

  Buttons_Initialize (Thumb, 66 bytes, Stack size 0 bytes, blinky.o(.text))
  [Called By]

  - >> main

  Buttons_GetState (Thumb, 20 bytes, Stack size 0 bytes, blinky.o(.text))
  [Called By]

  - >> main

  Delay (Thumb, 28 bytes, Stack size 0 bytes, blinky.o(.text))
  [Called By]

  - >> main

  SystemCoreClockSetHSI (Thumb, 222 bytes, Stack size 0 bytes, blinky.o(.text))
  [Called By]

  - >> main

  main (Thumb, 126 bytes, Stack size 16 bytes, blinky.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = main ⇒ __2printf
  [Calls]
  - >> SystemCoreClockUpdate
  - >> SystemCoreClockSetHSI
  - >> Delay
  - >> Buttons_GetState
  - >> Buttons_Initialize
  - >> LED_Off
  - >> LED_On
  - >> LED_Initialize
  - >> __2printf
  [Address Reference Count : 1]
  - rtx_conf_cm.o(.constdata)

  os_idle_demon (Thumb, 4 bytes, Stack size 0 bytes, rtx_conf_cm.o(.text))
  [Address Reference Count : 1]

  - rt_task.o(i.rt_sys_init)

  os_error (Thumb, 34 bytes, Stack size 0 bytes, rtx_conf_cm.o(.text))
  [Called By]

  - >> rt_mbx_psh
  - >> rt_stk_check
  - >> rt_psq_enq
  - >> sysTimerTick

  ITM_SendChar (Thumb, 42 bytes, Stack size 0 bytes, retarget_io.o(.text))
  [Called By]

  - >> stdout_putchar

  ITM_ReceiveChar (Thumb, 26 bytes, Stack size 0 bytes, retarget_io.o(.text), UNUSED)

  fputc (Thumb, 26 bytes, Stack size 16 bytes, retarget_io.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = fputc ⇒ stdout_putchar
  [Calls]
  - >> stdout_putchar
  [Called By]
  - >> fputs
  [Address Reference Count : 1]
  - printf1.o(i.__0printf$1)

  fgetc (Thumb, 8 bytes, Stack size 0 bytes, retarget_io.o(.text), UNUSED)

  __backspace (Thumb, 8 bytes, Stack size 0 bytes, retarget_io.o(.text), UNUSED)

  abort (Thumb, 4 bytes, Stack size 0 bytes, retarget_io.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_assert

  __aeabi_assert (Thumb, 110 bytes, Stack size 16 bytes, retarget_io.o(.text), UNUSED)
  [Calls]

  - >> abort
  - >> fputs

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

  - startup_stm32f401xe.o(RESET)

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f401xe.o(.text))
  [Calls]

  - >> NMI_Handler
  [Called By]
  - >> NMI_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f401xe.o(.text))
  [Calls]

  - >> HardFault_Handler
  [Called By]
  - >> HardFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f401xe.o(.text))
  [Calls]

  - >> MemManage_Handler
  [Called By]
  - >> MemManage_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f401xe.o(.text))
  [Calls]

  - >> BusFault_Handler
  [Called By]
  - >> BusFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f401xe.o(.text))
  [Calls]

  - >> UsageFault_Handler
  [Called By]
  - >> UsageFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f401xe.o(.text))
  [Calls]

  - >> DebugMon_Handler
  [Called By]
  - >> DebugMon_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f401xe.o(.text))
  [Calls]

  - >> ADC_IRQHandler
  [Called By]
  - >> ADC_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

  SystemInit (Thumb, 82 bytes, Stack size 0 bytes, system_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f401xe.o(.text)

  SystemCoreClockUpdate (Thumb, 174 bytes, Stack size 16 bytes, system_stm32f4xx.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = SystemCoreClockUpdate
  [Called By]
  - >> main

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

  - >> _printf_core

  __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
  [Calls]

  - >> __main_after_scatterload
  [Called By]
  - >> _main_scatterload

  __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

  __0printf$1 (Thumb, 22 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED)
  [Calls]

  - >> _printf_core

  __1printf$1 (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED)

  __2printf (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1))
  [Stack]

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> main

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

  _init_box (Thumb, 70 bytes, Stack size 8 bytes, rt_membox.o(i._init_box))
  [Stack]

  - Max Depth = 8
  - Call Chain = _init_box
  [Called By]
  - >> rt_sys_init

  dbg_init (Thumb, 34 bytes, Stack size 0 bytes, hal_cm.o(i.dbg_init))
  [Called By]

  - >> rt_sys_init

  dbg_task_notify (Thumb, 32 bytes, Stack size 0 bytes, hal_cm.o(i.dbg_task_notify))
  [Called By]

  - >> rt_tsk_delete
  - >> rt_tsk_create

  dbg_task_switch (Thumb, 16 bytes, Stack size 0 bytes, hal_cm.o(i.dbg_task_switch))
  [Called By]

  - >> rt_switch_req

  fputs (Thumb, 24 bytes, Stack size 16 bytes, fputs.o(i.fputs), UNUSED)
  [Calls]

  - >> fputc
  [Called By]
  - >> __aeabi_assert

  isrMessageGet (Thumb, 42 bytes, Stack size 16 bytes, rt_cmsis.o(i.isrMessageGet))
  [Stack]

  - Max Depth = 40
  - Call Chain = isrMessageGet ⇒ isr_mbx_receive ⇒ rt_psq_enq
  [Calls]
  - >> isr_mbx_receive
  [Called By]
  - >> osMessageGet

  isrMessagePut (Thumb, 44 bytes, Stack size 16 bytes, rt_cmsis.o(i.isrMessagePut))
  [Stack]

  - Max Depth = 40
  - Call Chain = isrMessagePut ⇒ isr_mbx_send ⇒ rt_psq_enq
  [Calls]
  - >> rt_mbx_check
  - >> isr_mbx_send
  [Called By]
  - >> sysTimerTick

  isr_mbx_receive (Thumb, 86 bytes, Stack size 8 bytes, rt_mailbox.o(i.isr_mbx_receive))
  [Stack]

  - Max Depth = 24
  - Call Chain = isr_mbx_receive ⇒ rt_psq_enq
  [Calls]
  - >> rt_psq_enq
  - >> rt_psh_req
  [Called By]
  - >> isrMessageGet

  isr_mbx_send (Thumb, 14 bytes, Stack size 8 bytes, rt_mailbox.o(i.isr_mbx_send))
  [Stack]

  - Max Depth = 24
  - Call Chain = isr_mbx_send ⇒ rt_psq_enq
  [Calls]
  - >> rt_psq_enq
  - >> rt_psh_req
  [Called By]
  - >> isrMessagePut

  osKernelInitialize (Thumb, 30 bytes, Stack size 0 bytes, rt_cmsis.o(i.osKernelInitialize))
  [Stack]

  - Max Depth = 80
  - Call Chain = osKernelInitialize ⇒ svcKernelInitialize ⇒ svcThreadCreate ⇒ rt_tsk_create ⇒ rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> svcKernelInitialize
  [Called By]
  - >> _main_init

  osKernelStart (Thumb, 98 bytes, Stack size 32 bytes, rt_cmsis.o(i.osKernelStart))
  [Stack]

  - Max Depth = 32
  - Call Chain = osKernelStart
  [Called By]
  - >> _main_init

  osMessageGet (Thumb, 18 bytes, Stack size 0 bytes, rt_cmsis.o(i.osMessageGet))
  [Stack]

  - Max Depth = 40
  - Call Chain = osMessageGet ⇒ isrMessageGet ⇒ isr_mbx_receive ⇒ rt_psq_enq
  [Calls]
  - >> isrMessageGet
  [Called By]
  - >> osTimerThread

  osThreadCreate (Thumb, 36 bytes, Stack size 0 bytes, rt_cmsis.o(i.osThreadCreate))
  [Stack]

  - Max Depth = 72
  - Call Chain = osThreadCreate ⇒ svcThreadCreate ⇒ rt_tsk_create ⇒ rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> svcThreadCreate
  [Called By]
  - >> _main_init

  osThreadExit (Thumb, 14 bytes, Stack size 0 bytes, rt_cmsis.o(i.osThreadExit))
  [Address Reference Count : 1]

  - rt_cmsis.o(i.svcThreadCreate)

  osTimerCall (Thumb, 8 bytes, Stack size 0 bytes, rt_cmsis.o(i.osTimerCall))
  [Called By]

  - >> osTimerThread

  osTimerThread (Thumb, 38 bytes, Stack size 0 bytes, rt_cmsis.o(i.osTimerThread))
  [Stack]

  - Max Depth = 40
  - Call Chain = osTimerThread ⇒ osMessageGet ⇒ isrMessageGet ⇒ isr_mbx_receive ⇒ rt_psq_enq
  [Calls]
  - >> osTimerCall
  - >> osMessageGet
  [Address Reference Count : 1]
  - rtx_conf_cm.o(.constdata)

  os_tick_init (Thumb, 32 bytes, Stack size 0 bytes, rt_system.o(i.os_tick_init))
  [Called By]

  - >> rt_sys_start

  os_tick_irqack (Thumb, 2 bytes, Stack size 0 bytes, rt_system.o(i.os_tick_irqack), UNUSED)
  [Called By]

  - >> OS_Tick_Handler

  rt_alloc_box (Thumb, 26 bytes, Stack size 0 bytes, rt_membox.o(i.rt_alloc_box))
  [Calls]

  - >> rt_alloc_box
  [Called By]
  - >> rt_mbx_psh
  - >> rt_init_context
  - >> rt_tsk_create
  - >> rt_alloc_box
  [Address Reference Count : 1]
  - hal_cm4.o(.emb_text)

  rt_alloc_mem (Thumb, 62 bytes, Stack size 8 bytes, rt_memory.o(i.rt_alloc_mem))
  [Stack]

  - Max Depth = 8
  - Call Chain = rt_alloc_mem
  [Called By]
  - >> svcThreadCreate

  rt_block (Thumb, 48 bytes, Stack size 16 bytes, rt_task.o(i.rt_block))
  [Stack]

  - Max Depth = 24
  - Call Chain = rt_block ⇒ rt_put_dly
  [Calls]
  - >> rt_put_dly
  - >> rt_switch_req
  - >> rt_get_first
  [Called By]
  - >> rt_mbx_wait

  rt_chk_robin (Thumb, 60 bytes, Stack size 8 bytes, rt_robin.o(i.rt_chk_robin))
  [Stack]

  - Max Depth = 20
  - Call Chain = rt_chk_robin ⇒ rt_put_prio
  [Calls]
  - >> rt_put_prio
  - >> rt_get_first
  [Called By]
  - >> rt_systick

  rt_dec_dly (Thumb, 102 bytes, Stack size 16 bytes, rt_list.o(i.rt_dec_dly))
  [Stack]

  - Max Depth = 28
  - Call Chain = rt_dec_dly ⇒ rt_put_prio
  [Calls]
  - >> rt_put_prio
  [Called By]
  - >> rt_systick

  rt_dispatch (Thumb, 60 bytes, Stack size 16 bytes, rt_task.o(i.rt_dispatch))
  [Stack]

  - Max Depth = 28
  - Call Chain = rt_dispatch ⇒ rt_put_prio
  [Calls]
  - >> rt_put_rdy_first
  - >> rt_switch_req
  - >> rt_put_prio
  - >> rt_get_first
  [Called By]
  - >> rt_tsk_prio
  - >> rt_tsk_delete
  - >> rt_tsk_create
  - >> rt_mbx_wait

  rt_evt_psh (Thumb, 76 bytes, Stack size 8 bytes, rt_event.o(i.rt_evt_psh))
  [Stack]

  - Max Depth = 24
  - Call Chain = rt_evt_psh ⇒ rt_ret_val2
  [Calls]
  - >> rt_ret_val2
  - >> rt_rmv_dly
  - >> rt_put_prio
  [Called By]
  - >> rt_pop_req

  rt_free_box (Thumb, 44 bytes, Stack size 0 bytes, rt_membox.o(i.rt_free_box))
  [Called By]

  - >> rt_tsk_delete
  [Address Reference Count : 1]
  - hal_cm4.o(.emb_text)

  rt_free_mem (Thumb, 40 bytes, Stack size 0 bytes, rt_memory.o(i.rt_free_mem))
  [Called By]

  - >> svcThreadTerminate
  - >> svcThreadCreate

  rt_get_first (Thumb, 40 bytes, Stack size 0 bytes, rt_list.o(i.rt_get_first))
  [Called By]

  - >> rt_sem_psh
  - >> rt_mbx_psh
  - >> rt_chk_robin
  - >> rt_systick
  - >> rt_pop_req
  - >> rt_tsk_prio
  - >> rt_tsk_delete
  - >> rt_mbx_wait
  - >> rt_dispatch
  - >> rt_block

  rt_init_mem (Thumb, 26 bytes, Stack size 0 bytes, rt_memory.o(i.rt_init_mem))
  [Called By]

  - >> svcKernelInitialize

  rt_init_robin (Thumb, 14 bytes, Stack size 0 bytes, rt_robin.o(i.rt_init_robin))
  [Called By]

  - >> rt_sys_init

  rt_init_stack (Thumb, 118 bytes, Stack size 16 bytes, hal_cm.o(i.rt_init_stack))
  [Stack]

  - Max Depth = 16
  - Call Chain = rt_init_stack
  [Called By]
  - >> rt_init_context

  rt_mbx_check (Thumb, 8 bytes, Stack size 0 bytes, rt_mailbox.o(i.rt_mbx_check))
  [Called By]

  - >> isrMessagePut

  rt_mbx_init (Thumb, 26 bytes, Stack size 0 bytes, rt_mailbox.o(i.rt_mbx_init))
  [Called By]

  - >> svcMessageCreate

  rt_mbx_psh (Thumb, 236 bytes, Stack size 24 bytes, rt_mailbox.o(i.rt_mbx_psh))
  [Stack]

  - Max Depth = 40
  - Call Chain = rt_mbx_psh ⇒ rt_ret_val2
  [Calls]
  - >> os_error
  - >> rt_ret_val2
  - >> rt_rmv_dly
  - >> rt_ret_val
  - >> rt_put_prio
  - >> rt_get_first
  - >> rt_alloc_box
  [Called By]
  - >> rt_pop_req

  rt_mbx_wait (Thumb, 174 bytes, Stack size 16 bytes, rt_mailbox.o(i.rt_mbx_wait))
  [Stack]

  - Max Depth = 44
  - Call Chain = rt_mbx_wait ⇒ rt_dispatch ⇒ rt_put_prio
  [Calls]
  - >> rt_rmv_dly
  - >> rt_ret_val
  - >> rt_put_prio
  - >> rt_get_first
  - >> rt_dispatch
  - >> rt_block
  [Called By]
  - >> svcMessageGet

  rt_pop_req (Thumb, 112 bytes, Stack size 16 bytes, rt_system.o(i.rt_pop_req))
  [Stack]

  - Max Depth = 56
  - Call Chain = rt_pop_req ⇒ rt_mbx_psh ⇒ rt_ret_val2
  [Calls]
  - >> rt_sem_psh
  - >> rt_mbx_psh
  - >> rt_evt_psh
  - >> rt_put_rdy_first
  - >> rt_switch_req
  - >> rt_get_first
  [Called By]
  - >> PendSV_Handler

  rt_psh_req (Thumb, 22 bytes, Stack size 0 bytes, rt_system.o(i.rt_psh_req))
  [Called By]

  - >> isr_mbx_send
  - >> isr_mbx_receive

  rt_psq_enq (Thumb, 88 bytes, Stack size 16 bytes, rt_list.o(i.rt_psq_enq))
  [Stack]

  - Max Depth = 16
  - Call Chain = rt_psq_enq
  [Calls]
  - >> os_error
  [Called By]
  - >> isr_mbx_send
  - >> isr_mbx_receive

  rt_put_dly (Thumb, 68 bytes, Stack size 8 bytes, rt_list.o(i.rt_put_dly))
  [Stack]

  - Max Depth = 8
  - Call Chain = rt_put_dly
  [Called By]
  - >> rt_block

  rt_put_prio (Thumb, 54 bytes, Stack size 12 bytes, rt_list.o(i.rt_put_prio))
  [Stack]

  - Max Depth = 12
  - Call Chain = rt_put_prio
  [Called By]
  - >> rt_sem_psh
  - >> rt_mbx_psh
  - >> rt_evt_psh
  - >> rt_dec_dly
  - >> rt_chk_robin
  - >> rt_resort_prio
  - >> rt_tsk_prio
  - >> rt_tsk_delete
  - >> rt_mbx_wait
  - >> rt_dispatch

  rt_put_rdy_first (Thumb, 14 bytes, Stack size 0 bytes, rt_list.o(i.rt_put_rdy_first))
  [Called By]

  - >> rt_systick
  - >> rt_pop_req
  - >> rt_dispatch

  rt_resort_prio (Thumb, 46 bytes, Stack size 8 bytes, rt_list.o(i.rt_resort_prio))
  [Stack]

  - Max Depth = 20
  - Call Chain = rt_resort_prio ⇒ rt_put_prio
  [Calls]
  - >> rt_rmv_list
  - >> rt_put_prio
  [Called By]
  - >> rt_tsk_prio

  rt_ret_val (Thumb, 12 bytes, Stack size 8 bytes, hal_cm.o(i.rt_ret_val))
  [Stack]

  - Max Depth = 8
  - Call Chain = rt_ret_val
  [Calls]
  - >> rt_ret_regs
  [Called By]
  - >> rt_sem_psh
  - >> rt_mbx_psh
  - >> rt_tsk_delete
  - >> rt_mbx_wait

  rt_ret_val2 (Thumb, 16 bytes, Stack size 16 bytes, hal_cm.o(i.rt_ret_val2))
  [Stack]

  - Max Depth = 16
  - Call Chain = rt_ret_val2
  [Calls]
  - >> rt_ret_regs
  [Called By]
  - >> rt_mbx_psh
  - >> rt_evt_psh

  rt_rmv_dly (Thumb, 40 bytes, Stack size 8 bytes, rt_list.o(i.rt_rmv_dly))
  [Stack]

  - Max Depth = 8
  - Call Chain = rt_rmv_dly
  [Called By]
  - >> rt_sem_psh
  - >> rt_mbx_psh
  - >> rt_evt_psh
  - >> rt_tsk_delete
  - >> rt_mbx_wait

  rt_rmv_list (Thumb, 44 bytes, Stack size 0 bytes, rt_list.o(i.rt_rmv_list))
  [Called By]

  - >> rt_resort_prio
  - >> rt_tsk_delete

  rt_sem_psh (Thumb, 48 bytes, Stack size 8 bytes, rt_semaphore.o(i.rt_sem_psh))
  [Stack]

  - Max Depth = 20
  - Call Chain = rt_sem_psh ⇒ rt_put_prio
  [Calls]
  - >> rt_rmv_dly
  - >> rt_ret_val
  - >> rt_put_prio
  - >> rt_get_first
  [Called By]
  - >> rt_pop_req

  rt_stk_check (Thumb, 28 bytes, Stack size 0 bytes, rt_system.o(i.rt_stk_check))
  [Calls]

  - >> os_error
  [Called By]
  - >> PendSV_Handler
  - >> SVC_Handler
  - >> rt_tsk_delete

  rt_switch_req (Thumb, 30 bytes, Stack size 0 bytes, rt_task.o(i.rt_switch_req))
  [Calls]

  - >> dbg_task_switch
  [Called By]
  - >> rt_systick
  - >> rt_pop_req
  - >> rt_dispatch
  - >> rt_block

  rt_sys_init (Thumb, 138 bytes, Stack size 16 bytes, rt_task.o(i.rt_sys_init))
  [Stack]

  - Max Depth = 48
  - Call Chain = rt_sys_init ⇒ rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> rt_init_robin
  - >> dbg_init
  - >> rt_init_context
  - >> _init_box
  [Called By]
  - >> svcKernelInitialize

  rt_sys_start (Thumb, 110 bytes, Stack size 8 bytes, rt_task.o(i.rt_sys_start))
  [Stack]

  - Max Depth = 8
  - Call Chain = rt_sys_start
  [Calls]
  - >> os_tick_init
  [Called By]
  - >> svcKernelStart

  rt_systick (Thumb, 50 bytes, Stack size 8 bytes, rt_system.o(i.rt_systick))
  [Stack]

  - Max Depth = 72
  - Call Chain = rt_systick ⇒ sysTimerTick ⇒ isrMessagePut ⇒ isr_mbx_send ⇒ rt_psq_enq
  [Calls]
  - >> rt_dec_dly
  - >> rt_chk_robin
  - >> rt_put_rdy_first
  - >> rt_switch_req
  - >> rt_get_first
  - >> sysTimerTick
  [Called By]
  - >> OS_Tick_Handler
  - >> SysTick_Handler

  rt_tsk_create (Thumb, 118 bytes, Stack size 24 bytes, rt_task.o(i.rt_tsk_create))
  [Stack]

  - Max Depth = 56
  - Call Chain = rt_tsk_create ⇒ rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> dbg_task_notify
  - >> rt_init_context
  - >> rt_dispatch
  - >> rt_alloc_box
  [Called By]
  - >> svcThreadCreate

  rt_tsk_delete (Thumb, 352 bytes, Stack size 40 bytes, rt_task.o(i.rt_tsk_delete))
  [Stack]

  - Max Depth = 68
  - Call Chain = rt_tsk_delete ⇒ rt_dispatch ⇒ rt_put_prio
  [Calls]
  - >> rt_stk_check
  - >> rt_rmv_list
  - >> rt_get_PSP
  - >> dbg_task_notify
  - >> rt_rmv_dly
  - >> rt_ret_val
  - >> rt_put_prio
  - >> rt_get_first
  - >> rt_free_box
  - >> rt_dispatch
  [Called By]
  - >> svcThreadTerminate

  rt_tsk_prio (Thumb, 108 bytes, Stack size 16 bytes, rt_task.o(i.rt_tsk_prio))
  [Stack]

  - Max Depth = 44
  - Call Chain = rt_tsk_prio ⇒ rt_dispatch ⇒ rt_put_prio
  [Calls]
  - >> rt_resort_prio
  - >> rt_put_prio
  - >> rt_get_first
  - >> rt_dispatch
  [Called By]
  - >> svcKernelStart

  rt_tsk_self (Thumb, 12 bytes, Stack size 0 bytes, rt_task.o(i.rt_tsk_self))
  [Called By]

  - >> svcThreadGetId

  svcKernelInitialize (Thumb, 80 bytes, Stack size 8 bytes, rt_cmsis.o(i.svcKernelInitialize))
  [Stack]

  - Max Depth = 80
  - Call Chain = svcKernelInitialize ⇒ svcThreadCreate ⇒ rt_tsk_create ⇒ rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> rt_sys_init
  - >> rt_init_mem
  - >> svcThreadCreate
  - >> svcMessageCreate
  [Called By]
  - >> osKernelInitialize
  [Address Reference Count : 1]
  - rt_cmsis.o(i.osKernelInitialize)

  svcKernelStart (Thumb, 62 bytes, Stack size 16 bytes, rt_cmsis.o(i.svcKernelStart))
  [Stack]

  - Max Depth = 60
  - Call Chain = svcKernelStart ⇒ rt_tsk_prio ⇒ rt_dispatch ⇒ rt_put_prio
  [Calls]
  - >> rt_tsk_prio
  - >> rt_sys_start
  [Address Reference Count : 1]
  - rt_cmsis.o(i.osKernelStart)

  svcMessageCreate (Thumb, 36 bytes, Stack size 8 bytes, rt_cmsis.o(i.svcMessageCreate))
  [Stack]

  - Max Depth = 8
  - Call Chain = svcMessageCreate
  [Calls]
  - >> rt_mbx_init
  [Called By]
  - >> svcKernelInitialize

  svcMessageGet (Thumb, 58 bytes, Stack size 24 bytes, rt_cmsis.o(i.svcMessageGet))
  [Stack]

  - Max Depth = 68
  - Call Chain = svcMessageGet ⇒ rt_mbx_wait ⇒ rt_dispatch ⇒ rt_put_prio
  [Calls]
  - >> rt_ms2tick
  - >> rt_mbx_wait
  [Address Reference Count : 1]
  - rt_cmsis.o(i.osMessageGet)

  svcThreadCreate (Thumb, 96 bytes, Stack size 16 bytes, rt_cmsis.o(i.svcThreadCreate))
  [Stack]

  - Max Depth = 72
  - Call Chain = svcThreadCreate ⇒ rt_tsk_create ⇒ rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> rt_tsk_create
  - >> rt_free_mem
  - >> rt_alloc_mem
  [Called By]
  - >> osThreadCreate
  - >> svcKernelInitialize
  [Address Reference Count : 1]
  - rt_cmsis.o(i.osThreadCreate)

  svcThreadGetId (Thumb, 22 bytes, Stack size 8 bytes, rt_cmsis.o(i.svcThreadGetId))
  [Stack]

  - Max Depth = 8
  - Call Chain = svcThreadGetId
  [Calls]
  - >> rt_tsk_self
  [Address Reference Count : 1]
  - rt_cmsis.o(i.osThreadExit)

  svcThreadTerminate (Thumb, 50 bytes, Stack size 8 bytes, rt_cmsis.o(i.svcThreadTerminate))
  [Stack]

  - Max Depth = 76
  - Call Chain = svcThreadTerminate ⇒ rt_tsk_delete ⇒ rt_dispatch ⇒ rt_put_prio
  [Calls]
  - >> rt_tid2ptcb
  - >> rt_tsk_delete
  - >> rt_free_mem
  [Address Reference Count : 1]
  - rt_cmsis.o(i.osThreadExit)

  svcTimerCall (Thumb, 24 bytes, Stack size 8 bytes, rt_cmsis.o(i.svcTimerCall))
  [Stack]

  - Max Depth = 8
  - Call Chain = svcTimerCall
  [Calls]
  - >> rt_id2obj
  [Address Reference Count : 1]
  - rt_cmsis.o(i.osTimerCall)

  sysTimerTick (Thumb, 84 bytes, Stack size 24 bytes, rt_cmsis.o(i.sysTimerTick))
  [Stack]

  - Max Depth = 64
  - Call Chain = sysTimerTick ⇒ isrMessagePut ⇒ isr_mbx_send ⇒ rt_psq_enq
  [Calls]
  - >> rt_timer_insert
  - >> os_error
  - >> isrMessagePut
  [Called By]
  - >> rt_systick

  ### Local Symbols

  stdout_putchar (Thumb, 12 bytes, Stack size 4 bytes, retarget_io.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = stdout_putchar
  [Calls]
  - >> ITM_SendChar
  [Called By]
  - >> fputc

  rt_id2obj (Thumb, 8 bytes, Stack size 0 bytes, rt_cmsis.o(i.rt_id2obj))
  [Called By]

  - >> svcTimerCall

  rt_ms2tick (Thumb, 58 bytes, Stack size 0 bytes, rt_cmsis.o(i.rt_ms2tick))
  [Called By]

  - >> svcMessageGet

  rt_tid2ptcb (Thumb, 18 bytes, Stack size 0 bytes, rt_cmsis.o(i.rt_tid2ptcb))
  [Called By]

  - >> svcThreadTerminate

  rt_timer_insert (Thumb, 48 bytes, Stack size 12 bytes, rt_cmsis.o(i.rt_timer_insert))
  [Stack]

  - Max Depth = 12
  - Call Chain = rt_timer_insert
  [Called By]
  - >> sysTimerTick

  rt_init_context (Thumb, 66 bytes, Stack size 16 bytes, rt_task.o(i.rt_init_context))
  [Stack]

  - Max Depth = 32
  - Call Chain = rt_init_context ⇒ rt_init_stack
  [Calls]
  - >> rt_init_stack
  - >> rt_alloc_box
  [Called By]
  - >> rt_tsk_create
  - >> rt_sys_init

  rt_ret_regs (Thumb, 16 bytes, Stack size 0 bytes, hal_cm.o(i.rt_ret_regs))
  [Called By]

  - >> rt_ret_val2
  - >> rt_ret_val

  _printf_core (Thumb, 336 bytes, Stack size 88 bytes, printf1.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  [Called By]
  - >> __0printf$1

  ### Undefined Global Symbols