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

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Mon Feb 12 15:58:20 2018

### Maximum Stack Usage = 200 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_GetTick ⇒ osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem

### Functions with no stack information

- __user_initial_stackheap

### Mutually Recursive functions

- osRtxErrorNotify ⇒ osRtxErrorNotify
- ADC1_COMP_IRQHandler ⇒ ADC1_COMP_IRQHandler
- HardFault_Handler ⇒ HardFault_Handler
- osRtxIdleThread ⇒ osRtxIdleThread
- _Error_Handler ⇒ _Error_Handler

  ### Function Pointers

  - ADC1_COMP_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - CEC_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - DMA1_Channel1_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - DMA1_Channel2_3_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - DMA1_Channel4_5_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - EXTI0_1_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - EXTI2_3_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - EXTI4_15_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - FLASH_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - HardFault_Handler from stm32f0xx_it.o(i.HardFault_Handler) referenced from startup_stm32f051x8.o(RESET)
  - I2C1_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - I2C2_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - NMI_Handler from stm32f0xx_it.o(i.NMI_Handler) referenced from startup_stm32f051x8.o(RESET)
  - PVD_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - PendSV_Handler from irq_cm0.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - RCC_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - RTC_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - Reset_Handler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - SPI1_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - SPI2_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - SVC_Handler from irq_cm0.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - SysTick_Handler from irq_cm0.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - SysTick_Handler from irq_cm0.o(.text) referenced from rtx_kernel.o(i.svcRtxKernelStart)
  - SystemInit from system_stm32f0xx.o(i.SystemInit) referenced from startup_stm32f051x8.o(.text)
  - TIM14_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM15_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM16_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM17_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM1_BRK_UP_TRG_COM_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM2_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM3_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TIM6_DAC_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - TSC_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - USART1_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - USART2_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - WWDG_IRQHandler from startup_stm32f051x8.o(.text) referenced from startup_stm32f051x8.o(RESET)
  - __main from __main.o(!!!main) referenced from startup_stm32f051x8.o(.text)
  - app_main from blinky.o(i.app_main) referenced from main.o(i.main)
  - osRtxIdleThread from rtx_config.o(i.osRtxIdleThread) referenced from rtx_kernel.o(i.svcRtxKernelStart)
  - osRtxMessageQueuePostProcess from rtx_msgqueue.o(i.osRtxMessageQueuePostProcess) referenced from rtx_msgqueue.o(i.svcRtxMessageQueueNew)
  - osRtxThreadPostProcess from rtx_thread.o(i.osRtxThreadPostProcess) referenced from rtx_thread.o(i.svcRtxThreadNew)
  - osRtxTimerThread from rtx_timer.o(i.osRtxTimerThread) referenced from rtx_kernel.o(i.svcRtxKernelStart)
  - osRtxTimerTick from rtx_timer.o(i.osRtxTimerTick) referenced from rtx_timer.o(i.osRtxTimerThread)
  - osThreadExit from rtx_thread.o(i.osThreadExit) referenced from rtx_thread.o(i.svcRtxThreadNew)
  - svcRtxDelay from rtx_delay.o(i.svcRtxDelay) referenced from rtx_delay.o(i.osDelay)
  - svcRtxKernelGetState from rtx_kernel.o(i.svcRtxKernelGetState) referenced from rtx_kernel.o(i.osKernelGetState)
  - svcRtxKernelGetTickCount from rtx_kernel.o(i.svcRtxKernelGetTickCount) referenced from rtx_kernel.o(i.osKernelGetTickCount)
  - svcRtxKernelInitialize from rtx_kernel.o(i.svcRtxKernelInitialize) referenced from rtx_kernel.o(i.osKernelInitialize)
  - svcRtxKernelStart from rtx_kernel.o(i.svcRtxKernelStart) referenced from rtx_kernel.o(i.osKernelStart)
  - svcRtxMessageQueueGet from rtx_msgqueue.o(i.svcRtxMessageQueueGet) referenced from rtx_msgqueue.o(i.osMessageQueueGet)
  - svcRtxMessageQueueNew from rtx_msgqueue.o(i.svcRtxMessageQueueNew) referenced from rtx_msgqueue.o(i.osMessageQueueNew)
  - svcRtxMessageQueuePut from rtx_msgqueue.o(i.svcRtxMessageQueuePut) referenced from rtx_msgqueue.o(i.osMessageQueuePut)
  - svcRtxMutexAcquire from rtx_mutex.o(i.svcRtxMutexAcquire) referenced from rtx_mutex.o(i.osMutexAcquire)
  - svcRtxMutexDelete from rtx_mutex.o(i.svcRtxMutexDelete) referenced from rtx_mutex.o(i.osMutexDelete)
  - svcRtxMutexNew from rtx_mutex.o(i.svcRtxMutexNew) referenced from rtx_mutex.o(i.osMutexNew)
  - svcRtxMutexRelease from rtx_mutex.o(i.svcRtxMutexRelease) referenced from rtx_mutex.o(i.osMutexRelease)
  - svcRtxThreadExit from rtx_thread.o(i.svcRtxThreadExit) referenced from rtx_thread.o(i.osThreadExit)
  - svcRtxThreadFlagsSet from rtx_thread.o(i.svcRtxThreadFlagsSet) referenced from rtx_thread.o(i.osThreadFlagsSet)
  - svcRtxThreadFlagsWait from rtx_thread.o(i.svcRtxThreadFlagsWait) referenced from rtx_thread.o(i.osThreadFlagsWait)
  - svcRtxThreadNew from rtx_thread.o(i.svcRtxThreadNew) referenced from rtx_thread.o(i.osThreadNew)
  - thrBUT from blinky.o(i.thrBUT) referenced from blinky.o(i.app_main)
  - thrLED from blinky.o(i.thrLED) referenced from blinky.o(i.app_main)

  ### Global Symbols

  __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
  [Calls]

  - >> __scatterload
  - >> __rt_entry

  __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
  [Called By]

  - >> __main

  __scatterload_rt2 (Thumb, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
  [Calls]

  - >> __rt_entry

  __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

  __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
  [Called By]

  - >> __rt_entry_li

  __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))

  __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))

  __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))

  __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))

  __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))

  __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))

  __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))

  __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))

  __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))

  __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

  __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

  __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))

  __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))

  __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))

  __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))

  __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))

  __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))

  __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))

  __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))

  __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))

  __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

  __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
  [Called By]

  - >> __rt_exit_ls

  __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))

  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))

  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))

  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))

  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))

  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))

  __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
  [Called By]

  - >> __scatterload_rt2
  - >> __main

  __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

  __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
  [Calls]
  - >> __user_setup_stackheap

  __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000008))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = __rt_entry_postsh_1 ⇒ _platform_post_stackheap_init ⇒ osKernelInitialize ⇒ EvrRtxKernelInitialize ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> _platform_post_stackheap_init

  __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
  [Calls]

  - >> __rt_lib_init

  __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
  [Stack]

  - Max Depth = 200 + Unknown Stack Size
  - Call Chain = __rt_entry_main ⇒ main ⇒ SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_GetTick ⇒ osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> main
  - >> exit

  __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

  __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
  [Called By]

  - >> exit

  __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
  [Calls]

  - >> __rt_lib_shutdown

  __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

  __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
  [Calls]

  - >> _sys_exit

  __aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))
  [Called By]

  - >> __aeabi_memcpy

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)

  SVC_Handler (Thumb, 132 bytes, Stack size 0 bytes, irq_cm0.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f051x8.o(RESET)

  PendSV_Handler (Thumb, 12 bytes, Stack size 0 bytes, irq_cm0.o(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = PendSV_Handler ⇒ osRtxPendSV_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxPendSV_Handler
  [Address Reference Count : 1]
  - startup_stm32f051x8.o(RESET)

  SysTick_Handler (Thumb, 12 bytes, Stack size 0 bytes, irq_cm0.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = SysTick_Handler ⇒ osRtxTick_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxTick_Handler
  [Address Reference Count : 2]
  - rtx_kernel.o(i.svcRtxKernelStart)
  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

  ADC1_COMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f051x8.o(.text))
  [Calls]

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

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

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

  - startup_stm32f051x8.o(RESET)

  __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f051x8.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __aeabi_memcpy (Thumb, 130 bytes, Stack size 24 bytes, rt_memcpy.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy4
  [Called By]
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> osMessageQueuePut
  - >> osMessageQueueGet
  - >> EventRecordData

  __rt_memcpy (Thumb, 0 bytes, Stack size 24 bytes, rt_memcpy.o(.text), UNUSED)

  _memset_w (Thumb, 26 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Called By]

  - >> __rt_memclr_w
  - >> _memset

  _memset (Thumb, 30 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Calls]

  - >> _memset_w
  [Called By]
  - >> __aeabi_memclr

  __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Calls]

  - >> _memset
  [Called By]
  - >> svcRtxMessageQueueNew

  __rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

  __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Called By]

  - >> EventRecorderInitialize
  - >> svcRtxKernelInitialize

  __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

  __rt_memclr_w (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset_w

  __aeabi_uidiv (Thumb, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED)

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

  - >> SystemCoreClockUpdate
  - >> SystemClock_Config
  - >> OS_Tick_Setup
  - >> HAL_InitTick
  - >> HAL_RCC_GetSysClockFreq

  __aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

  __aeabi_idivmod (Thumb, 326 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

  __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __user_setup_stackheap (Thumb, 62 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __user_setup_stackheap
  [Calls]
  - >> __user_perproc_libspace
  - >> __user_initial_stackheap
  [Called By]
  - >> __rt_entry_sh

  exit (Thumb, 16 bytes, Stack size 8 bytes, exit.o(.text))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = exit
  [Calls]
  - >> __rt_exit
  - >> _call_atexit_fns (Weak Reference)
  [Called By]
  - >> __rt_entry_main

  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
  [Called By]

  - >> __rt_exit_exit

  __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED)

  __decompress0 (Thumb, 58 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED)

  __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)

  Buttons_GetCount (Thumb, 4 bytes, Stack size 0 bytes, buttons_stm32f051-discovery.o(i.Buttons_GetCount))
  [Called By]

  - >> thrBUT

  Buttons_GetState (Thumb, 44 bytes, Stack size 24 bytes, buttons_stm32f051-discovery.o(i.Buttons_GetState))
  [Stack]

  - Max Depth = 24
  - Call Chain = Buttons_GetState
  [Calls]
  - >> HAL_GPIO_ReadPin
  [Called By]
  - >> thrBUT

  Buttons_Initialize (Thumb, 4 bytes, Stack size 0 bytes, buttons_stm32f051-discovery.o(i.Buttons_Initialize))
  [Called By]

  - >> app_main

  EventRecord2 (Thumb, 64 bytes, Stack size 16 bytes, eventrecorder.o(i.EventRecord2))
  [Stack]

  - Max Depth = 56
  - Call Chain = EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecordItem
  - >> EventGetTS
  - >> EventCheckFilter
  [Called By]
  - >> EvrRtxThreadError
  - >> EvrRtxThreadDelay
  - >> EvrRtxTimerCallback
  - >> EvrRtxThreadUnblocked
  - >> EvrRtxThreadSwitched
  - >> EvrRtxThreadPreempted
  - >> EvrRtxThreadJoined
  - >> EvrRtxThreadFlagsWaitTimeout
  - >> EvrRtxThreadFlagsWaitNotCompleted
  - >> EvrRtxThreadFlagsSetDone
  - >> EvrRtxThreadFlagsSet
  - >> EvrRtxThreadExit
  - >> EvrRtxThreadDestroyed
  - >> EvrRtxThreadDelayCompleted
  - >> EvrRtxThreadCreated
  - >> EvrRtxThreadBlocked
  - >> EvrRtxSemaphoreAcquireTimeout
  - >> EvrRtxMutexReleased
  - >> EvrRtxMutexRelease
  - >> EvrRtxMutexNotAcquired
  - >> EvrRtxMutexNew
  - >> EvrRtxMutexError
  - >> EvrRtxMutexDestroyed
  - >> EvrRtxMutexDelete
  - >> EvrRtxMutexCreated
  - >> EvrRtxMutexAcquired
  - >> EvrRtxMutexAcquireTimeout
  - >> EvrRtxMutexAcquirePending
  - >> EvrRtxMutexAcquire
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueuePutTimeout
  - >> EvrRtxMessageQueueNotRetrieved
  - >> EvrRtxMessageQueueNotInserted
  - >> EvrRtxMessageQueueInserted
  - >> EvrRtxMessageQueueInsertPending
  - >> EvrRtxMessageQueueGetTimeout
  - >> EvrRtxMessageQueueError
  - >> EvrRtxMessageQueueCreated
  - >> EvrRtxMemoryPoolAllocTimeout
  - >> EvrRtxMemoryBlockAlloc
  - >> EvrRtxKernelStarted
  - >> EvrRtxKernelStart
  - >> EvrRtxKernelInitializeCompleted
  - >> EvrRtxKernelInitialize
  - >> EvrRtxKernelGetTickCount
  - >> EvrRtxKernelGetState
  - >> EvrRtxKernelError
  - >> EvrRtxEventFlagsWaitTimeout

  EventRecord4 (Thumb, 102 bytes, Stack size 40 bytes, eventrecorder.o(i.EventRecord4))
  [Stack]

  - Max Depth = 80
  - Call Chain = EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> atomic_inc8
  - >> EventRecordItem
  - >> EventGetTS
  - >> EventCheckFilter
  [Called By]
  - >> EvrRtxThreadNew
  - >> EvrRtxThreadFlagsWaitPending
  - >> EvrRtxThreadFlagsWaitCompleted
  - >> EvrRtxThreadFlagsWait
  - >> EvrRtxMessageQueuePutPending
  - >> EvrRtxMessageQueuePut
  - >> EvrRtxMessageQueueNew
  - >> EvrRtxMessageQueueGetPending
  - >> EvrRtxMessageQueueGet
  - >> EvrRtxMemoryInit
  - >> EvrRtxMemoryFree
  - >> EvrRtxMemoryBlockInit
  - >> EvrRtxMemoryBlockFree
  - >> EvrRtxMemoryAlloc

  EventRecordData (Thumb, 270 bytes, Stack size 32 bytes, eventrecorder.o(i.EventRecordData))
  [Stack]

  - Max Depth = 72
  - Call Chain = EventRecordData ⇒ EventRecordItem
  [Calls]
  - >> atomic_inc8
  - >> EventRecordItem
  - >> EventGetTS
  - >> EventCheckFilter
  - >> __aeabi_memcpy
  [Called By]
  - >> EvrRtxThreadNew
  - >> EvrRtxMutexNew
  - >> EvrRtxMessageQueueNew

  EventRecorderEnable (Thumb, 78 bytes, Stack size 32 bytes, eventrecorder.o(i.EventRecorderEnable))
  [Stack]

  - Max Depth = 32
  - Call Chain = EventRecorderEnable
  [Called By]
  - >> EventRecorderInitialize
  - >> app_main

  EventRecorderInitialize (Thumb, 170 bytes, Stack size 16 bytes, eventrecorder.o(i.EventRecorderInitialize))
  [Stack]

  - Max Depth = 56
  - Call Chain = EventRecorderInitialize ⇒ EventRecordItem
  [Calls]
  - >> EventRecorderEnable
  - >> EventRecorderTimerInit
  - >> crc16_ccitt
  - >> EventRecordItem
  - >> EventGetTS
  - >> __aeabi_memclr4
  [Called By]
  - >> app_main

  EventRecorderTimerGet (Thumb, 10 bytes, Stack size 0 bytes, eventrecorder.o(i.EventRecorderTimerGet))
  [Called By]

  - >> EventGetTS

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

  - >> EventRecorderInitialize

  EvrRtxEventFlagsWaitTimeout (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxEventFlagsWaitTimeout))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxEventFlagsWaitTimeout ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxKernelError (Thumb, 16 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxKernelError))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxKernelError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osKernelStart
  - >> osKernelInitialize
  - >> svcRtxKernelStart
  - >> svcRtxKernelInitialize

  EvrRtxKernelGetState (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxKernelGetState))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxKernelGetState ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxKernelGetState

  EvrRtxKernelGetTickCount (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxKernelGetTickCount))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxKernelGetTickCount

  EvrRtxKernelInitialize (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxKernelInitialize))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxKernelInitialize ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osKernelInitialize

  EvrRtxKernelInitializeCompleted (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxKernelInitializeCompleted))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxKernelInitializeCompleted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxKernelInitialize

  EvrRtxKernelStart (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxKernelStart))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxKernelStart ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osKernelStart

  EvrRtxKernelStarted (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxKernelStarted))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxKernelStarted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxKernelStart

  EvrRtxMemoryAlloc (Thumb, 18 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMemoryAlloc))
  [Stack]

  - Max Depth = 88
  - Call Chain = EvrRtxMemoryAlloc ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osRtxMemoryAlloc

  EvrRtxMemoryBlockAlloc (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMemoryBlockAlloc))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMemoryBlockAlloc ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxMemoryPoolAlloc

  EvrRtxMemoryBlockFree (Thumb, 22 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxMemoryBlockFree))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxMemoryBlockFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osRtxMemoryPoolFree

  EvrRtxMemoryBlockInit (Thumb, 18 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMemoryBlockInit))
  [Stack]

  - Max Depth = 88
  - Call Chain = EvrRtxMemoryBlockInit ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osRtxMemoryPoolInit

  EvrRtxMemoryFree (Thumb, 22 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxMemoryFree))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osRtxMemoryFree

  EvrRtxMemoryInit (Thumb, 24 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxMemoryInit))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxMemoryInit ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osRtxMemoryInit

  EvrRtxMemoryPoolAllocTimeout (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMemoryPoolAllocTimeout))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMemoryPoolAllocTimeout ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxMessageQueueCreated (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueCreated))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueCreated ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMessageQueueNew

  EvrRtxMessageQueueError (Thumb, 16 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueError))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueNew
  - >> svcRtxMessageQueueGet
  - >> osMessageQueuePut
  - >> osMessageQueueNew
  - >> osMessageQueueGet

  EvrRtxMessageQueueGet (Thumb, 18 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueGet))
  [Stack]

  - Max Depth = 88
  - Call Chain = EvrRtxMessageQueueGet ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osMessageQueueGet

  EvrRtxMessageQueueGetPending (Thumb, 22 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxMessageQueueGetPending))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxMessageQueueGetPending ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> svcRtxMessageQueueGet

  EvrRtxMessageQueueGetTimeout (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueGetTimeout))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueGetTimeout ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxMessageQueueInsertPending (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueInsertPending))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueInsertPending ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osMessageQueuePut

  EvrRtxMessageQueueInserted (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueInserted))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueInserted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

  EvrRtxMessageQueueNew (Thumb, 38 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxMessageQueueNew))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxMessageQueueNew ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecordData
  - >> EventRecord4
  [Called By]
  - >> osMessageQueueNew

  EvrRtxMessageQueueNotInserted (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueNotInserted))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueNotInserted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMessageQueuePut
  - >> osMessageQueuePut

  EvrRtxMessageQueueNotRetrieved (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueNotRetrieved))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueNotRetrieved ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMessageQueueGet
  - >> osMessageQueueGet

  EvrRtxMessageQueuePut (Thumb, 18 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueuePut))
  [Stack]

  - Max Depth = 88
  - Call Chain = EvrRtxMessageQueuePut ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osMessageQueuePut

  EvrRtxMessageQueuePutPending (Thumb, 22 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxMessageQueuePutPending))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxMessageQueuePutPending ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> svcRtxMessageQueuePut

  EvrRtxMessageQueuePutTimeout (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueuePutTimeout))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueuePutTimeout ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxMessageQueueRetrieved (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMessageQueueRetrieved))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMessageQueueRetrieved ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> osMessageQueueGet

  EvrRtxMutexAcquire (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexAcquire), UNUSED, KEPT)
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexAcquire ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osMutexAcquire

  EvrRtxMutexAcquirePending (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexAcquirePending))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexAcquirePending ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMutexAcquire

  EvrRtxMutexAcquireTimeout (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexAcquireTimeout))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexAcquireTimeout ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxMutexAcquired (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexAcquired))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexAcquired ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMutexRelease
  - >> svcRtxMutexAcquire
  - >> osRtxMutexOwnerRelease

  EvrRtxMutexCreated (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexCreated))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexCreated ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMutexNew

  EvrRtxMutexDelete (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexDelete), UNUSED, KEPT)
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexDelete ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osMutexDelete

  EvrRtxMutexDestroyed (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexDestroyed))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexDestroyed ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMutexDelete

  EvrRtxMutexError (Thumb, 16 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexError))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMutexRelease
  - >> svcRtxMutexNew
  - >> svcRtxMutexDelete
  - >> svcRtxMutexAcquire
  - >> osMutexRelease
  - >> osMutexNew
  - >> osMutexDelete
  - >> osMutexAcquire

  EvrRtxMutexNew (Thumb, 30 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexNew), UNUSED, KEPT)
  [Stack]

  - Max Depth = 80
  - Call Chain = EvrRtxMutexNew ⇒ EventRecordData ⇒ EventRecordItem
  [Calls]
  - >> EventRecordData
  - >> EventRecord2
  [Called By]
  - >> osMutexNew

  EvrRtxMutexNotAcquired (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexNotAcquired))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexNotAcquired ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMutexAcquire

  EvrRtxMutexRelease (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexRelease), UNUSED, KEPT)
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexRelease ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osMutexRelease

  EvrRtxMutexReleased (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxMutexReleased))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxMutexReleased ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxMutexRelease
  - >> osRtxMutexOwnerRelease

  EvrRtxSemaphoreAcquireTimeout (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxSemaphoreAcquireTimeout))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxSemaphoreAcquireTimeout ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxThreadBlocked (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadBlocked))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadBlocked ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadWaitEnter

  EvrRtxThreadCreated (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadCreated))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadCreated ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxThreadNew

  EvrRtxThreadDelay (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadDelay))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadDelay ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osDelay

  EvrRtxThreadDelayCompleted (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadDelayCompleted))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadDelayCompleted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxThreadDestroyed (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadDestroyed))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadDestroyed ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxThreadExit

  EvrRtxThreadError (Thumb, 16 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadError))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osThreadNew
  - >> osThreadFlagsWait
  - >> osThreadFlagsSet
  - >> osDelay
  - >> svcRtxThreadNew
  - >> svcRtxThreadFlagsWait
  - >> svcRtxThreadFlagsSet
  - >> osThreadExit

  EvrRtxThreadExit (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadExit))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadExit ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osThreadExit

  EvrRtxThreadFlagsSet (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadFlagsSet))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadFlagsSet ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osThreadFlagsSet

  EvrRtxThreadFlagsSetDone (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadFlagsSetDone))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadFlagsSetDone ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osThreadFlagsSet
  - >> svcRtxThreadFlagsSet

  EvrRtxThreadFlagsWait (Thumb, 22 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxThreadFlagsWait))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxThreadFlagsWait ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> osThreadFlagsWait

  EvrRtxThreadFlagsWaitCompleted (Thumb, 22 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxThreadFlagsWaitCompleted))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxThreadFlagsWaitCompleted ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> svcRtxThreadFlagsWait
  - >> svcRtxThreadFlagsSet
  - >> osRtxThreadPostProcess

  EvrRtxThreadFlagsWaitNotCompleted (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadFlagsWaitNotCompleted))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadFlagsWaitNotCompleted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxThreadFlagsWait

  EvrRtxThreadFlagsWaitPending (Thumb, 22 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxThreadFlagsWaitPending))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxThreadFlagsWaitPending ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord4
  [Called By]
  - >> svcRtxThreadFlagsWait

  EvrRtxThreadFlagsWaitTimeout (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadFlagsWaitTimeout))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadFlagsWaitTimeout ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadDelayTick

  EvrRtxThreadJoined (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadJoined))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadJoined ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> svcRtxThreadExit

  EvrRtxThreadNew (Thumb, 38 bytes, Stack size 16 bytes, rtx_evr.o(i.EvrRtxThreadNew))
  [Stack]

  - Max Depth = 96
  - Call Chain = EvrRtxThreadNew ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EventRecordData
  - >> EventRecord4
  [Called By]
  - >> osThreadNew

  EvrRtxThreadPreempted (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadPreempted))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxTick_Handler
  - >> osRtxThreadBlock

  EvrRtxThreadSwitched (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadSwitched))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadSwitched ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadSwitch

  EvrRtxThreadUnblocked (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxThreadUnblocked))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxThreadUnblocked ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadDelayTick

  EvrRtxTimerCallback (Thumb, 14 bytes, Stack size 8 bytes, rtx_evr.o(i.EvrRtxTimerCallback))
  [Stack]

  - Max Depth = 64
  - Call Chain = EvrRtxTimerCallback ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EventRecord2
  [Called By]
  - >> osRtxTimerThread

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

  - >> Buttons_GetState

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

  - >> MX_GPIO_Init
  - >> LED_On
  - >> LED_Off

  HAL_GetTick (Thumb, 66 bytes, Stack size 8 bytes, main.o(i.HAL_GetTick))
  [Stack]

  - Max Depth = 88
  - Call Chain = HAL_GetTick ⇒ osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osKernelGetTickCount
  - >> osKernelGetState
  [Called By]
  - >> HAL_RCC_OscConfig
  - >> HAL_RCC_ClockConfig

  HAL_Init (Thumb, 26 bytes, Stack size 8 bytes, stm32f0xx_hal.o(i.HAL_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_SYSTICK_Config
  [Calls]
  - >> HAL_InitTick
  - >> HAL_MspInit
  [Called By]
  - >> main

  HAL_InitTick (Thumb, 34 bytes, Stack size 8 bytes, stm32f0xx_hal.o(i.HAL_InitTick))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_InitTick ⇒ HAL_SYSTICK_Config
  [Calls]
  - >> HAL_SYSTICK_Config
  - >> HAL_RCC_GetHCLKFreq
  - >> HAL_NVIC_SetPriority
  - >> __aeabi_uidivmod
  [Called By]
  - >> HAL_RCC_ClockConfig
  - >> HAL_Init

  HAL_MspInit (Thumb, 50 bytes, Stack size 8 bytes, stm32f0xx_hal_msp.o(i.HAL_MspInit))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_MspInit ⇒ HAL_NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  [Called By]
  - >> HAL_Init

  HAL_NVIC_SetPriority (Thumb, 8 bytes, Stack size 8 bytes, stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_NVIC_SetPriority
  [Calls]
  - >> __NVIC_SetPriority
  [Called By]
  - >> SystemClock_Config
  - >> HAL_InitTick
  - >> HAL_MspInit

  HAL_RCC_GetHCLKFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
  [Called By]

  - >> SystemClock_Config
  - >> HAL_InitTick

  HAL_SYSTICK_CLKSourceConfig (Thumb, 24 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig))
  [Called By]

  - >> SystemClock_Config

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_it.o(i.HardFault_Handler))
  [Calls]

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

  LED_GetCount (Thumb, 4 bytes, Stack size 0 bytes, led_stm32f051-discovery.o(i.LED_GetCount))
  [Called By]

  - >> thrLED

  LED_Initialize (Thumb, 4 bytes, Stack size 0 bytes, led_stm32f051-discovery.o(i.LED_Initialize))
  [Called By]

  - >> app_main

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

  - startup_stm32f051x8.o(RESET)

  _Error_Handler (Thumb, 2 bytes, Stack size 0 bytes, main.o(i._Error_Handler))
  [Calls]

  - >> _Error_Handler
  [Called By]
  - >> _Error_Handler
  - >> SystemClock_Config

  osRtxErrorNotify (Thumb, 2 bytes, Stack size 0 bytes, rtx_config.o(i.osRtxErrorNotify))
  [Calls]

  - >> osRtxErrorNotify
  [Called By]
  - >> osRtxPostProcess
  - >> osRtxErrorNotify
  - >> _mutex_initialize
  - >> osRtxTimerTick
  - >> osRtxThreadStackCheck

  HAL_GPIO_Init (Thumb, 304 bytes, Stack size 24 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_GPIO_Init
  [Called By]
  - >> MX_GPIO_Init

  HAL_RCC_ClockConfig (Thumb, 304 bytes, Stack size 24 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
  [Stack]

  - Max Depth = 112
  - Call Chain = HAL_RCC_ClockConfig ⇒ HAL_GetTick ⇒ osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> HAL_GetTick
  - >> HAL_InitTick
  - >> HAL_RCC_GetSysClockFreq
  [Called By]
  - >> SystemClock_Config

  HAL_RCC_GetSysClockFreq (Thumb, 94 bytes, Stack size 40 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq))
  [Stack]

  - Max Depth = 40
  - Call Chain = HAL_RCC_GetSysClockFreq
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> HAL_RCC_ClockConfig

  HAL_RCC_OscConfig (Thumb, 968 bytes, Stack size 32 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig))
  [Stack]

  - Max Depth = 120
  - Call Chain = HAL_RCC_OscConfig ⇒ HAL_GetTick ⇒ osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> SystemClock_Config

  HAL_SYSTICK_Config (Thumb, 38 bytes, Stack size 8 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_SYSTICK_Config
  [Calls]
  - >> __NVIC_SetPriority
  [Called By]
  - >> SystemClock_Config
  - >> HAL_InitTick

  LED_Off (Thumb, 50 bytes, Stack size 8 bytes, led_stm32f051-discovery.o(i.LED_Off))
  [Stack]

  - Max Depth = 8
  - Call Chain = LED_Off
  [Calls]
  - >> HAL_GPIO_WritePin
  [Called By]
  - >> thrLED

  LED_On (Thumb, 50 bytes, Stack size 8 bytes, led_stm32f051-discovery.o(i.LED_On))
  [Stack]

  - Max Depth = 8
  - Call Chain = LED_On
  [Calls]
  - >> HAL_GPIO_WritePin
  [Called By]
  - >> thrLED

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

  - >> osRtxTick_Handler

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

  - >> svcRtxKernelStart

  OS_Tick_GetIRQn (Thumb, 6 bytes, Stack size 0 bytes, os_systick.o(i.OS_Tick_GetIRQn))
  [Called By]

  - >> svcRtxKernelStart

  OS_Tick_Setup (Thumb, 66 bytes, Stack size 8 bytes, os_systick.o(i.OS_Tick_Setup))
  [Stack]

  - Max Depth = 8
  - Call Chain = OS_Tick_Setup
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> svcRtxKernelStart

  SystemClock_Config (Thumb, 114 bytes, Stack size 80 bytes, main.o(i.SystemClock_Config))
  [Stack]

  - Max Depth = 200
  - Call Chain = SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_GetTick ⇒ osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> HAL_SYSTICK_Config
  - >> HAL_SYSTICK_CLKSourceConfig
  - >> HAL_RCC_OscConfig
  - >> HAL_RCC_GetHCLKFreq
  - >> HAL_RCC_ClockConfig
  - >> HAL_NVIC_SetPriority
  - >> _Error_Handler
  - >> __aeabi_uidivmod
  [Called By]
  - >> main

  SystemCoreClockUpdate (Thumb, 104 bytes, Stack size 16 bytes, system_stm32f0xx.o(i.SystemCoreClockUpdate))
  [Stack]

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

  SystemInit (Thumb, 78 bytes, Stack size 0 bytes, system_stm32f0xx.o(i.SystemInit))
  [Address Reference Count : 1]

  - startup_stm32f051x8.o(.text)

  __ARM_clz (Thumb, 46 bytes, Stack size 0 bytes, rtx_mempool.o(i.__ARM_clz))
  [Called By]

  - >> svcRtxMessageQueueNew

  __ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, rtx_system.o(i.__ARM_common_switch8))
  [Stack]

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [Called By]
  - >> osRtxPendSV_Handler

  _mutex_acquire (Thumb, 24 bytes, Stack size 8 bytes, rtx_lib.o(i._mutex_acquire), UNUSED, KEPT)
  [Stack]

  - Max Depth = 96
  - Call Chain = _mutex_acquire ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState ⇒ EvrRtxKernelGetState ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osMutexAcquire
  - >> os_kernel_is_active

  _mutex_free (Thumb, 10 bytes, Stack size 8 bytes, rtx_lib.o(i._mutex_free), UNUSED, KEPT)
  [Stack]

  - Max Depth = 88
  - Call Chain = _mutex_free ⇒ osMutexDelete ⇒ EvrRtxMutexError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osMutexDelete

  _mutex_initialize (Thumb, 32 bytes, Stack size 8 bytes, rtx_lib.o(i._mutex_initialize), UNUSED, KEPT)
  [Stack]

  - Max Depth = 104
  - Call Chain = _mutex_initialize ⇒ osMutexNew ⇒ EvrRtxMutexNew ⇒ EventRecordData ⇒ EventRecordItem
  [Calls]
  - >> osRtxErrorNotify
  - >> osMutexNew

  _mutex_release (Thumb, 20 bytes, Stack size 8 bytes, rtx_lib.o(i._mutex_release), UNUSED, KEPT)
  [Stack]

  - Max Depth = 96
  - Call Chain = _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState ⇒ EvrRtxKernelGetState ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osMutexRelease
  - >> os_kernel_is_active

  _platform_post_stackheap_init (Thumb, 8 bytes, Stack size 8 bytes, rtx_lib.o(i._platform_post_stackheap_init))
  [Stack]

  - Max Depth = 88
  - Call Chain = _platform_post_stackheap_init ⇒ osKernelInitialize ⇒ EvrRtxKernelInitialize ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osKernelInitialize
  [Called By]
  - >> __rt_entry_postsh_1

  app_main (Thumb, 64 bytes, Stack size 0 bytes, blinky.o(i.app_main))
  [Stack]

  - Max Depth = 120
  - Call Chain = app_main ⇒ osThreadNew ⇒ EvrRtxThreadNew ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osThreadNew
  - >> LED_Initialize
  - >> EventRecorderInitialize
  - >> EventRecorderEnable
  - >> Buttons_Initialize
  [Address Reference Count : 1]
  - main.o(i.main)

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

  - Max Depth = 200
  - Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_GetTick ⇒ osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osKernelStart
  - >> osKernelInitialize
  - >> SystemCoreClockUpdate
  - >> HAL_Init
  - >> SystemClock_Config
  - >> MX_GPIO_Init
  - >> osThreadNew
  [Called By]
  - >> __rt_entry_main

  osDelay (Thumb, 50 bytes, Stack size 16 bytes, rtx_delay.o(i.osDelay))
  [Stack]

  - Max Depth = 80
  - Call Chain = osDelay ⇒ EvrRtxThreadError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxThreadError
  - >> EvrRtxThreadDelay
  [Called By]
  - >> thrBUT

  osKernelGetState (Thumb, 40 bytes, Stack size 8 bytes, rtx_kernel.o(i.osKernelGetState))
  [Stack]

  - Max Depth = 80
  - Call Chain = osKernelGetState ⇒ svcRtxKernelGetState ⇒ EvrRtxKernelGetState ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> svcRtxKernelGetState
  [Called By]
  - >> HAL_GetTick
  - >> os_kernel_is_active

  osKernelGetTickCount (Thumb, 30 bytes, Stack size 8 bytes, rtx_kernel.o(i.osKernelGetTickCount))
  [Stack]

  - Max Depth = 80
  - Call Chain = osKernelGetTickCount ⇒ svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> svcRtxKernelGetTickCount
  [Called By]
  - >> HAL_GetTick

  osKernelInitialize (Thumb, 42 bytes, Stack size 16 bytes, rtx_kernel.o(i.osKernelInitialize))
  [Stack]

  - Max Depth = 80
  - Call Chain = osKernelInitialize ⇒ EvrRtxKernelInitialize ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxKernelInitialize
  - >> EvrRtxKernelError
  [Called By]
  - >> main
  - >> _platform_post_stackheap_init

  osKernelStart (Thumb, 42 bytes, Stack size 16 bytes, rtx_kernel.o(i.osKernelStart))
  [Stack]

  - Max Depth = 80
  - Call Chain = osKernelStart ⇒ EvrRtxKernelStart ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxKernelStart
  - >> EvrRtxKernelError
  [Called By]
  - >> main

  osMessageQueueGet (Thumb, 178 bytes, Stack size 24 bytes, rtx_msgqueue.o(i.osMessageQueueGet))
  [Stack]

  - Max Depth = 112
  - Call Chain = osMessageQueueGet ⇒ EvrRtxMessageQueueGet ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxPostProcess
  - >> MessageQueueGet
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueueNotRetrieved
  - >> EvrRtxMessageQueueGet
  - >> EvrRtxMessageQueueError
  - >> __aeabi_memcpy
  [Called By]
  - >> osRtxTimerThread

  osMessageQueueNew (Thumb, 60 bytes, Stack size 24 bytes, rtx_msgqueue.o(i.osMessageQueueNew))
  [Stack]

  - Max Depth = 120
  - Call Chain = osMessageQueueNew ⇒ EvrRtxMessageQueueNew ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMessageQueueNew
  - >> EvrRtxMessageQueueError
  [Called By]
  - >> osRtxTimerThread

  osMessageQueuePut (Thumb, 182 bytes, Stack size 24 bytes, rtx_msgqueue.o(i.osMessageQueuePut))
  [Stack]

  - Max Depth = 112
  - Call Chain = osMessageQueuePut ⇒ EvrRtxMessageQueuePut ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxPostProcess
  - >> osRtxMemoryPoolAlloc
  - >> EvrRtxMessageQueuePut
  - >> EvrRtxMessageQueueNotInserted
  - >> EvrRtxMessageQueueInsertPending
  - >> EvrRtxMessageQueueError
  - >> __aeabi_memcpy
  [Called By]
  - >> osRtxTimerTick

  osMutexAcquire (Thumb, 56 bytes, Stack size 16 bytes, rtx_mutex.o(i.osMutexAcquire), UNUSED, KEPT)
  [Stack]

  - Max Depth = 80
  - Call Chain = osMutexAcquire ⇒ EvrRtxMutexError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMutexError
  - >> EvrRtxMutexAcquire
  [Called By]
  - >> _mutex_acquire

  osMutexDelete (Thumb, 50 bytes, Stack size 16 bytes, rtx_mutex.o(i.osMutexDelete), UNUSED, KEPT)
  [Stack]

  - Max Depth = 80
  - Call Chain = osMutexDelete ⇒ EvrRtxMutexError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMutexError
  - >> EvrRtxMutexDelete
  [Called By]
  - >> _mutex_free

  osMutexNew (Thumb, 48 bytes, Stack size 16 bytes, rtx_mutex.o(i.osMutexNew), UNUSED, KEPT)
  [Stack]

  - Max Depth = 96
  - Call Chain = osMutexNew ⇒ EvrRtxMutexNew ⇒ EventRecordData ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMutexNew
  - >> EvrRtxMutexError
  [Called By]
  - >> _mutex_initialize

  osMutexRelease (Thumb, 50 bytes, Stack size 16 bytes, rtx_mutex.o(i.osMutexRelease), UNUSED, KEPT)
  [Stack]

  - Max Depth = 80
  - Call Chain = osMutexRelease ⇒ EvrRtxMutexRelease ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMutexRelease
  - >> EvrRtxMutexError
  [Called By]
  - >> _mutex_release

  osRtxIdleThread (Thumb, 2 bytes, Stack size 0 bytes, rtx_config.o(i.osRtxIdleThread))
  [Calls]

  - >> osRtxIdleThread
  [Called By]
  - >> osRtxIdleThread
  [Address Reference Count : 1]
  - rtx_kernel.o(i.svcRtxKernelStart)

  osRtxMemoryAlloc (Thumb, 130 bytes, Stack size 16 bytes, rtx_memory.o(i.osRtxMemoryAlloc))
  [Stack]

  - Max Depth = 104
  - Call Chain = osRtxMemoryAlloc ⇒ EvrRtxMemoryAlloc ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMemoryAlloc
  [Called By]
  - >> svcRtxMutexNew
  - >> svcRtxMessageQueueNew
  - >> svcRtxThreadNew

  osRtxMemoryFree (Thumb, 90 bytes, Stack size 16 bytes, rtx_memory.o(i.osRtxMemoryFree))
  [Stack]

  - Max Depth = 112
  - Call Chain = osRtxMemoryFree ⇒ EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMemoryFree
  [Called By]
  - >> osRtxThreadFree
  - >> svcRtxMutexDelete
  - >> svcRtxMessageQueueNew
  - >> svcRtxThreadNew

  osRtxMemoryInit (Thumb, 60 bytes, Stack size 8 bytes, rtx_memory.o(i.osRtxMemoryInit))
  [Stack]

  - Max Depth = 104
  - Call Chain = osRtxMemoryInit ⇒ EvrRtxMemoryInit ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMemoryInit
  [Called By]
  - >> svcRtxKernelInitialize

  osRtxMemoryPoolAlloc (Thumb, 66 bytes, Stack size 8 bytes, rtx_mempool.o(i.osRtxMemoryPoolAlloc))
  [Stack]

  - Max Depth = 72
  - Call Chain = osRtxMemoryPoolAlloc ⇒ EvrRtxMemoryBlockAlloc ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMemoryBlockAlloc
  [Called By]
  - >> svcRtxMutexNew
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueNew
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> osMessageQueuePut
  - >> svcRtxThreadNew

  osRtxMemoryPoolFree (Thumb, 78 bytes, Stack size 8 bytes, rtx_mempool.o(i.osRtxMemoryPoolFree))
  [Stack]

  - Max Depth = 104
  - Call Chain = osRtxMemoryPoolFree ⇒ EvrRtxMemoryBlockFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMemoryBlockFree
  [Called By]
  - >> osRtxThreadFree
  - >> svcRtxMutexDelete
  - >> svcRtxMessageQueueNew
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> svcRtxThreadNew

  osRtxMemoryPoolInit (Thumb, 76 bytes, Stack size 24 bytes, rtx_mempool.o(i.osRtxMemoryPoolInit))
  [Stack]

  - Max Depth = 112
  - Call Chain = osRtxMemoryPoolInit ⇒ EvrRtxMemoryBlockInit ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxMemoryBlockInit
  [Called By]
  - >> svcRtxMessageQueueNew
  - >> svcRtxKernelInitialize

  osRtxMessageQueuePostProcess (Thumb, 262 bytes, Stack size 24 bytes, rtx_msgqueue.o(i.osRtxMessageQueuePostProcess))
  [Stack]

  - Max Depth = 128
  - Call Chain = osRtxMessageQueuePostProcess ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryPoolAlloc
  - >> osRtxThreadRegPtr
  - >> MessageQueueRemove
  - >> MessageQueuePut
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueueInserted
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - rtx_msgqueue.o(i.svcRtxMessageQueueNew)

  osRtxMutexOwnerRelease (Thumb, 80 bytes, Stack size 24 bytes, rtx_mutex.o(i.osRtxMutexOwnerRelease))
  [Stack]

  - Max Depth = 128
  - Call Chain = osRtxMutexOwnerRelease ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> EvrRtxMutexReleased
  - >> EvrRtxMutexAcquired
  [Called By]
  - >> svcRtxThreadExit

  osRtxPendSV_Handler (Thumb, 70 bytes, Stack size 8 bytes, rtx_system.o(i.osRtxPendSV_Handler))
  [Stack]

  - Max Depth = 96
  - Call Chain = osRtxPendSV_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadDispatch
  - >> __ARM_common_switch8
  - >> isr_queue_get
  [Called By]
  - >> PendSV_Handler

  osRtxPostProcess (Thumb, 48 bytes, Stack size 8 bytes, rtx_system.o(i.osRtxPostProcess))
  [Stack]

  - Max Depth = 20
  - Call Chain = osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> isr_queue_put
  - >> osRtxErrorNotify
  [Called By]
  - >> osThreadFlagsSet
  - >> osMessageQueuePut
  - >> osMessageQueueGet

  osRtxThreadBlock (Thumb, 50 bytes, Stack size 16 bytes, rtx_thread.o(i.osRtxThreadBlock))
  [Stack]

  - Max Depth = 80
  - Call Chain = osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxThreadPreempted
  [Called By]
  - >> osRtxThreadDispatch

  osRtxThreadDelayInsert (Thumb, 92 bytes, Stack size 12 bytes, rtx_thread.o(i.osRtxThreadDelayInsert))
  [Stack]

  - Max Depth = 12
  - Call Chain = osRtxThreadDelayInsert
  [Called By]
  - >> osRtxThreadWaitEnter

  osRtxThreadDelayRemove (Thumb, 104 bytes, Stack size 12 bytes, rtx_thread.o(i.osRtxThreadDelayRemove))
  [Stack]

  - Max Depth = 12
  - Call Chain = osRtxThreadDelayRemove
  [Called By]
  - >> osRtxThreadWaitExit

  osRtxThreadDelayTick (Thumb, 192 bytes, Stack size 16 bytes, rtx_thread.o(i.osRtxThreadDelayTick))
  [Stack]

  - Max Depth = 80
  - Call Chain = osRtxThreadDelayTick ⇒ EvrRtxThreadUnblocked ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadListRemove
  - >> osRtxThreadReadyPut
  - >> osRtxThreadRegPtr
  - >> EvrRtxThreadUnblocked
  - >> EvrRtxThreadFlagsWaitTimeout
  - >> EvrRtxThreadDelayCompleted
  - >> EvrRtxSemaphoreAcquireTimeout
  - >> EvrRtxMutexAcquireTimeout
  - >> EvrRtxMessageQueuePutTimeout
  - >> EvrRtxMessageQueueGetTimeout
  - >> EvrRtxMemoryPoolAllocTimeout
  - >> EvrRtxEventFlagsWaitTimeout
  - >> osRtxThreadListRoot
  [Called By]
  - >> osRtxTick_Handler

  osRtxThreadDispatch (Thumb, 110 bytes, Stack size 8 bytes, rtx_thread.o(i.osRtxThreadDispatch))
  [Stack]

  - Max Depth = 88
  - Call Chain = osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadListRemove
  - >> osRtxThreadReadyPut
  - >> osRtxThreadSwitch
  - >> osRtxThreadBlock
  [Called By]
  - >> osRtxThreadWaitExit
  - >> osRtxTick_Handler
  - >> osRtxPendSV_Handler
  - >> svcRtxMutexRelease
  - >> svcRtxMutexDelete
  - >> svcRtxThreadNew

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

  - >> osRtxThreadWaitEnter
  - >> svcRtxMutexRelease
  - >> svcRtxMutexDelete
  - >> osRtxMutexOwnerRelease
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> svcRtxKernelStart
  - >> svcRtxThreadExit

  osRtxThreadListPut (Thumb, 44 bytes, Stack size 12 bytes, rtx_thread.o(i.osRtxThreadListPut))
  [Stack]

  - Max Depth = 12
  - Call Chain = osRtxThreadListPut
  [Called By]
  - >> osRtxThreadReadyPut
  - >> osRtxThreadListSort
  - >> svcRtxMutexAcquire
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet

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

  - >> osRtxThreadDispatch
  - >> osRtxThreadWaitEnter
  - >> osRtxTick_Handler
  - >> osRtxThreadListSort
  - >> osRtxThreadDelayTick

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

  - >> osRtxThreadDelayTick

  osRtxThreadListSort (Thumb, 38 bytes, Stack size 8 bytes, rtx_thread.o(i.osRtxThreadListSort))
  [Stack]

  - Max Depth = 20
  - Call Chain = osRtxThreadListSort ⇒ osRtxThreadListPut
  [Calls]
  - >> osRtxThreadListRemove
  - >> osRtxThreadListPut
  [Called By]
  - >> svcRtxMutexDelete
  - >> svcRtxMutexAcquire

  osRtxThreadPostProcess (Thumb, 62 bytes, Stack size 16 bytes, rtx_thread.o(i.osRtxThreadPostProcess))
  [Stack]

  - Max Depth = 120
  - Call Chain = osRtxThreadPostProcess ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> ThreadFlagsCheck
  - >> EvrRtxThreadFlagsWaitCompleted
  [Address Reference Count : 1]
  - rtx_thread.o(i.svcRtxThreadNew)

  osRtxThreadReadyPut (Thumb, 16 bytes, Stack size 4 bytes, rtx_thread.o(i.osRtxThreadReadyPut))
  [Stack]

  - Max Depth = 16
  - Call Chain = osRtxThreadReadyPut ⇒ osRtxThreadListPut
  [Calls]
  - >> osRtxThreadListPut
  [Called By]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadDispatch
  - >> osRtxTick_Handler
  - >> osRtxThreadDelayTick

  osRtxThreadRegPtr (Thumb, 6 bytes, Stack size 0 bytes, rtx_thread.o(i.osRtxThreadRegPtr))
  [Called By]

  - >> osRtxThreadWaitExit
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> osRtxThreadDelayTick

  osRtxThreadStackCheck (Thumb, 34 bytes, Stack size 8 bytes, rtx_thread.o(i.osRtxThreadStackCheck))
  [Stack]

  - Max Depth = 8
  - Call Chain = osRtxThreadStackCheck
  [Calls]
  - >> osRtxErrorNotify
  [Called By]
  - >> osRtxThreadSwitch

  osRtxThreadSwitch (Thumb, 24 bytes, Stack size 8 bytes, rtx_thread.o(i.osRtxThreadSwitch))
  [Stack]

  - Max Depth = 72
  - Call Chain = osRtxThreadSwitch ⇒ EvrRtxThreadSwitched ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxThreadSwitched
  - >> osRtxThreadStackCheck
  [Called By]
  - >> osRtxThreadDispatch
  - >> osRtxThreadWaitEnter
  - >> osRtxTick_Handler
  - >> svcRtxKernelStart
  - >> svcRtxThreadExit

  osRtxThreadWaitEnter (Thumb, 78 bytes, Stack size 16 bytes, rtx_thread.o(i.osRtxThreadWaitEnter))
  [Stack]

  - Max Depth = 88
  - Call Chain = osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ EvrRtxThreadSwitched ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadListRemove
  - >> osRtxThreadListGet
  - >> osRtxThreadSwitch
  - >> EvrRtxThreadBlocked
  - >> osRtxThreadDelayInsert
  [Called By]
  - >> svcRtxDelay
  - >> svcRtxMutexAcquire
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> svcRtxThreadFlagsWait

  osRtxThreadWaitExit (Thumb, 50 bytes, Stack size 16 bytes, rtx_thread.o(i.osRtxThreadWaitExit))
  [Stack]

  - Max Depth = 104
  - Call Chain = osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadDispatch
  - >> osRtxThreadReadyPut
  - >> osRtxThreadRegPtr
  - >> EvrRtxThreadUnblocked
  - >> osRtxThreadDelayRemove
  [Called By]
  - >> svcRtxMutexRelease
  - >> svcRtxMutexDelete
  - >> osRtxMutexOwnerRelease
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> svcRtxThreadFlagsSet
  - >> svcRtxThreadExit
  - >> osRtxThreadPostProcess

  osRtxTick_Handler (Thumb, 122 bytes, Stack size 16 bytes, rtx_system.o(i.osRtxTick_Handler))
  [Stack]

  - Max Depth = 104
  - Call Chain = osRtxTick_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadListRemove
  - >> osRtxThreadDispatch
  - >> osRtxThreadReadyPut
  - >> OS_Tick_AcknowledgeIRQ
  - >> osRtxThreadSwitch
  - >> osRtxThreadDelayTick
  - >> EvrRtxThreadPreempted
  [Called By]
  - >> SysTick_Handler

  osRtxTimerThread (Thumb, 64 bytes, Stack size 24 bytes, rtx_timer.o(i.osRtxTimerThread))
  [Stack]

  - Max Depth = 144
  - Call Chain = osRtxTimerThread ⇒ osMessageQueueNew ⇒ EvrRtxMessageQueueNew ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osMessageQueueNew
  - >> osMessageQueueGet
  - >> EvrRtxTimerCallback
  [Address Reference Count : 1]
  - rtx_kernel.o(i.svcRtxKernelStart)

  osRtxTimerTick (Thumb, 84 bytes, Stack size 16 bytes, rtx_timer.o(i.osRtxTimerTick))
  [Stack]

  - Max Depth = 128
  - Call Chain = osRtxTimerTick ⇒ osMessageQueuePut ⇒ EvrRtxMessageQueuePut ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osMessageQueuePut
  - >> osRtxErrorNotify
  - >> TimerUnlink
  - >> TimerInsert
  [Address Reference Count : 1]
  - rtx_timer.o(i.osRtxTimerThread)

  osThreadExit (Thumb, 20 bytes, Stack size 0 bytes, rtx_thread.o(i.osThreadExit))
  [Stack]

  - Max Depth = 64
  - Call Chain = osThreadExit ⇒ EvrRtxThreadError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxThreadError
  - >> EvrRtxThreadExit
  [Address Reference Count : 1]
  - rtx_thread.o(i.svcRtxThreadNew)

  osThreadFlagsSet (Thumb, 124 bytes, Stack size 16 bytes, rtx_thread.o(i.osThreadFlagsSet))
  [Stack]

  - Max Depth = 80
  - Call Chain = osThreadFlagsSet ⇒ EvrRtxThreadError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxPostProcess
  - >> EvrRtxThreadError
  - >> ThreadFlagsSet
  - >> EvrRtxThreadFlagsSetDone
  - >> EvrRtxThreadFlagsSet
  [Called By]
  - >> thrBUT

  osThreadFlagsWait (Thumb, 62 bytes, Stack size 24 bytes, rtx_thread.o(i.osThreadFlagsWait))
  [Stack]

  - Max Depth = 120
  - Call Chain = osThreadFlagsWait ⇒ EvrRtxThreadFlagsWait ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxThreadError
  - >> EvrRtxThreadFlagsWait
  [Called By]
  - >> thrLED

  osThreadNew (Thumb, 60 bytes, Stack size 24 bytes, rtx_thread.o(i.osThreadNew))
  [Stack]

  - Max Depth = 120
  - Call Chain = osThreadNew ⇒ EvrRtxThreadNew ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxThreadError
  - >> EvrRtxThreadNew
  [Called By]
  - >> main
  - >> app_main

  svcRtxDelay (Thumb, 22 bytes, Stack size 8 bytes, rtx_delay.o(i.svcRtxDelay))
  [Stack]

  - Max Depth = 96
  - Call Chain = svcRtxDelay ⇒ osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ EvrRtxThreadSwitched ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitEnter
  [Address Reference Count : 1]
  - rtx_delay.o(i.osDelay)

  svcRtxKernelGetState (Thumb, 14 bytes, Stack size 8 bytes, rtx_kernel.o(i.svcRtxKernelGetState))
  [Stack]

  - Max Depth = 72
  - Call Chain = svcRtxKernelGetState ⇒ EvrRtxKernelGetState ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxKernelGetState
  [Called By]
  - >> osKernelGetState
  [Address Reference Count : 1]
  - rtx_kernel.o(i.osKernelGetState)

  svcRtxKernelGetTickCount (Thumb, 14 bytes, Stack size 8 bytes, rtx_kernel.o(i.svcRtxKernelGetTickCount))
  [Stack]

  - Max Depth = 72
  - Call Chain = svcRtxKernelGetTickCount ⇒ EvrRtxKernelGetTickCount ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> EvrRtxKernelGetTickCount
  [Called By]
  - >> osKernelGetTickCount
  [Address Reference Count : 1]
  - rtx_kernel.o(i.osKernelGetTickCount)

  svcRtxKernelInitialize (Thumb, 410 bytes, Stack size 16 bytes, rtx_kernel.o(i.svcRtxKernelInitialize))
  [Stack]

  - Max Depth = 128
  - Call Chain = svcRtxKernelInitialize ⇒ osRtxMemoryPoolInit ⇒ EvrRtxMemoryBlockInit ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxMemoryPoolInit
  - >> osRtxMemoryInit
  - >> EvrRtxKernelInitializeCompleted
  - >> EvrRtxKernelError
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - rtx_kernel.o(i.osKernelInitialize)

  svcRtxKernelStart (Thumb, 216 bytes, Stack size 16 bytes, rtx_kernel.o(i.svcRtxKernelStart))
  [Stack]

  - Max Depth = 176
  - Call Chain = svcRtxKernelStart ⇒ svcRtxThreadNew ⇒ osRtxMemoryFree ⇒ EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadListGet
  - >> svcRtxThreadNew
  - >> osRtxThreadSwitch
  - >> OS_Tick_Setup
  - >> OS_Tick_GetIRQn
  - >> OS_Tick_Enable
  - >> EvrRtxKernelStarted
  - >> EvrRtxKernelError
  [Address Reference Count : 1]
  - rtx_kernel.o(i.osKernelStart)

  svcRtxMessageQueueGet (Thumb, 288 bytes, Stack size 40 bytes, rtx_msgqueue.o(i.svcRtxMessageQueueGet))
  [Stack]

  - Max Depth = 144
  - Call Chain = svcRtxMessageQueueGet ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListPut
  - >> osRtxThreadListGet
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryPoolAlloc
  - >> osRtxThreadWaitEnter
  - >> osRtxThreadRegPtr
  - >> MessageQueueRemove
  - >> MessageQueuePut
  - >> MessageQueueGet
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueueNotRetrieved
  - >> EvrRtxMessageQueueInserted
  - >> EvrRtxMessageQueueGetPending
  - >> EvrRtxMessageQueueError
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - rtx_msgqueue.o(i.osMessageQueueGet)

  svcRtxMessageQueueNew (Thumb, 392 bytes, Stack size 48 bytes, rtx_msgqueue.o(i.svcRtxMessageQueueNew))
  [Stack]

  - Max Depth = 160
  - Call Chain = svcRtxMessageQueueNew ⇒ osRtxMemoryFree ⇒ EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryPoolAlloc
  - >> osRtxMemoryFree
  - >> osRtxMemoryAlloc
  - >> __ARM_clz
  - >> osRtxMemoryPoolInit
  - >> EvrRtxMessageQueueError
  - >> EvrRtxMessageQueueCreated
  - >> __aeabi_memclr
  [Address Reference Count : 1]
  - rtx_msgqueue.o(i.osMessageQueueNew)

  svcRtxMessageQueuePut (Thumb, 260 bytes, Stack size 40 bytes, rtx_msgqueue.o(i.svcRtxMessageQueuePut))
  [Stack]

  - Max Depth = 144
  - Call Chain = svcRtxMessageQueuePut ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListPut
  - >> osRtxThreadListGet
  - >> osRtxMemoryPoolAlloc
  - >> osRtxThreadWaitEnter
  - >> osRtxThreadRegPtr
  - >> MessageQueuePut
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueuePutPending
  - >> EvrRtxMessageQueueNotInserted
  - >> EvrRtxMessageQueueInserted
  - >> EvrRtxMessageQueueError
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - rtx_msgqueue.o(i.osMessageQueuePut)

  svcRtxMutexAcquire (Thumb, 236 bytes, Stack size 24 bytes, rtx_mutex.o(i.svcRtxMutexAcquire))
  [Stack]

  - Max Depth = 112
  - Call Chain = svcRtxMutexAcquire ⇒ osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ EvrRtxThreadSwitched ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadListPut
  - >> osRtxThreadWaitEnter
  - >> osRtxThreadListSort
  - >> EvrRtxMutexNotAcquired
  - >> EvrRtxMutexError
  - >> EvrRtxMutexAcquired
  - >> EvrRtxMutexAcquirePending
  [Address Reference Count : 1]
  - rtx_mutex.o(i.osMutexAcquire)

  svcRtxMutexDelete (Thumb, 218 bytes, Stack size 24 bytes, rtx_mutex.o(i.svcRtxMutexDelete))
  [Stack]

  - Max Depth = 136
  - Call Chain = svcRtxMutexDelete ⇒ osRtxMemoryFree ⇒ EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxThreadDispatch
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryFree
  - >> osRtxThreadListSort
  - >> EvrRtxMutexError
  - >> EvrRtxMutexDestroyed
  [Address Reference Count : 1]
  - rtx_mutex.o(i.osMutexDelete)

  svcRtxMutexNew (Thumb, 156 bytes, Stack size 16 bytes, rtx_mutex.o(i.svcRtxMutexNew))
  [Stack]

  - Max Depth = 120
  - Call Chain = svcRtxMutexNew ⇒ osRtxMemoryAlloc ⇒ EvrRtxMemoryAlloc ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxMemoryPoolAlloc
  - >> osRtxMemoryAlloc
  - >> EvrRtxMutexError
  - >> EvrRtxMutexCreated
  [Address Reference Count : 1]
  - rtx_mutex.o(i.osMutexNew)

  svcRtxMutexRelease (Thumb, 264 bytes, Stack size 16 bytes, rtx_mutex.o(i.svcRtxMutexRelease))
  [Stack]

  - Max Depth = 120
  - Call Chain = svcRtxMutexRelease ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxThreadDispatch
  - >> EvrRtxMutexReleased
  - >> EvrRtxMutexError
  - >> EvrRtxMutexAcquired
  [Address Reference Count : 1]
  - rtx_mutex.o(i.osMutexRelease)

  svcRtxThreadExit (Thumb, 120 bytes, Stack size 16 bytes, rtx_thread.o(i.svcRtxThreadExit))
  [Stack]

  - Max Depth = 144
  - Call Chain = svcRtxThreadExit ⇒ osRtxThreadFree ⇒ osRtxMemoryFree ⇒ EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxThreadFree
  - >> osRtxMutexOwnerRelease
  - >> osRtxThreadSwitch
  - >> EvrRtxThreadJoined
  - >> EvrRtxThreadDestroyed
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadExit)

  svcRtxThreadFlagsSet (Thumb, 144 bytes, Stack size 24 bytes, rtx_thread.o(i.svcRtxThreadFlagsSet))
  [Stack]

  - Max Depth = 128
  - Call Chain = svcRtxThreadFlagsSet ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadBlock ⇒ EvrRtxThreadPreempted ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitExit
  - >> EvrRtxThreadError
  - >> ThreadFlagsSet
  - >> ThreadFlagsCheck
  - >> EvrRtxThreadFlagsWaitCompleted
  - >> EvrRtxThreadFlagsSetDone
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadFlagsSet)

  svcRtxThreadFlagsWait (Thumb, 130 bytes, Stack size 32 bytes, rtx_thread.o(i.svcRtxThreadFlagsWait))
  [Stack]

  - Max Depth = 128
  - Call Chain = svcRtxThreadFlagsWait ⇒ EvrRtxThreadFlagsWaitPending ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadWaitEnter
  - >> EvrRtxThreadError
  - >> ThreadFlagsCheck
  - >> EvrRtxThreadFlagsWaitPending
  - >> EvrRtxThreadFlagsWaitNotCompleted
  - >> EvrRtxThreadFlagsWaitCompleted
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadFlagsWait)

  svcRtxThreadNew (Thumb, 538 bytes, Stack size 48 bytes, rtx_thread.o(i.svcRtxThreadNew))
  [Stack]

  - Max Depth = 160
  - Call Chain = svcRtxThreadNew ⇒ osRtxMemoryFree ⇒ EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxThreadDispatch
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryPoolAlloc
  - >> osRtxMemoryFree
  - >> osRtxMemoryAlloc
  - >> EvrRtxThreadError
  - >> EvrRtxThreadCreated
  [Called By]
  - >> svcRtxKernelStart
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadNew)

  func_at (Thumb, 4 bytes, Stack size 0 bytes, main.o(.ARM.__at_0x22000000), UNUSED, KEPT)

  ### Local Symbols

  thrBUT (Thumb, 36 bytes, Stack size 0 bytes, blinky.o(i.thrBUT))
  [Stack]

  - Max Depth = 80
  - Call Chain = thrBUT ⇒ osThreadFlagsSet ⇒ EvrRtxThreadError ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osThreadFlagsSet
  - >> osDelay
  - >> Buttons_GetState
  - >> Buttons_GetCount
  [Address Reference Count : 1]
  - blinky.o(i.app_main)

  thrLED (Thumb, 52 bytes, Stack size 0 bytes, blinky.o(i.thrLED))
  [Stack]

  - Max Depth = 120
  - Call Chain = thrLED ⇒ osThreadFlagsWait ⇒ EvrRtxThreadFlagsWait ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osThreadFlagsWait
  - >> LED_On
  - >> LED_Off
  - >> LED_GetCount
  [Address Reference Count : 1]
  - blinky.o(i.app_main)

  MX_GPIO_Init (Thumb, 92 bytes, Stack size 48 bytes, main.o(i.MX_GPIO_Init))
  [Stack]

  - Max Depth = 72
  - Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_WritePin
  - >> HAL_GPIO_Init
  [Called By]
  - >> main

  os_kernel_is_active (Thumb, 32 bytes, Stack size 8 bytes, rtx_lib.o(i.os_kernel_is_active), UNUSED, KEPT)
  [Stack]

  - Max Depth = 88
  - Call Chain = os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState ⇒ EvrRtxKernelGetState ⇒ EventRecord2 ⇒ EventRecordItem
  [Calls]
  - >> osKernelGetState
  [Called By]
  - >> _mutex_release
  - >> _mutex_acquire

  MessageQueueGet (Thumb, 60 bytes, Stack size 0 bytes, rtx_msgqueue.o(i.MessageQueueGet))
  [Called By]

  - >> svcRtxMessageQueueGet
  - >> osMessageQueueGet

  MessageQueuePut (Thumb, 84 bytes, Stack size 16 bytes, rtx_msgqueue.o(i.MessageQueuePut))
  [Stack]

  - Max Depth = 16
  - Call Chain = MessageQueuePut
  [Called By]
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

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

  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

  isr_queue_get (Thumb, 60 bytes, Stack size 12 bytes, rtx_system.o(i.isr_queue_get))
  [Stack]

  - Max Depth = 12
  - Call Chain = isr_queue_get
  [Called By]
  - >> osRtxPendSV_Handler

  isr_queue_put (Thumb, 64 bytes, Stack size 12 bytes, rtx_system.o(i.isr_queue_put))
  [Stack]

  - Max Depth = 12
  - Call Chain = isr_queue_put
  [Called By]
  - >> osRtxPostProcess

  ThreadFlagsCheck (Thumb, 78 bytes, Stack size 16 bytes, rtx_thread.o(i.ThreadFlagsCheck))
  [Stack]

  - Max Depth = 16
  - Call Chain = ThreadFlagsCheck
  [Called By]
  - >> svcRtxThreadFlagsWait
  - >> svcRtxThreadFlagsSet
  - >> osRtxThreadPostProcess

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

  - >> osThreadFlagsSet
  - >> svcRtxThreadFlagsSet

  osRtxThreadFree (Thumb, 74 bytes, Stack size 16 bytes, rtx_thread.o(i.osRtxThreadFree))
  [Stack]

  - Max Depth = 128
  - Call Chain = osRtxThreadFree ⇒ osRtxMemoryFree ⇒ EvrRtxMemoryFree ⇒ EventRecord4 ⇒ EventRecordItem
  [Calls]
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryFree
  [Called By]
  - >> svcRtxThreadExit

  TimerInsert (Thumb, 56 bytes, Stack size 12 bytes, rtx_timer.o(i.TimerInsert))
  [Stack]

  - Max Depth = 12
  - Call Chain = TimerInsert
  [Called By]
  - >> osRtxTimerTick

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

  - >> osRtxTimerTick

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

  - >> EventRecordData
  - >> EventRecord4
  - >> EventRecord2

  EventGetTS (Thumb, 32 bytes, Stack size 8 bytes, eventrecorder.o(i.EventGetTS))
  [Stack]

  - Max Depth = 8
  - Call Chain = EventGetTS
  [Calls]
  - >> EventRecorderTimerGet
  - >> atomic_xch32
  - >> atomic_inc32
  [Called By]
  - >> EventRecorderInitialize
  - >> EventRecordData
  - >> EventRecord4
  - >> EventRecord2

  EventRecordItem (Thumb, 216 bytes, Stack size 40 bytes, eventrecorder.o(i.EventRecordItem))
  [Stack]

  - Max Depth = 40
  - Call Chain = EventRecordItem
  [Calls]
  - >> atomic_inc32
  [Called By]
  - >> EventRecorderInitialize
  - >> EventRecordData
  - >> EventRecord4
  - >> EventRecord2

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

  - >> EventRecordItem
  - >> EventGetTS

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

  - >> EventRecordData
  - >> EventRecord4

  atomic_xch32 (Thumb, 20 bytes, Stack size 0 bytes, eventrecorder.o(i.atomic_xch32))
  [Called By]

  - >> EventGetTS

  crc16_ccitt (Thumb, 50 bytes, Stack size 12 bytes, eventrecorder.o(i.crc16_ccitt))
  [Stack]

  - Max Depth = 12
  - Call Chain = crc16_ccitt
  [Called By]
  - >> EventRecorderInitialize

  __NVIC_SetPriority (Thumb, 60 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.__NVIC_SetPriority))
  [Called By]

  - >> HAL_SYSTICK_Config
  - >> HAL_NVIC_SetPriority

  ### Undefined Global Symbols

  _call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> exit