Static Call Graph - [.\BUILD\mbed-os-example-blinky.axf]

# Static Call Graph for image .\BUILD\mbed-os-example-blinky.axf

#<CALLGRAPH># ARM Linker, 5050169: Last Updated: Mon Nov 27 11:42:58 2017

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

### Call chain for Maximum Stack Depth:

pre_main ⇒ main ⇒ $Super$$main ⇒ Ting_Config() ⇒ mbed::Stream::scanf(const char*, ...) ⇒ vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e

### Mutually Recursive functions

- core_util_critical_section_enter ⇒ mbed_assert_internal
- mbed_error_printf ⇒ mbed_error_vfprintf
- pin_mode ⇒ mbed_assert_internal
- Set_GPIO_Clock ⇒ error
- gpio_set ⇒ mbed_assert_internal
- pin_function ⇒ mbed_assert_internal
- sleep_manager_lock_deep_sleep ⇒ error
- core_util_atomic_incr_u16 ⇒ core_util_critical_section_exit
- sleep_manager_unlock_deep_sleep ⇒ error
- core_util_atomic_decr_u16 ⇒ core_util_critical_section_exit
- pinmap_pinout ⇒ error
- pinmap_peripheral ⇒ error
- pinmap_merge ⇒ error
- init_uart ⇒ error
- osRtxErrorNotify ⇒ error
- 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
- __asm___13_rtx_mempool_c_7914b4c7__atomic_link_put ⇒ __asm___13_rtx_mempool_c_7914b4c7__atomic_link_put

  ### Function Pointers

  - ⟨Func4⟩ from .\build\serialbase.o(i.) referenced from .\build\serialbase.o(i._ZN4mbed10SerialBaseC1E7PinNameS1_i)
  - ADC_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - BusFault_Handler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream0_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream1_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream2_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream3_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream4_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream5_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream6_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA1_Stream7_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream0_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream1_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream2_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream3_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream4_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream5_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream6_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DMA2_Stream7_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - DebugMon_Handler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - EXTI0_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - EXTI15_10_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - EXTI1_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - EXTI2_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - EXTI3_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - EXTI4_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - EXTI9_5_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - FLASH_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - FPU_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - HardFault_Handler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - I2C1_ER_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - I2C1_EV_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - I2C2_ER_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - I2C2_EV_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - I2C3_ER_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - I2C3_EV_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - MemManage_Handler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - NMI_Handler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - OTG_FS_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - OTG_FS_WKUP_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - PVD_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - PendSV_Handler from .\build\irq_cm4f.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - RCC_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - RTC_Alarm_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - RTC_WKUP_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - Reset_Handler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SDIO_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SPI1_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SPI2_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SPI3_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SPI4_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SVC_Handler from .\build\irq_cm4f.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SysTick_Handler from .\build\irq_cm4f.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - SystemInit from .\build\system_clock.o(i.SystemInit) referenced from .\build\startup_stm32f401xe.o(.text)
  - TAMP_STAMP_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM1_BRK_TIM9_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM1_CC_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM1_TRG_COM_TIM11_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM1_UP_TIM10_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM2_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM3_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM4_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - TIM5_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - UART_DMAAbortOnError from .\build\stm32f4xx_hal_uart.o(i.UART_DMAAbortOnError) referenced from .\build\stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler)
  - USART1_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - USART2_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - USART6_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - UsageFault_Handler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - WWDG_IRQHandler from .\build\startup_stm32f401xe.o(.text) referenced from .\build\startup_stm32f401xe.o(RESET)
  - default_idle_hook() from .\build\mbed_rtx_idle.o(i._Z17default_idle_hookv) referenced 2 times from .\build\mbed_rtx_idle.o(.data)
  - mbed::FileHandle::size() from .\build\filehandle.o(i._ZN4mbed10FileHandle4sizeEv) referenced from .\build\filehandle.o(.constdata__ZTVN4mbed10FileHandleE)
  - mbed::FileHandle::size() from .\build\filehandle.o(i._ZN4mbed10FileHandle4sizeEv) referenced from .\build\stream.o(.constdata__ZTVN4mbed8FileLikeE)
  - mbed::FileHandle::isatty() from .\build\filehandle.o(i._ZN4mbed10FileHandle6isattyEv) referenced from .\build\filehandle.o(.constdata__ZTVN4mbed10FileHandleE)
  - mbed::FileHandle::isatty() from .\build\filehandle.o(i._ZN4mbed10FileHandle6isattyEv) referenced from .\build\stream.o(.constdata__ZTVN4mbed8FileLikeE)
  - mbed::SerialBase::_irq_handler(unsigned, SerialIrq) from .\build\serialbase.o(i._ZN4mbed10SerialBase12_irq_handlerEj9SerialIrq) referenced from .\build\serialbase.o(i._ZN4mbed10SerialBaseC1E7PinNameS1_i)
  - mbed::SerialBase::interrupt_handler_asynch() from .\build\serialbase.o(i._ZN4mbed10SerialBase24interrupt_handler_asynchEv) referenced from .\build\serialbase.o(.constdata)
  - mbed::SerialBase::lock() from .\build\serialbase.o(i._ZN4mbed10SerialBase4lockEv) referenced from .\build\serialbase.o(.constdata__ZTVN4mbed10SerialBaseE)
  - mbed::SerialBase::unlock() from .\build\serialbase.o(i._ZN4mbed10SerialBase6unlockEv) referenced from .\build\serialbase.o(.constdata__ZTVN4mbed10SerialBaseE)
  - mbed::SerialBase::~SerialBase() from .\build\serialbase.o(i._ZN4mbed10SerialBaseD1Ev) referenced from .\build\serialbase.o(.constdata__ZTVN4mbed10SerialBaseE)
  - mbed::Transaction⟨mbed::SPI⟩::Transaction() from .\build\spi.o(t._ZN4mbed11TransactionINS_3SPIEEC1Ev) referenced from .\build\spi.o(i.__sti___7_SPI_cpp_ab1f1164)
  - mbed::Transaction⟨mbed::SPI⟩::~Transaction() from .\build\spi.o(t._ZN4mbed11TransactionINS_3SPIEED1Ev) referenced from .\build\spi.o(t._ZN4mbed14CircularBufferINS_11TransactionINS_3SPIEEELj2EjED1Ev)
  - mbed::CircularBuffer⟨mbed::Transaction⟨mbed::SPI⟩, (unsigned)2, unsigned⟩::~CircularBuffer() from .\build\spi.o(t._ZN4mbed14CircularBufferINS_11TransactionINS_3SPIEEELj2EjED1Ev) referenced from .\build\spi.o(i.__sti___7_SPI_cpp_ab1f1164)
  - mbed::Serial::lock() from .\build\serial.o(i._ZN4mbed6Serial4lockEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Serial::_getc() from .\build\serial.o(i._ZN4mbed6Serial5_getcEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Serial::_putc(int) from .\build\serial.o(i._ZN4mbed6Serial5_putcEi) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Serial::unlock() from .\build\serial.o(i._ZN4mbed6Serial6unlockEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Serial::~Serial() from .\build\serial.o(i._ZN4mbed6SerialD1Ev) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Serial::~Serial() from .\build\serial.o(i._ZN4mbed6SerialD1Ev) referenced from .\build\main.o(i.__sti___8_main_cpp_State)
  - mbed::Stream::lock() from .\build\stream.o(i._ZN4mbed6Stream4lockEv) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::read(void*, unsigned) from .\build\stream.o(i._ZN4mbed6Stream4readEPvj) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Stream::read(void*, unsigned) from .\build\stream.o(i._ZN4mbed6Stream4readEPvj) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::seek(long, int) from .\build\stream.o(i._ZN4mbed6Stream4seekEli) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Stream::seek(long, int) from .\build\stream.o(i._ZN4mbed6Stream4seekEli) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::size() from .\build\stream.o(i._ZN4mbed6Stream4sizeEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Stream::size() from .\build\stream.o(i._ZN4mbed6Stream4sizeEv) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::close() from .\build\stream.o(i._ZN4mbed6Stream5closeEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Stream::close() from .\build\stream.o(i._ZN4mbed6Stream5closeEv) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::write(const void*, unsigned) from .\build\stream.o(i._ZN4mbed6Stream5writeEPKvj) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Stream::write(const void*, unsigned) from .\build\stream.o(i._ZN4mbed6Stream5writeEPKvj) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::isatty() from .\build\stream.o(i._ZN4mbed6Stream6isattyEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - mbed::Stream::isatty() from .\build\stream.o(i._ZN4mbed6Stream6isattyEv) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::unlock() from .\build\stream.o(i._ZN4mbed6Stream6unlockEv) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - mbed::Stream::~Stream__sub_object() from .\build\stream.o(i._ZN4mbed6StreamD2Ev) referenced from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - void mbed::Callback⟨void(int)⟩::function_call⟨void(*)(int)⟩(const void*, int) from .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEE13function_callIPS1_EEvPKvi) referenced from .\build\eventqueue.o(.constdata__ZZN4mbed8CallbackIFviEE8generateIPS1_EEvRKT_E3ops)
  - void mbed::Callback⟨void(int)⟩::function_dtor⟨void(*)(int)⟩(void*) from .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEE13function_dtorIPS1_EEvPv) referenced from .\build\eventqueue.o(.constdata__ZZN4mbed8CallbackIFviEE8generateIPS1_EEvRKT_E3ops)
  - void mbed::Callback⟨void(int)⟩::function_move⟨void(*)(int)⟩(void*, const void*) from .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEE13function_moveIPS1_EEvPvPKv) referenced from .\build\eventqueue.o(.constdata__ZZN4mbed8CallbackIFviEE8generateIPS1_EEvRKT_E3ops)
  - void mbed::Callback⟨void()⟩::function_call⟨void(*)()⟩(const void*) from .\build\atcmdparser.o(t._ZN4mbed8CallbackIFvvEE13function_callIPS1_EEvPKv) referenced from .\build\atcmdparser.o(.constdata__ZZN4mbed8CallbackIFvvEE8generateIPS1_EEvRKT_E3ops)
  - void mbed::Callback⟨void()⟩::function_dtor⟨void(*)()⟩(void*) from .\build\atcmdparser.o(t._ZN4mbed8CallbackIFvvEE13function_dtorIPS1_EEvPv) referenced from .\build\atcmdparser.o(.constdata__ZZN4mbed8CallbackIFvvEE8generateIPS1_EEvRKT_E3ops)
  - void mbed::Callback⟨void()⟩::function_move⟨void(*)()⟩(void*, const void*) from .\build\atcmdparser.o(t._ZN4mbed8CallbackIFvvEE13function_moveIPS1_EEvPvPKv) referenced from .\build\atcmdparser.o(.constdata__ZZN4mbed8CallbackIFvvEE8generateIPS1_EEvRKT_E3ops)
  - mbed::Callback⟨void()⟩::~Callback() from .\build\equeue_mbed.o(t._ZN4mbed8CallbackIFvvEED1Ev) referenced from .\build\serialbase.o(i._ZN4mbed10SerialBaseD1Ev)
  - mbed::FileBase::~FileBase() from .\build\filebase.o(i._ZN4mbed8FileBaseD1Ev) referenced from .\build\filebase.o(.constdata__ZTVN4mbed8FileBaseE)
  - mbed::FileLike::~FileLike__sub_object() from .\build\stream.o(i._ZN4mbed8FileLikeD2Ev) referenced from .\build\stream.o(.constdata__ZTVN4mbed8FileLikeE)
  - CThunk⟨mbed::SerialBase⟩::trampoline(mbed::SerialBase*, void*, void(mbed::SerialBase::**)(void*)) from .\build\serialbase.o(t._ZN6CThunkIN4mbed10SerialBaseEE10trampolineEPS1_PvPMS1_FvS4_E) referenced from .\build\serialbase.o(t._ZN6CThunkIN4mbed10SerialBaseEE4initEPS1_MS1_FvPvES4_)
  - thunk{-188} to mbed::Serial::lock() from .\build\serial.o(i._ZThn188_N4mbed6Serial4lockEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - thunk{-188} to mbed::Serial::_getc() from .\build\serial.o(i._ZThn188_N4mbed6Serial5_getcEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - thunk{-188} to mbed::Serial::_putc(int) from .\build\serial.o(i._ZThn188_N4mbed6Serial5_putcEi) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - thunk{-188} to mbed::Serial::unlock() from .\build\serial.o(i._ZThn188_N4mbed6Serial6unlockEv) referenced from .\build\serial.o(.constdata__ZTVN4mbed6SerialE)
  - ___backspace$unlocked from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(backspace.o)(.text) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char_file_locked.o)(.text)
  - __cxa_pure_virtual from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\cpplib\cpprt_w.l(pure_virt.o)(i.__cxa_pure_virtual) referenced 4 times from .\build\filehandle.o(.constdata__ZTVN4mbed10FileHandleE)
  - __cxa_pure_virtual from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\cpplib\cpprt_w.l(pure_virt.o)(i.__cxa_pure_virtual) referenced 2 times from .\build\stream.o(.constdata__ZTVN4mbed6StreamE)
  - __cxa_pure_virtual from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\cpplib\cpprt_w.l(pure_virt.o)(i.__cxa_pure_virtual) referenced 4 times from .\build\stream.o(.constdata__ZTVN4mbed8FileLikeE)
  - __main from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__main.o)(!!!main) referenced from .\build\startup_stm32f401xe.o(.text)
  - __sti___7_SPI_cpp_ab1f1164 from .\build\spi.o(i.__sti___7_SPI_cpp_ab1f1164) referenced from .\build\spi.o(.init_array)
  - __sti___8_main_cpp_State from .\build\main.o(i.__sti___8_main_cpp_State) referenced from .\build\main.o(.init_array)
  - _fgetc$unlocked from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fgetc.o)(i.fgetc) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char_file_locked.o)(.text)
  - _fputc$unlocked from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fputc.o)(i.fputc) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char_file_locked.o)(.text)
  - _get_lc_ctype from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(lc_ctype_c.o)(locale$$code) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_ctype_table.o)(.text)
  - _printf_input_char from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char_common.o)(.text) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char_common.o)(.text)
  - _scanf_char_input from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char.o)(.text) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char.o)(.text)
  - _snputc from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_snputc.o)(.text) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(vsnprintf.o)(.text)
  - isspace from .\build\greentea_test_env.o(i.isspace) referenced from D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char.o)(.text)
  - osRtxIdleThread from .\build\mbed_rtx_handlers.o(i.osRtxIdleThread) referenced from .\build\rtx_kernel.o(i.svcRtxKernelStart)
  - osRtxMessageQueuePostProcess from .\build\rtx_msgqueue.o(i.osRtxMessageQueuePostProcess) referenced from .\build\rtx_msgqueue.o(i.svcRtxMessageQueueNew)
  - osRtxThreadPostProcess from .\build\rtx_thread.o(i.osRtxThreadPostProcess) referenced from .\build\rtx_thread.o(i.svcRtxThreadNew)
  - osRtxTimerThread from .\build\rtx_timer.o(i.osRtxTimerThread) referenced from .\build\rtx_kernel.o(i.svcRtxKernelStart)
  - osRtxTimerTick from .\build\rtx_timer.o(i.osRtxTimerTick) referenced from .\build\rtx_timer.o(i.osRtxTimerThread)
  - osThreadExit from .\build\rtx_thread.o(i.osThreadExit) referenced from .\build\rtx_thread.o(i.svcRtxThreadNew)
  - pre_main from .\build\mbed_boot.o(i.pre_main) referenced from .\build\mbed_boot.o(i.mbed_start_main)
  - svcRtxDelay from .\build\rtx_delay.o(i.svcRtxDelay) referenced from .\build\rtx_delay.o(i.osDelay)
  - svcRtxKernelGetState from .\build\rtx_kernel.o(i.svcRtxKernelGetState) referenced from .\build\rtx_kernel.o(i.osKernelGetState)
  - svcRtxKernelInitialize from .\build\rtx_kernel.o(i.svcRtxKernelInitialize) referenced from .\build\rtx_kernel.o(i.osKernelInitialize)
  - svcRtxKernelStart from .\build\rtx_kernel.o(i.svcRtxKernelStart) referenced from .\build\rtx_kernel.o(i.osKernelStart)
  - svcRtxMessageQueueGet from .\build\rtx_msgqueue.o(i.svcRtxMessageQueueGet) referenced from .\build\rtx_msgqueue.o(i.osMessageQueueGet)
  - svcRtxMessageQueueNew from .\build\rtx_msgqueue.o(i.svcRtxMessageQueueNew) referenced from .\build\rtx_msgqueue.o(i.osMessageQueueNew)
  - svcRtxMessageQueuePut from .\build\rtx_msgqueue.o(i.svcRtxMessageQueuePut) referenced from .\build\rtx_msgqueue.o(i.osMessageQueuePut)
  - svcRtxMutexAcquire from .\build\rtx_mutex.o(i.svcRtxMutexAcquire) referenced from .\build\rtx_mutex.o(i.osMutexAcquire)
  - svcRtxMutexDelete from .\build\rtx_mutex.o(i.svcRtxMutexDelete) referenced from .\build\rtx_mutex.o(i.osMutexDelete)
  - svcRtxMutexNew from .\build\rtx_mutex.o(i.svcRtxMutexNew) referenced from .\build\rtx_mutex.o(i.osMutexNew)
  - svcRtxMutexRelease from .\build\rtx_mutex.o(i.svcRtxMutexRelease) referenced from .\build\rtx_mutex.o(i.osMutexRelease)
  - svcRtxThreadExit from .\build\rtx_thread.o(i.svcRtxThreadExit) referenced from .\build\rtx_thread.o(i.osThreadExit)
  - svcRtxThreadGetId from .\build\rtx_thread.o(i.svcRtxThreadGetId) referenced from .\build\rtx_thread.o(i.osThreadGetId)
  - svcRtxThreadGetName from .\build\rtx_thread.o(i.svcRtxThreadGetName) referenced from .\build\rtx_thread.o(i.osThreadGetName)
  - svcRtxThreadNew from .\build\rtx_thread.o(i.svcRtxThreadNew) referenced from .\build\rtx_thread.o(i.osThreadContextNew)
  - timer_irq_handler from .\build\hal_tick_32b.o(i.timer_irq_handler) referenced from .\build\hal_tick_32b.o(i.HAL_InitTick)
  - uart1_irq from .\build\serial_device.o(i.uart1_irq) referenced from .\build\serial_device.o(i.serial_irq_set)
  - uart2_irq from .\build\serial_device.o(i.uart2_irq) referenced from .\build\serial_device.o(i.serial_irq_set)
  - uart6_irq from .\build\serial_device.o(i.uart6_irq) referenced from .\build\serial_device.o(i.serial_irq_set)
  - us_ticker_clear_interrupt from .\build\us_ticker_32b.o(i.us_ticker_clear_interrupt) referenced from .\build\mbed_us_ticker_api.o(.constdata)
  - us_ticker_disable_interrupt from .\build\us_ticker_32b.o(i.us_ticker_disable_interrupt) referenced from .\build\mbed_us_ticker_api.o(.constdata)
  - us_ticker_fire_interrupt from .\build\us_ticker_32b.o(i.us_ticker_fire_interrupt) referenced from .\build\mbed_us_ticker_api.o(.constdata)
  - us_ticker_init from .\build\us_ticker_32b.o(i.us_ticker_init) referenced from .\build\mbed_us_ticker_api.o(.constdata)
  - us_ticker_read from .\build\us_ticker_32b.o(i.us_ticker_read) referenced from .\build\mbed_us_ticker_api.o(.constdata)
  - us_ticker_set_interrupt from .\build\us_ticker_32b.o(i.us_ticker_set_interrupt) referenced from .\build\mbed_us_ticker_api.o(.constdata)

  ### Global Symbols

  __main (Thumb, 8 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__main.o)(!!!main))
  [Stack]

  - Max Depth = 444 + Unknown Stack Size
  - Call Chain = __main ⇒ __rt_entry ⇒ mbed_start_main ⇒ error ⇒ mbed_error_vfprintf ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> __rt_entry
  - >> __scatterload

  __scatterload (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__scatter.o)(!!!scatter))
  [Called By]

  - >> __main

  __scatterload_rt2 (Thumb, 44 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__scatter.o)(!!!scatter), UNUSED)
  [Calls]

  - >> __rt_entry

  __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__scatter.o)(!!!scatter), UNUSED)

  __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__scatter.o)(!!!scatter), UNUSED)

  __decompress (Thumb, 90 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__dczerorl2.o)(!!dczerorl2), UNUSED)

  __decompress1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__dczerorl2.o)(!!dczerorl2), UNUSED)

  __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__scatter_zi.o)(!!handler_zi), UNUSED)

  _printf_n (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_n.o)(.ARM.Collect$$_printf_percent$$00000001))
  [Calls]

  - >> _printf_charcount

  _printf_percent (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_percent.o)(.ARM.Collect$$_printf_percent$$00000000))
  [Called By]

  - >> __printf

  _printf_p (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_p.o)(.ARM.Collect$$_printf_percent$$00000002))
  [Stack]

  - Max Depth = 64 + Unknown Stack Size
  - Call Chain = _printf_p ⇒ _printf_hex_ptr ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_hex_ptr

  _printf_f (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_f.o)(.ARM.Collect$$_printf_percent$$00000003))
  [Stack]

  - Max Depth = 320 + Unknown Stack Size
  - Call Chain = _printf_f ⇒ _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _printf_fp_dec

  _printf_e (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_e.o)(.ARM.Collect$$_printf_percent$$00000004))
  [Stack]

  - Max Depth = 320 + Unknown Stack Size
  - Call Chain = _printf_e ⇒ _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _printf_fp_dec

  _printf_g (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_g.o)(.ARM.Collect$$_printf_percent$$00000005))
  [Stack]

  - Max Depth = 320 + Unknown Stack Size
  - Call Chain = _printf_g ⇒ _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _printf_fp_dec

  _printf_a (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_a.o)(.ARM.Collect$$_printf_percent$$00000006))
  [Stack]

  - Max Depth = 112 + Unknown Stack Size
  - Call Chain = _printf_a ⇒ _printf_fp_hex ⇒ _printf_fp_hex_real ⇒ _printf_fp_infnan ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_hex

  _printf_ll (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_ll.o)(.ARM.Collect$$_printf_percent$$00000007))

  _printf_i (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_i.o)(.ARM.Collect$$_printf_percent$$00000008))
  [Stack]

  - Max Depth = 72 + Unknown Stack Size
  - Call Chain = _printf_i ⇒ _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_dec

  _printf_d (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_d.o)(.ARM.Collect$$_printf_percent$$00000009))
  [Stack]

  - Max Depth = 72 + Unknown Stack Size
  - Call Chain = _printf_d ⇒ _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_dec

  _printf_u (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_u.o)(.ARM.Collect$$_printf_percent$$0000000A))
  [Stack]

  - Max Depth = 72 + Unknown Stack Size
  - Call Chain = _printf_u ⇒ _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_dec

  _printf_o (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_o.o)(.ARM.Collect$$_printf_percent$$0000000B))
  [Stack]

  - Max Depth = 64 + Unknown Stack Size
  - Call Chain = _printf_o ⇒ _printf_int_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_oct

  _printf_x (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_x.o)(.ARM.Collect$$_printf_percent$$0000000C))
  [Stack]

  - Max Depth = 80 + Unknown Stack Size
  - Call Chain = _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_hex

  _printf_lli (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_lli.o)(.ARM.Collect$$_printf_percent$$0000000D))
  [Stack]

  - Max Depth = 72 + Unknown Stack Size
  - Call Chain = _printf_lli ⇒ _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_dec

  _printf_lld (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_lld.o)(.ARM.Collect$$_printf_percent$$0000000E))
  [Stack]

  - Max Depth = 72 + Unknown Stack Size
  - Call Chain = _printf_lld ⇒ _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_dec

  _printf_llu (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_llu.o)(.ARM.Collect$$_printf_percent$$0000000F))
  [Stack]

  - Max Depth = 72 + Unknown Stack Size
  - Call Chain = _printf_llu ⇒ _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_dec

  _printf_llo (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_llo.o)(.ARM.Collect$$_printf_percent$$00000010))
  [Stack]

  - Max Depth = 56 + Unknown Stack Size
  - Call Chain = _printf_llo ⇒ _printf_ll_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_ll_oct

  _printf_llx (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_llx.o)(.ARM.Collect$$_printf_percent$$00000011))
  [Stack]

  - Max Depth = 64 + Unknown Stack Size
  - Call Chain = _printf_llx ⇒ _printf_ll_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_ll_hex

  _printf_l (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_l.o)(.ARM.Collect$$_printf_percent$$00000012))

  _printf_c (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_c.o)(.ARM.Collect$$_printf_percent$$00000013))
  [Stack]

  - Max Depth = 40 + Unknown Stack Size
  - Call Chain = _printf_c ⇒ _printf_char ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_char

  _printf_s (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_s.o)(.ARM.Collect$$_printf_percent$$00000014))
  [Stack]

  - Max Depth = 40 + Unknown Stack Size
  - Call Chain = _printf_s ⇒ _printf_string ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_string

  _printf_lc (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_lc.o)(.ARM.Collect$$_printf_percent$$00000015))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _printf_wchar

  _printf_ls (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_ls.o)(.ARM.Collect$$_printf_percent$$00000016))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_ls ⇒ _printf_wstring ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _printf_wstring

  _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_percent_end.o)(.ARM.Collect$$_printf_percent$$00000017))

  __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit.o)(.ARM.Collect$$libinit$$00000000))
  [Called By]

  - >> pre_main

  __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000001))
  [Calls]

  - >> _fp_init

  __rt_lib_init_heap_2 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000005))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = __rt_lib_init_heap_2 ⇒ _init_alloc ⇒ __Heap_Initialize ⇒ _mutex_initialize ⇒ malloc ⇒ _malloc_internal ⇒ __Heap_Full ⇒ __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _init_alloc

  __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000004))

  __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000000A))

  __rt_lib_init_lc_common (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000000F))
  [Stack]

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

  __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000000E))

  __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000000C))

  __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000011))

  __rt_lib_init_lc_ctype_2 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000012))
  [Stack]

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

  __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000013))

  __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000015))

  __rt_lib_init_lc_numeric_2 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000016))
  [Stack]

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

  __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000001B))

  __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000021))

  __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000001F))

  __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000023))

  __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000017))

  __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000019))

  __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000001D))

  __rt_lib_init_stdio_2 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000024))
  [Stack]

  - Max Depth = 420 + Unknown Stack Size
  - Call Chain = __rt_lib_init_stdio_2 ⇒ _initio ⇒ freopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _initio

  __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000002E))

  __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$0000002C))

  __rt_lib_init_cpp_2 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000031))
  [Stack]

  - Max Depth = 16 + Unknown Stack Size
  - Call Chain = __rt_lib_init_cpp_2 ⇒ __cpp_initialize__aeabi_
  [Calls]
  - >> __cpp_initialize__aeabi_

  __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000030))

  __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000025))

  __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000032))

  __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libinit2.o)(.ARM.Collect$$libinit$$00000033))

  __asm___13_rtx_mempool_c_7914b4c7__atomic_wr8 (Thumb, 16 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __rt_lib_shutdown_heap_2 (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libshutdown2.o)(.ARM.Collect$$libshutdown$$0000000E))

  __rt_lib_shutdown_stdio_2 (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libshutdown2.o)(.ARM.Collect$$libshutdown$$00000003))

  __asm___13_rtx_mempool_c_7914b4c7__atomic_set32 (Thumb, 20 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_clr32 (Thumb, 22 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_chk32_all (Thumb, 38 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_chk32_any (Thumb, 34 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_inc32 (Thumb, 18 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_inc32_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text))
  [Called By]

  - >> osRtxMemoryPoolAlloc

  __asm___13_rtx_mempool_c_7914b4c7__atomic_inc16_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_inc16_lim (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_dec32_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text))
  [Called By]

  - >> osRtxMemoryPoolFree

  __asm___13_rtx_mempool_c_7914b4c7__atomic_dec16_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text), UNUSED)

  __asm___13_rtx_mempool_c_7914b4c7__atomic_link_get (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text))
  [Called By]

  - >> osRtxMemoryPoolAlloc

  __asm___13_rtx_mempool_c_7914b4c7__atomic_link_put (Thumb, 28 bytes, Stack size 0 bytes, .\build\rtx_mempool.o(.emb_text))
  [Calls]

  - >> __asm___13_rtx_mempool_c_7914b4c7__atomic_link_put
  [Called By]
  - >> osRtxMemoryPoolFree
  - >> __asm___13_rtx_mempool_c_7914b4c7__atomic_link_put

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_wr8 (Thumb, 16 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text))
  [Called By]

  - >> MessageQueueGet

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_set32 (Thumb, 20 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_clr32 (Thumb, 22 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_chk32_all (Thumb, 38 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_chk32_any (Thumb, 34 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_inc32 (Thumb, 18 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text))
  [Called By]

  - >> MessageQueuePut

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_inc32_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_inc16_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_inc16_lim (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_dec32_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text))
  [Called By]

  - >> MessageQueueGet

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_dec16_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_link_get (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)

  __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_link_put (Thumb, 28 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(.emb_text), UNUSED)
  [Calls]

  - >> __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_link_put
  [Called By]
  - >> __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_link_put

  __asm___12_rtx_system_c_024f2f18__atomic_wr8 (Thumb, 16 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_set32 (Thumb, 20 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_clr32 (Thumb, 22 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_chk32_all (Thumb, 38 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_chk32_any (Thumb, 34 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_inc32 (Thumb, 18 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_inc32_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_inc16_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text))
  [Called By]

  - >> isr_queue_put

  __asm___12_rtx_system_c_024f2f18__atomic_inc16_lim (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text))
  [Called By]

  - >> isr_queue_put
  - >> isr_queue_get

  __asm___12_rtx_system_c_024f2f18__atomic_dec32_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_dec16_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text))
  [Called By]

  - >> isr_queue_get

  __asm___12_rtx_system_c_024f2f18__atomic_link_get (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)

  __asm___12_rtx_system_c_024f2f18__atomic_link_put (Thumb, 28 bytes, Stack size 0 bytes, .\build\rtx_system.o(.emb_text), UNUSED)
  [Calls]

  - >> __asm___12_rtx_system_c_024f2f18__atomic_link_put
  [Called By]
  - >> __asm___12_rtx_system_c_024f2f18__atomic_link_put

  __asm___12_rtx_thread_c_add96be5__atomic_wr8 (Thumb, 16 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_set32 (Thumb, 20 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_clr32 (Thumb, 22 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_chk32_all (Thumb, 38 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text))
  [Called By]

  - >> ThreadFlagsCheck

  __asm___12_rtx_thread_c_add96be5__atomic_chk32_any (Thumb, 34 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text))
  [Called By]

  - >> ThreadFlagsCheck

  __asm___12_rtx_thread_c_add96be5__atomic_inc32 (Thumb, 18 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_inc32_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_inc16_lt (Thumb, 30 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_inc16_lim (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_dec32_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_dec16_nz (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_link_get (Thumb, 26 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)

  __asm___12_rtx_thread_c_add96be5__atomic_link_put (Thumb, 28 bytes, Stack size 0 bytes, .\build\rtx_thread.o(.emb_text), UNUSED)
  [Calls]

  - >> __asm___12_rtx_thread_c_add96be5__atomic_link_put
  [Called By]
  - >> __asm___12_rtx_thread_c_add96be5__atomic_link_put

  SVC_Handler (Thumb, 140 bytes, Stack size 0 bytes, .\build\irq_cm4f.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f401xe.o(RESET)

  _maybe_terminate_alloc (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(maybetermalloc2.o)(.emb_text), UNUSED)

  PendSV_Handler (Thumb, 16 bytes, Stack size 0 bytes, .\build\irq_cm4f.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = PendSV_Handler ⇒ osRtxPendSV_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxPendSV_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

  SysTick_Handler (Thumb, 16 bytes, Stack size 0 bytes, .\build\irq_cm4f.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = SysTick_Handler ⇒ osRtxTick_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxTick_Handler
  [Address Reference Count : 1]
  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, .\build\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, .\build\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, .\build\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, .\build\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, .\build\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, .\build\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, .\build\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, .\build\startup_stm32f401xe.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

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

  - startup_stm32f401xe.o(RESET)

  __rt_ctype_table (Thumb, 16 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_ctype_table.o)(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> __rt_locale
  [Called By]
  - >> isspace
  - >> _wcrtomb
  - >> _mbrtowc

  __aeabi_errno_addr (Thumb, 4 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_errno_addr_twolibspace.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __user_perthread_libspace
  [Called By]
  - >> handle_open_errors(int, unsigned)
  - >> _sys_write
  - >> _sys_seek
  - >> _sys_read
  - >> _sys_open
  - >> _sys_istty
  - >> _sys_flen
  - >> _sys_close
  - >> mbed::Stream::Stream__sub_object(const char*)
  - >> __set_errno
  - >> __read_errno
  - >> _ftell_internal
  - >> _fp_value

  __errno$twolibspace (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_errno_addr_twolibspace.o)(.text), UNUSED)

  __rt_errno_addr$twolibspace (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_errno_addr_twolibspace.o)(.text), UNUSED)

  _malloc_internal (Thumb, 130 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_alloc_mt.o)(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _malloc_internal ⇒ __Heap_Full ⇒ __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> Heap1_SizeAdjust
  - >> __Heap_Full
  [Called By]
  - >> malloc

  malloc (Thumb, 20 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_alloc_mt.o)(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = malloc ⇒ _malloc_internal ⇒ __Heap_Full ⇒ __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _malloc_internal
  - >> __rt_heap_descriptor
  [Called By]
  - >> _mutex_initialize
  - >> __flsbuf
  - >> __filbuf
  - >> fopen

  _free_internal (Thumb, 98 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_free_mt.o)(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  [Called By]
  - >> free
  - >> __Heap_ProvideMemory

  free (Thumb, 20 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_free_mt.o)(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = free ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _free_internal
  - >> __rt_heap_descriptor
  [Called By]
  - >> _terminateio
  - >> _fclose_internal

  vsnprintf (Thumb, 48 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(vsnprintf.o)(.text))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = vsnprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _sputc
  - >> _printf_char_common
  [Called By]
  - >> mbed_error_vfprintf

  __c89vfprintf (Thumb, 10 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(c89vfprintf.o)(.text))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = __c89vfprintf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _printf_char_file
  [Called By]
  - >> mbed::Stream::printf(const char*, ...)

  _printf_pre_padding (Thumb, 44 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_pad.o)(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_pre_padding
  [Called By]
  - >> _printf_str
  - >> _printf_wctomb
  - >> _printf_int_common
  - >> _printf_fp_infnan
  - >> _printf_fp_hex_real
  - >> _printf_fp_dec_real

  _printf_post_padding (Thumb, 34 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_pad.o)(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_post_padding
  [Called By]
  - >> _printf_str
  - >> _printf_wctomb
  - >> _printf_int_common
  - >> _printf_fp_infnan
  - >> _printf_fp_hex_real
  - >> _printf_fp_dec_real

  _printf_str (Thumb, 82 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_str.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_cs_common

  _printf_int_dec (Thumb, 104 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_dec.o)(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  - >> _printf_truncate_unsigned
  - >> _printf_truncate_signed
  [Called By]
  - >> _printf_u
  - >> _printf_d
  - >> _printf_i

  _printf_longlong_hex (Thumb, 86 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_hex_int_ll_ptr.o)(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  [Called By]
  - >> _printf_hex_ptr
  - >> _printf_ll_hex
  - >> _printf_int_hex

  _printf_int_hex (Thumb, 28 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_hex_int_ll_ptr.o)(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  - >> _printf_truncate_unsigned
  [Called By]
  - >> _printf_x

  _printf_ll_hex (Thumb, 12 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_hex_int_ll_ptr.o)(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = _printf_ll_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  [Called By]
  - >> _printf_llx

  _printf_hex_ptr (Thumb, 18 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_hex_int_ll_ptr.o)(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = _printf_hex_ptr ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  [Called By]
  - >> _printf_p

  __printf (Thumb, 388 bytes, Stack size 40 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__printf_flags_ss_wp.o)(.text))
  [Stack]

  - Max Depth = 40 + Unknown Stack Size
  - Call Chain = __printf
  [Calls]
  - >> _printf_percent
  - >> _is_digit
  [Called By]
  - >> _printf_char_common

  vfscanf (Thumb, 16 bytes, Stack size 40 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(vfscanf.o)(.text))
  [Stack]

  - Max Depth = 488
  - Call Chain = vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> __vfscanf_char_file
  [Called By]
  - >> mbed::Stream::scanf(const char*, ...)

  _scanf_int (Thumb, 332 bytes, Stack size 56 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf_int.o)(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _scanf_int
  [Calls]
  - >> _chval
  [Called By]
  - >> __vfscanf

  setbuf (Thumb, 20 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(setbuf.o)(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = setbuf ⇒ setvbuf ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> setvbuf
  [Called By]
  - >> mbed::mbed_set_unbuffered_stream(std::__FILE*)

  _fclose$unlocked (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fclose.o)(.text), UNUSED)

  _fclose_internal (Thumb, 76 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fclose.o)(.text))
  [Stack]

  - Max Depth = 356
  - Call Chain = _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _sys_close
  - >> free
  - >> _fflush
  - >> __aeabi_memclr4
  [Called By]
  - >> _terminateio
  - >> _freopen_locked
  - >> fclose

  fclose (Thumb, 46 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fclose_locked.o)(.text))
  [Stack]

  - Max Depth = 372
  - Call Chain = fclose ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> _fclose_internal
  [Called By]
  - >> mbed::Stream::~Stream__sub_object()

  _do_fflush (Thumb, 74 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fflush_locked.o)(.text))
  [Stack]

  - Max Depth = 348
  - Call Chain = _do_fflush ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> _fflush
  - >> _fseek
  [Called By]
  - >> fflush
  - >> _flushlinebuffered

  fflush (Thumb, 60 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fflush_locked.o)(.text))
  [Stack]

  - Max Depth = 372
  - Call Chain = fflush ⇒ _do_fflush ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> _do_fflush
  [Called By]
  - >> exit
  - >> mbed::Stream::printf(const char*, ...)
  - >> mbed::Stream::scanf(const char*, ...)

  freopen (Thumb, 42 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fopen_locked.o)(.text))
  [Stack]

  - Max Depth = 412
  - Call Chain = freopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> _freopen_locked
  [Called By]
  - >> _initio

  fopen (Thumb, 100 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fopen_locked.o)(.text))
  [Stack]

  - Max Depth = 412
  - Call Chain = fopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _mutex_initialize
  - >> _mutex_release
  - >> _mutex_acquire
  - >> malloc
  - >> __aeabi_memclr4
  - >> _freopen_locked
  [Called By]
  - >> mbed::mbed_fdopen(mbed::FileHandle*, const char*)

  strlen (Thumb, 62 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(strlen.o)(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = strlen
  [Called By]
  - >> mbed::FileBase::lookup(const char*, unsigned)

  strncmp (Thumb, 150 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(strncmp.o)(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strncmp
  [Called By]
  - >> mbed::FileBase::lookup(const char*, unsigned)

  __aeabi_memcpy (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memcpy_v6.o)(.text))
  [Called By]

  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> isrRtxMessageQueuePut
  - >> isrRtxMessageQueueGet

  __rt_memcpy (Thumb, 138 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memcpy_v6.o)(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy4

  _memcpy_lastbytes (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memcpy_v6.o)(.text), UNUSED)

  __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memcpy_w.o)(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_memcpy4
  [Called By]
  - >> serial_init
  - >> __rt_memcpy

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memcpy_w.o)(.text), UNUSED)

  __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memcpy_w.o)(.text), UNUSED)

  _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memcpy_w.o)(.text), UNUSED)

  __aeabi_memclr (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memclr.o)(.text))
  [Called By]

  - >> svcRtxMessageQueueNew

  __rt_memclr (Thumb, 68 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memclr.o)(.text), UNUSED)
  [Calls]

  - >> _memset_w

  _memset (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memclr.o)(.text), UNUSED)

  __aeabi_memclr4 (Thumb, 0 bytes, Stack size 4 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memclr_w.o)(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = __aeabi_memclr4
  [Called By]
  - >> svcRtxKernelInitialize
  - >> rtos::Mutex::constructor(const char*)
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)
  - >> mbed::Transaction⟨mbed::SPI⟩::Transaction()
  - >> __sti___8_main_cpp_State
  - >> _initio
  - >> fopen
  - >> _fclose_internal

  __aeabi_memclr8 (Thumb, 0 bytes, Stack size 4 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memclr_w.o)(.text), UNUSED)

  __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memclr_w.o)(.text), UNUSED)

  _memset_w (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_memclr_w.o)(.text), UNUSED)
  [Called By]

  - >> __rt_memclr

  strcmp (Thumb, 128 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(strcmpv7m.o)(.text))
  [Called By]

  - >> _sys_open
  - >> Ting_Config()
  - >> Ting_state(char*)
  - >> _get_lc_ctype
  - >> _get_lc_numeric

  __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(heapauxi.o)(.text), UNUSED)

  __rt_heap_escrow (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(heapauxi.o)(.text), UNUSED)

  __rt_heap_expand (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(heapauxi.o)(.text), UNUSED)

  __cpp_initialize__aeabi_ (Thumb, 26 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(init_aeabi.o)(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __cpp_initialize__aeabi_
  [Called By]
  - >> __rt_lib_init_cpp_2

  __aeabi_vec_dtor (Thumb, 34 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\cpplib\cpprt_w.l(aeabi_vec_dtor_noexceptions.o)(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_vec_dtor
  [Called By]
  - >> mbed::SerialBase::~SerialBase()
  - >> mbed::CircularBuffer⟨mbed::Transaction⟨mbed::SPI⟩, (unsigned)2, unsigned⟩::~CircularBuffer()

  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libspace.o)(.text), UNUSED)

  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(libspace.o)(.text))
  [Called By]

  - >> __rt_locale
  - >> __rt_heap_descriptor

  __rt_heap_descriptor (Thumb, 10 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_heap_descriptor_twolibspace.o)(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __rt_heap_descriptor
  [Calls]
  - >> __user_perproc_libspace
  [Called By]
  - >> free
  - >> malloc
  - >> _init_alloc
  - >> _terminate_alloc

  __rt_locale (Thumb, 10 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(rt_locale_twolibspace.o)(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __rt_locale
  [Calls]
  - >> __user_perproc_libspace
  [Called By]
  - >> __rt_ctype_table
  - >> __rt_lib_init_lc_common
  - >> _scanf_really_real
  - >> _printf_fp_dec_real

  __use_no_heap (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(hguard.o)(.text), UNUSED)

  __heap$guard (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(hguard.o)(.text), UNUSED)

  _terminate_user_alloc (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(init_alloc.o)(.text), UNUSED)

  _init_user_alloc (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(init_alloc.o)(.text), UNUSED)

  __Heap_Full (Thumb, 34 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(init_alloc.o)(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = __Heap_Full ⇒ __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __Heap_ProvideMemory
  [Called By]
  - >> _malloc_internal

  __Heap_Broken (Thumb, 6 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(init_alloc.o)(.text), UNUSED)
  [Calls]

  - >> __rt_SIGRTMEM

  _init_alloc (Thumb, 94 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(init_alloc.o)(.text))
  [Stack]

  - Max Depth = 152
  - Call Chain = _init_alloc ⇒ __Heap_Initialize ⇒ _mutex_initialize ⇒ malloc ⇒ _malloc_internal ⇒ __Heap_Full ⇒ __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __Heap_Initialize
  - >> __rt_heap_descriptor
  - >> __rt_SIGRTMEM
  - >> __Heap_ProvideMemory
  [Called By]
  - >> __rt_lib_init_heap_2

  __Heap_Initialize (Thumb, 14 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_init_mt.o)(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = __Heap_Initialize ⇒ _mutex_initialize ⇒ malloc ⇒ _malloc_internal ⇒ __Heap_Full ⇒ __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _mutex_initialize
  [Called By]
  - >> _init_alloc

  __Heap_DescSize (Thumb, 4 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_init_mt.o)(.text), UNUSED)

  _printf_truncate_signed (Thumb, 18 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_truncate.o)(.text))
  [Called By]

  - >> _printf_int_dec

  _printf_truncate_unsigned (Thumb, 18 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_truncate.o)(.text))
  [Called By]

  - >> _printf_int_hex
  - >> _printf_int_dec
  - >> _printf_int_oct

  _printf_int_common (Thumb, 178 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_intcommon.o)(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_longlong_hex
  - >> _printf_int_dec
  - >> _printf_longlong_oct
  - >> _printf_longlong_dec

  _printf_charcount (Thumb, 40 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_charcount.o)(.text))
  [Called By]

  - >> _printf_n

  _printf_char_common (Thumb, 32 bytes, Stack size 64 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char_common.o)(.text))
  [Stack]

  - Max Depth = 104 + Unknown Stack Size
  - Call Chain = _printf_char_common ⇒ __printf
  [Calls]
  - >> __printf
  [Called By]
  - >> vsnprintf
  - >> _printf_char_file

  _sputc (Thumb, 10 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_sputc.o)(.text))
  [Called By]

  - >> vsnprintf

  _snputc (Thumb, 16 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_snputc.o)(.text))
  [Address Reference Count : 1]

  - vsnprintf.o(.text)

  _printf_cs_common (Thumb, 20 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_str
  [Called By]
  - >> _printf_string
  - >> _printf_char

  _printf_char (Thumb, 16 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_char ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_cs_common
  [Called By]
  - >> _printf_c

  _printf_string (Thumb, 8 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_string ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_cs_common
  [Called By]
  - >> _printf_s

  _printf_wctomb (Thumb, 182 bytes, Stack size 56 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_wctomb.o)(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  - >> _wcrtomb
  [Called By]
  - >> _printf_lcs_common

  _printf_longlong_dec (Thumb, 108 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_longlong_dec.o)(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  - >> _ll_udiv10
  [Called By]
  - >> _printf_llu
  - >> _printf_lld
  - >> _printf_lli

  _printf_longlong_oct (Thumb, 68 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_oct_int_ll.o)(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  [Called By]
  - >> _printf_ll_oct
  - >> _printf_int_oct

  _printf_int_oct (Thumb, 24 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_oct_int_ll.o)(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = _printf_int_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_oct
  - >> _printf_truncate_unsigned
  [Called By]
  - >> _printf_o

  _printf_ll_oct (Thumb, 12 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_oct_int_ll.o)(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _printf_ll_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_oct
  [Called By]
  - >> _printf_llo

  _chval (Thumb, 28 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_chval.o)(.text))
  [Called By]

  - >> _scanf_int
  - >> _scanf_longlong
  - >> _scanf_really_hex_real

  _scanf_longlong (Thumb, 342 bytes, Stack size 56 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf_longlong.o)(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _scanf_longlong
  [Calls]
  - >> _chval
  [Called By]
  - >> __vfscanf

  _scanf_string (Thumb, 224 bytes, Stack size 56 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf_str.o)(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _scanf_string
  [Called By]
  - >> __vfscanf

  __vfscanf_char (Thumb, 24 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char.o)(.text))
  [Stack]

  - Max Depth = 424
  - Call Chain = __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> __vfscanf
  [Called By]
  - >> __vfscanf_char_file

  _scanf_mbtowc (Thumb, 276 bytes, Stack size 64 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf_mbtowc.o)(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _scanf_mbtowc ⇒ _mbrtowc ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _mbrtowc
  [Called By]
  - >> __vfscanf

  _scanf_wctomb (Thumb, 232 bytes, Stack size 64 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf_wctomb.o)(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _scanf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _wcrtomb
  - >> _scanf_wcharmap
  [Called By]
  - >> __vfscanf

  _scanf_wstring (Thumb, 208 bytes, Stack size 56 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf_wstr.o)(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = _scanf_wstring ⇒ _scanf_wcharmap
  [Calls]
  - >> _scanf_wcharmap
  [Called By]
  - >> __vfscanf

  _readbuf (Thumb, 54 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(filbuf.o)(.text), UNUSED)
  [Calls]

  - >> _sys_read
  - >> _seterr
  [Called By]
  - >> __filbuf

  _seteof (Thumb, 40 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(filbuf.o)(.text), UNUSED)
  [Called By]

  - >> __filbuf

  __filbuf (Thumb, 476 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(filbuf.o)(.text), UNUSED)
  [Calls]

  - >> _sys_seek
  - >> malloc
  - >> _deferredlazyseek
  - >> _fflush
  - >> _seterr
  - >> _seteof
  - >> _readbuf
  - >> _flushlinebuffered

  __filbuf_byte (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(filbuf.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __filbuf_byte
  [Called By]
  - >> _fgetc$unlocked

  __filbuf_wide (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(filbuf.o)(.text), UNUSED)

  __flsbuf (Thumb, 470 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(flsbuf.o)(.text), UNUSED)
  [Calls]

  - >> _sys_istty
  - >> _sys_flen
  - >> malloc
  - >> _deferredlazyseek
  - >> _writebuf
  - >> _seterr

  __flsbuf_byte (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(flsbuf.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __flsbuf_byte
  [Called By]
  - >> _fputc$unlocked

  __flsbuf_wide (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(flsbuf.o)(.text), UNUSED)

  _fseek (Thumb, 242 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fseek.o)(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _fseek ⇒ _sys_istty ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _sys_istty
  - >> _sys_flen
  - >> _seterr
  - >> _ftell_internal
  [Called By]
  - >> _freopen_locked
  - >> _do_fflush

  fseek (Thumb, 0 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fseek.o)(.text), UNUSED)

  _seterr (Thumb, 20 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(stdio.o)(.text))
  [Called By]

  - >> _writebuf
  - >> _fseek
  - >> __flsbuf
  - >> __filbuf
  - >> _readbuf

  _writebuf (Thumb, 84 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(stdio.o)(.text))
  [Stack]

  - Max Depth = 308
  - Call Chain = _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _sys_write
  - >> _sys_seek
  - >> _seterr
  [Called By]
  - >> _fflush
  - >> __flsbuf

  _fflush (Thumb, 70 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(stdio.o)(.text))
  [Stack]

  - Max Depth = 324
  - Call Chain = _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _writebuf
  [Called By]
  - >> _deferredlazyseek
  - >> __filbuf
  - >> _do_fflush
  - >> _fclose_internal

  _deferredlazyseek (Thumb, 60 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(stdio.o)(.text), UNUSED)
  [Calls]

  - >> _fflush
  [Called By]
  - >> __flsbuf
  - >> __filbuf

  setvbuf (Thumb, 104 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(setvbuf_locked.o)(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = setvbuf ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  [Called By]
  - >> _initio
  - >> setbuf

  _initio (Thumb, 240 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(initio_locked.o)(.text))
  [Stack]

  - Max Depth = 420
  - Call Chain = _initio ⇒ freopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _mutex_initialize
  - >> setvbuf
  - >> __aeabi_memclr4
  - >> freopen
  - >> __rt_SIGRTRED
  [Called By]
  - >> __rt_lib_init_stdio_2

  _terminateio (Thumb, 168 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(initio_locked.o)(.text), UNUSED)
  [Calls]

  - >> _mutex_release
  - >> _mutex_free
  - >> _mutex_acquire
  - >> free
  - >> _fclose_internal

  __rt_SIGPVFN (Thumb, 14 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_pvfn_outer.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __rt_SIGPVFN ⇒ __rt_SIGPVFN_inner ⇒ __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> __rt_SIGPVFN_inner
  - >> __sig_exit
  [Called By]
  - >> __cxa_pure_virtual

  __Heap_ProvideMemory (Thumb, 62 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_extend_mt.o)(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _free_internal
  [Called By]
  - >> _init_alloc
  - >> __Heap_Full

  _ll_udiv10 (Thumb, 138 bytes, Stack size 12 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(lludiv10.o)(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = _ll_udiv10
  [Called By]
  - >> _printf_longlong_dec
  - >> _fp_digits

  __lib_sel_fp_printf (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_fp_dec.o)(.text), UNUSED)

  _printf_fp_dec_real (Thumb, 620 bytes, Stack size 104 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_fp_dec.o)(.text))
  [Stack]

  - Max Depth = 320
  - Call Chain = _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  - >> __rt_locale
  - >> __ARM_fpclassify
  - >> _printf_fp_infnan
  - >> _fp_digits
  [Called By]
  - >> _printf_fp_dec

  _printf_fp_hex_real (Thumb, 754 bytes, Stack size 72 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_fp_hex.o)(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = _printf_fp_hex_real ⇒ _printf_fp_infnan ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  - >> __ARM_fpclassify
  - >> _printf_fp_infnan
  [Called By]
  - >> _printf_fp_hex

  _printf_char_file (Thumb, 58 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char_file_locked.o)(.text))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> _printf_char_common
  [Called By]
  - >> __c89vfprintf

  _printf_lcs_common (Thumb, 20 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_wchar.o)(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _printf_wctomb
  [Called By]
  - >> _printf_wstring
  - >> _printf_wchar

  _printf_wchar (Thumb, 16 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_wchar.o)(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _printf_lcs_common
  [Called By]
  - >> _printf_lc

  _printf_wstring (Thumb, 8 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_wchar.o)(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _printf_wstring ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> _printf_lcs_common
  [Called By]
  - >> _printf_ls

  __vfscanf (Thumb, 878 bytes, Stack size 96 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf.o)(.text))
  [Stack]

  - Max Depth = 424
  - Call Chain = __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _scanf_int
  - >> _scanf_wstring
  - >> _scanf_wctomb
  - >> _scanf_mbtowc
  - >> _scanf_string
  - >> _scanf_longlong
  - >> _scanf_real
  [Called By]
  - >> __vfscanf_char

  _scanf_really_real (Thumb, 668 bytes, Stack size 120 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_fp.o)(.text))
  [Stack]

  - Max Depth = 328
  - Call Chain = _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _is_digit
  - >> __rt_locale
  - >> __mathlib_narrow
  - >> _scanf_infnan
  - >> _scanf_hex_real
  - >> _fp_value
  [Called By]
  - >> _scanf_real

  __vfscanf_char_file (Thumb, 56 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char_file_locked.o)(.text))
  [Stack]

  - Max Depth = 448
  - Call Chain = __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> __vfscanf_char
  [Called By]
  - >> vfscanf

  _scanf_wcharmap (Thumb, 30 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_scanf_wcharmap.o)(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _scanf_wcharmap
  [Called By]
  - >> _scanf_wstring
  - >> _scanf_wctomb

  ___backspace$unlocked$orig (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(backspace.o)(.text), UNUSED)

  ___backspace$unlocked (Thumb, 70 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(backspace.o)(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ___backspace$unlocked
  [Calls]
  - >> _ungetc_internal
  [Address Reference Count : 1]
  - scanf_char_file_locked.o(.text)

  _ftell_internal (Thumb, 66 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(ftell.o)(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = _ftell_internal ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> _fseek

  ftell (Thumb, 0 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(ftell.o)(.text), UNUSED)

  _flushlinebuffered (Thumb, 84 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(flushlinebuffered_locked.o)(.text), UNUSED)
  [Calls]

  - >> _mutex_release
  - >> _mutex_acquire
  - >> _do_fflush
  [Called By]
  - >> __filbuf

  _mbrtowc (Thumb, 60 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_mbrtowc.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = _mbrtowc ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> __rt_ctype_table
  [Called By]
  - >> _scanf_mbtowc

  _wcrtomb (Thumb, 64 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_wcrtomb.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = _wcrtomb ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> __rt_ctype_table
  [Called By]
  - >> _scanf_wctomb
  - >> _printf_wctomb

  __sig_exit (Thumb, 10 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_exit.o)(.text))
  [Calls]

  - >> _sys_exit
  [Called By]
  - >> __rt_SIGPVFN
  - >> __rt_SIGRTMEM
  - >> __rt_SIGRTRED

  __rt_SIGRTRED (Thumb, 14 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_rtred_outer.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __rt_SIGRTRED ⇒ __rt_SIGRTRED_inner ⇒ __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> __rt_SIGRTRED_inner
  - >> __sig_exit
  [Called By]
  - >> _initio

  __rt_SIGRTMEM (Thumb, 14 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_rtmem_outer.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __rt_SIGRTMEM ⇒ __rt_SIGRTMEM_inner ⇒ __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> __rt_SIGRTMEM_inner
  - >> __sig_exit
  [Called By]
  - >> _init_alloc
  - >> __Heap_Broken

  __rt_SIGPVFN_inner (Thumb, 14 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_pvfn_inner.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __rt_SIGPVFN_inner ⇒ __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> __default_signal_display
  [Called By]
  - >> __rt_SIGPVFN

  _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_exit.o)(.text))
  [Called By]

  - >> __sig_exit

  _terminate_alloc (Thumb, 16 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(term_alloc.o)(.text), UNUSED)
  [Calls]

  - >> __rt_heap_descriptor
  - >> __Heap_Finalize

  _printf_fp_infnan (Thumb, 112 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_fp_infnan.o)(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_fp_infnan ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_fp_hex_real
  - >> _printf_fp_dec_real

  _btod_etento (Thumb, 216 bytes, Stack size 72 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(bigflt0.o)(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _btod_emul
  - >> _btod_ediv
  [Called By]
  - >> _fp_value
  - >> _fp_digits

  _ungetc_internal (Thumb, 60 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(ungetc.o)(.text))
  [Called By]

  - >> ___backspace$unlocked

  ungetc (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(ungetc.o)(.text), UNUSED)

  __default_signal_display (Thumb, 50 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_general.o)(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> _ttywrch
  [Called By]
  - >> __rt_SIGRTMEM_inner
  - >> __rt_SIGRTRED_inner
  - >> __rt_SIGPVFN_inner

  __rt_SIGRTRED_inner (Thumb, 14 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_rtred_inner.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __rt_SIGRTRED_inner ⇒ __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> __default_signal_display
  [Called By]
  - >> __rt_SIGRTRED

  __rt_SIGRTMEM_inner (Thumb, 22 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(defsig_rtmem_inner.o)(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __rt_SIGRTMEM_inner ⇒ __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> __default_signal_display
  [Called By]
  - >> __rt_SIGRTMEM

  _ttywrch (Thumb, 14 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_wrch.o)(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _ttywrch
  [Called By]
  - >> __default_signal_display

  __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(use_no_semi.o)(.text), UNUSED)

  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(use_no_semi.o)(.text), UNUSED)

  __Heap_Finalize (Thumb, 10 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_final_mt.o)(.text), UNUSED)
  [Calls]

  - >> _mutex_free
  [Called By]
  - >> _terminate_alloc

  __semihosting_library_function (Thumb, 0 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(indicate_semi.o)(.text), UNUSED)

  __read_errno (Thumb, 10 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_rserrno.o)(.text), UNUSED)
  [Calls]

  - >> __aeabi_errno_addr

  __set_errno (Thumb, 12 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_rserrno.o)(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = __set_errno ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> __hardfp_ldexp
  - >> __mathlib_narrow

  _scanf_really_hex_real (Thumb, 778 bytes, Stack size 80 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_hexfp.o)(.text))
  [Stack]

  - Max Depth = 184
  - Call Chain = _scanf_really_hex_real ⇒ __support_ldexp ⇒ __hardfp_ldexp ⇒ __set_errno ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _chval
  - >> __support_ldexp
  - >> __aeabi_llsl
  - >> __mathlib_narrow
  [Called By]
  - >> _scanf_hex_real

  _scanf_really_infnan (Thumb, 292 bytes, Stack size 72 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_infnan.o)(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _scanf_really_infnan
  [Called By]
  - >> _scanf_infnan

  __aeabi_llsl (Thumb, 0 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(llshl.o)(.text))
  [Called By]

  - >> _scanf_really_hex_real

  _ll_shift_l (Thumb, 38 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(llshl.o)(.text), UNUSED)

  _btod_d2e (Thumb, 62 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_d2e))
  [Calls]

  - >> _d2e_norm_op1
  [Called By]
  - >> _fp_digits

  _d2e_denorm_low (Thumb, 70 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_d2e_denorm_low))
  [Called By]

  - >> _d2e_norm_op1

  _d2e_norm_op1 (Thumb, 96 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_d2e_norm_op1))
  [Calls]

  - >> _d2e_denorm_low
  [Called By]
  - >> _btod_d2e

  __btod_div_common (Thumb, 696 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_div_common))
  [Stack]

  - Max Depth = 24
  - Call Chain = __btod_div_common
  [Called By]
  - >> _btod_edivd
  - >> _btod_ediv

  _e2d (Thumb, 80 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_e2d))
  [Stack]

  - Max Depth = 32
  - Call Chain = _e2d ⇒ _e2e
  [Calls]
  - >> _e2e
  [Called By]
  - >> _btod_emuld
  - >> _btod_edivd

  _e2e (Thumb, 198 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_e2e))
  [Stack]

  - Max Depth = 24
  - Call Chain = _e2e
  [Called By]
  - >> _btod_emul
  - >> _btod_ediv
  - >> _e2d

  _btod_ediv (Thumb, 40 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_ediv))
  [Stack]

  - Max Depth = 48
  - Call Chain = _btod_ediv ⇒ _e2e
  [Calls]
  - >> _e2e
  - >> __btod_div_common
  [Called By]
  - >> _btod_etento
  - >> _fp_digits

  _btod_edivd (Thumb, 40 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_edivd))
  [Stack]

  - Max Depth = 56
  - Call Chain = _btod_edivd ⇒ _e2d ⇒ _e2e
  [Calls]
  - >> _e2d
  - >> __btod_div_common
  [Called By]
  - >> _fp_value

  _btod_emul (Thumb, 40 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_emul))
  [Stack]

  - Max Depth = 48
  - Call Chain = _btod_emul ⇒ _e2e
  [Calls]
  - >> __btod_mult_common
  - >> _e2e
  [Called By]
  - >> _btod_etento
  - >> _fp_digits

  _btod_emuld (Thumb, 40 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_emuld))
  [Stack]

  - Max Depth = 56
  - Call Chain = _btod_emuld ⇒ _e2d ⇒ _e2e
  [Calls]
  - >> __btod_mult_common
  - >> _e2d
  [Called By]
  - >> _fp_value

  __btod_mult_common (Thumb, 580 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(btod.o)(CL$$btod_mult_common))
  [Stack]

  - Max Depth = 16
  - Call Chain = __btod_mult_common
  [Called By]
  - >> _btod_emuld
  - >> _btod_emul

  main (Thumb, 12 bytes, Stack size 8 bytes, .\build\mbed_boot.o(i.$Sub$$main))
  [Stack]

  - Max Depth = 536 + Unknown Stack Size
  - Call Chain = main ⇒ $Super$$main ⇒ Ting_Config() ⇒ mbed::Stream::scanf(const char*, ...) ⇒ vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> mbed_main
  - >> $Super$$main
  [Called By]
  - >> pre_main

  EvrRtxEventFlagsWaitTimeout (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxEventFlagsWaitTimeout))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxKernelError (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxKernelError))
  [Called By]

  - >> osKernelStart
  - >> svcRtxKernelStart
  - >> svcRtxKernelInitialize
  - >> osKernelInitialize

  EvrRtxKernelGetState (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxKernelGetState))
  [Called By]

  - >> svcRtxKernelGetState
  - >> osKernelGetState

  EvrRtxKernelInitialize (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxKernelInitialize))
  [Called By]

  - >> osKernelInitialize

  EvrRtxKernelInitializeCompleted (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxKernelInitializeCompleted))
  [Called By]

  - >> svcRtxKernelInitialize

  EvrRtxKernelStart (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxKernelStart))
  [Called By]

  - >> osKernelStart

  EvrRtxKernelStarted (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxKernelStarted))
  [Called By]

  - >> svcRtxKernelStart

  EvrRtxMemoryAlloc (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMemoryAlloc))
  [Called By]

  - >> osRtxMemoryAlloc

  EvrRtxMemoryBlockAlloc (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMemoryBlockAlloc))
  [Called By]

  - >> osRtxMemoryPoolAlloc

  EvrRtxMemoryBlockFree (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMemoryBlockFree))
  [Called By]

  - >> osRtxMemoryPoolFree

  EvrRtxMemoryBlockInit (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMemoryBlockInit))
  [Called By]

  - >> osRtxMemoryPoolInit

  EvrRtxMemoryFree (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMemoryFree))
  [Called By]

  - >> osRtxMemoryFree

  EvrRtxMemoryInit (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMemoryInit))
  [Called By]

  - >> osRtxMemoryInit

  EvrRtxMemoryPoolAllocTimeout (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMemoryPoolAllocTimeout))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxMessageQueueCreated (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueCreated))
  [Called By]

  - >> svcRtxMessageQueueNew

  EvrRtxMessageQueueError (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueError))
  [Called By]

  - >> osMessageQueueNew
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueNew
  - >> svcRtxMessageQueueGet
  - >> isrRtxMessageQueuePut
  - >> isrRtxMessageQueueGet

  EvrRtxMessageQueueGet (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueGet))
  [Called By]

  - >> osMessageQueueGet

  EvrRtxMessageQueueGetPending (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueGetPending))
  [Called By]

  - >> svcRtxMessageQueueGet

  EvrRtxMessageQueueGetTimeout (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueGetTimeout))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxMessageQueueInsertPending (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueInsertPending))
  [Called By]

  - >> isrRtxMessageQueuePut

  EvrRtxMessageQueueInserted (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueInserted))
  [Called By]

  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

  EvrRtxMessageQueueNew (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueNew))
  [Called By]

  - >> osMessageQueueNew

  EvrRtxMessageQueueNotInserted (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueNotInserted))
  [Called By]

  - >> svcRtxMessageQueuePut
  - >> isrRtxMessageQueuePut

  EvrRtxMessageQueueNotRetrieved (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueNotRetrieved))
  [Called By]

  - >> svcRtxMessageQueueGet
  - >> isrRtxMessageQueueGet

  EvrRtxMessageQueuePut (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueuePut))
  [Called By]

  - >> osMessageQueuePut

  EvrRtxMessageQueuePutPending (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueuePutPending))
  [Called By]

  - >> svcRtxMessageQueuePut

  EvrRtxMessageQueuePutTimeout (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueuePutTimeout))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxMessageQueueRetrieved (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMessageQueueRetrieved))
  [Called By]

  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> isrRtxMessageQueueGet

  EvrRtxMutexAcquire (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexAcquire))
  [Called By]

  - >> osMutexAcquire

  EvrRtxMutexAcquirePending (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexAcquirePending))
  [Called By]

  - >> svcRtxMutexAcquire

  EvrRtxMutexAcquireTimeout (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexAcquireTimeout))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxMutexAcquired (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexAcquired))
  [Called By]

  - >> svcRtxMutexRelease
  - >> svcRtxMutexAcquire
  - >> osRtxMutexOwnerRelease

  EvrRtxMutexCreated (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexCreated))
  [Called By]

  - >> svcRtxMutexNew

  EvrRtxMutexDelete (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexDelete))
  [Called By]

  - >> osMutexDelete

  EvrRtxMutexDestroyed (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexDestroyed))
  [Called By]

  - >> svcRtxMutexDelete

  EvrRtxMutexError (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexError))
  [Called By]

  - >> osMutexNew
  - >> osMutexRelease
  - >> osMutexAcquire
  - >> osMutexDelete
  - >> svcRtxMutexRelease
  - >> svcRtxMutexNew
  - >> svcRtxMutexDelete
  - >> svcRtxMutexAcquire

  EvrRtxMutexNew (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexNew))
  [Called By]

  - >> osMutexNew

  EvrRtxMutexNotAcquired (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexNotAcquired))
  [Called By]

  - >> svcRtxMutexAcquire

  EvrRtxMutexRelease (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexRelease))
  [Called By]

  - >> osMutexRelease

  EvrRtxMutexReleased (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxMutexReleased))
  [Called By]

  - >> svcRtxMutexRelease
  - >> osRtxMutexOwnerRelease

  EvrRtxSemaphoreAcquireTimeout (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxSemaphoreAcquireTimeout))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxThreadBlocked (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadBlocked))
  [Called By]

  - >> osRtxThreadWaitEnter

  EvrRtxThreadCreated (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadCreated))
  [Called By]

  - >> svcRtxThreadNew

  EvrRtxThreadDelay (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadDelay))
  [Called By]

  - >> osDelay

  EvrRtxThreadDelayCompleted (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadDelayCompleted))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxThreadDestroyed (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadDestroyed))
  [Called By]

  - >> svcRtxThreadExit

  EvrRtxThreadError (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadError))
  [Called By]

  - >> svcRtxThreadNew
  - >> osThreadExit
  - >> osThreadContextNew
  - >> osDelay

  EvrRtxThreadExit (Thumb, 16 bytes, Stack size 8 bytes, .\build\mbed_rtx_handlers.o(i.EvrRtxThreadExit))
  [Stack]

  - Max Depth = 16
  - Call Chain = EvrRtxThreadExit ⇒ osThreadGetId
  [Calls]
  - >> osThreadGetId
  - >> thread_terminate_hook
  [Called By]
  - >> osThreadExit

  EvrRtxThreadFlagsWaitCompleted (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadFlagsWaitCompleted))
  [Called By]

  - >> osRtxThreadPostProcess

  EvrRtxThreadFlagsWaitTimeout (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadFlagsWaitTimeout))
  [Called By]

  - >> osRtxThreadDelayTick

  EvrRtxThreadGetId (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadGetId))
  [Called By]

  - >> osThreadGetId
  - >> svcRtxThreadGetId

  EvrRtxThreadGetName (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadGetName))
  [Called By]

  - >> osThreadGetName
  - >> svcRtxThreadGetName

  EvrRtxThreadJoined (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadJoined))
  [Called By]

  - >> svcRtxThreadExit

  EvrRtxThreadNew (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadNew))
  [Called By]

  - >> osThreadContextNew

  EvrRtxThreadSwitch (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadSwitch))
  [Called By]

  - >> osRtxThreadSwitch

  EvrRtxThreadUnblocked (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxThreadUnblocked))
  [Called By]

  - >> osRtxThreadDelayTick
  - >> osRtxThreadWaitExit

  EvrRtxTimerCallback (Thumb, 2 bytes, Stack size 0 bytes, .\build\rtx_evr.o(i.EvrRtxTimerCallback))
  [Called By]

  - >> osRtxTimerThread

  HAL_DMA_Abort_IT (Thumb, 40 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_dma.o(i.HAL_DMA_Abort_IT))
  [Called By]

  - >> HAL_UART_IRQHandler

  HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal.o(i.HAL_GetTick))
  [Called By]

  - >> HAL_RCC_OscConfig
  - >> HAL_RCC_ClockConfig

  HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal.o(i.HAL_IncTick))
  [Called By]

  - >> timer_irq_handler

  HAL_Init (Thumb, 48 bytes, Stack size 8 bytes, .\build\stm32f4xx_hal.o(i.HAL_Init))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> HAL_InitTick
  - >> HAL_MspInit
  [Called By]
  - >> mbed_sdk_init

  HAL_InitTick (Thumb, 254 bytes, Stack size 40 bytes, .\build\hal_tick_32b.o(i.HAL_InitTick))
  [Stack]

  - Max Depth = 64
  - Call Chain = HAL_InitTick ⇒ HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> HAL_TIM_OC_Start
  - >> HAL_TIM_OC_Init
  - >> HAL_RCC_GetPCLK1Freq
  - >> HAL_RCC_GetClockConfig
  [Called By]
  - >> HAL_Init
  - >> HAL_RCC_ClockConfig

  HAL_MspInit (Thumb, 2 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_msp_template.o(i.HAL_MspInit))
  [Called By]

  - >> HAL_Init

  HAL_PWR_EnterSLEEPMode (Thumb, 28 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_pwr.o(i.HAL_PWR_EnterSLEEPMode))
  [Called By]

  - >> hal_sleep

  HAL_PWR_EnterSTOPMode (Thumb, 54 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_pwr.o(i.HAL_PWR_EnterSTOPMode))
  [Called By]

  - >> hal_deepsleep

  HAL_RCC_ClockConfig (Thumb, 446 bytes, Stack size 16 bytes, .\build\stm32f4xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
  [Stack]

  - Max Depth = 80
  - Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> HAL_InitTick
  - >> HAL_GetTick
  - >> HAL_RCC_GetSysClockFreq
  [Called By]
  - >> SetSysClock_PLL_HSI
  - >> SetSysClock_PLL_HSE

  HAL_RCC_GetClockConfig (Thumb, 58 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_rcc.o(i.HAL_RCC_GetClockConfig))
  [Called By]

  - >> HAL_InitTick

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

  - >> HAL_RCC_GetPCLK1Freq
  - >> HAL_RCC_GetPCLK2Freq

  HAL_RCC_GetPCLK1Freq (Thumb, 36 bytes, Stack size 4 bytes, .\build\stm32f4xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_RCC_GetPCLK1Freq
  [Calls]
  - >> HAL_RCC_GetHCLKFreq
  [Called By]
  - >> HAL_InitTick
  - >> UART_SetConfig

  HAL_RCC_GetPCLK2Freq (Thumb, 36 bytes, Stack size 4 bytes, .\build\stm32f4xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_RCC_GetPCLK2Freq
  [Calls]
  - >> HAL_RCC_GetHCLKFreq
  [Called By]
  - >> UART_SetConfig

  HAL_RCC_GetSysClockFreq (Thumb, 168 bytes, Stack size 16 bytes, .\build\stm32f4xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_RCC_GetSysClockFreq
  [Called By]
  - >> HAL_RCC_ClockConfig

  HAL_RCC_OscConfig (Thumb, 1090 bytes, Stack size 16 bytes, .\build\stm32f4xx_hal_rcc.o(i.HAL_RCC_OscConfig))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_RCC_OscConfig
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> SetSysClock_PLL_HSI
  - >> SetSysClock_PLL_HSE

  HAL_ResumeTick (Thumb, 18 bytes, Stack size 0 bytes, .\build\hal_tick_32b.o(i.HAL_ResumeTick))
  [Called By]

  - >> hal_sleep
  - >> hal_deepsleep

  HAL_SuspendTick (Thumb, 18 bytes, Stack size 0 bytes, .\build\hal_tick_32b.o(i.HAL_SuspendTick))
  [Called By]

  - >> hal_sleep
  - >> hal_deepsleep

  HAL_TIM_OC_Init (Thumb, 52 bytes, Stack size 8 bytes, .\build\stm32f4xx_hal_tim.o(i.HAL_TIM_OC_Init))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_TIM_OC_Init
  [Calls]
  - >> HAL_TIM_OC_MspInit
  - >> TIM_Base_SetConfig
  [Called By]
  - >> HAL_InitTick

  HAL_TIM_OC_MspInit (Thumb, 2 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_tim.o(i.HAL_TIM_OC_MspInit))
  [Called By]

  - >> HAL_TIM_OC_Init

  HAL_TIM_OC_Start (Thumb, 60 bytes, Stack size 12 bytes, .\build\stm32f4xx_hal_tim.o(i.HAL_TIM_OC_Start))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> TIM_CCxChannelCmd
  [Called By]
  - >> HAL_InitTick

  HAL_UART_ErrorCallback (Thumb, 76 bytes, Stack size 8 bytes, .\build\serial_device.o(i.HAL_UART_ErrorCallback))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_UART_ErrorCallback
  [Called By]
  - >> HAL_UART_IRQHandler
  - >> UART_DMAAbortOnError

  HAL_UART_IRQHandler (Thumb, 326 bytes, Stack size 32 bytes, .\build\stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler))
  [Stack]

  - Max Depth = 48
  - Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT
  [Calls]
  - >> HAL_UART_ErrorCallback
  - >> HAL_DMA_Abort_IT
  - >> UART_Transmit_IT
  - >> UART_Receive_IT
  - >> UART_EndTransmit_IT
  - >> UART_EndRxTransfer
  [Called By]
  - >> serial_irq_handler_asynch

  HAL_UART_Init (Thumb, 114 bytes, Stack size 8 bytes, .\build\stm32f4xx_hal_uart.o(i.HAL_UART_Init))
  [Stack]

  - Max Depth = 36
  - Call Chain = HAL_UART_Init ⇒ UART_SetConfig ⇒ HAL_RCC_GetPCLK1Freq
  [Calls]
  - >> HAL_UART_MspInit
  - >> UART_SetConfig
  [Called By]
  - >> init_uart

  HAL_UART_MspInit (Thumb, 2 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_uart.o(i.HAL_UART_MspInit))
  [Called By]

  - >> HAL_UART_Init

  HAL_UART_RxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_uart.o(i.HAL_UART_RxCpltCallback))
  [Called By]

  - >> UART_Receive_IT

  HAL_UART_TxCpltCallback (Thumb, 20 bytes, Stack size 0 bytes, .\build\serial_device.o(i.HAL_UART_TxCpltCallback))
  [Called By]

  - >> UART_EndTransmit_IT

  SetSysClock (Thumb, 26 bytes, Stack size 8 bytes, .\build\system_clock.o(i.SetSysClock))
  [Stack]

  - Max Depth = 168
  - Call Chain = SetSysClock ⇒ SetSysClock_PLL_HSI ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> SetSysClock_PLL_HSI
  - >> SetSysClock_PLL_HSE
  [Called By]
  - >> mbed_sdk_init
  - >> hal_deepsleep

  SetSysClock_PLL_HSE (Thumb, 172 bytes, Stack size 80 bytes, .\build\system_clock.o(i.SetSysClock_PLL_HSE))
  [Stack]

  - Max Depth = 160
  - Call Chain = SetSysClock_PLL_HSE ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> HAL_RCC_OscConfig
  - >> HAL_RCC_ClockConfig
  [Called By]
  - >> SetSysClock

  SetSysClock_PLL_HSI (Thumb, 168 bytes, Stack size 80 bytes, .\build\system_clock.o(i.SetSysClock_PLL_HSI))
  [Stack]

  - Max Depth = 160
  - Call Chain = SetSysClock_PLL_HSI ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> HAL_RCC_OscConfig
  - >> HAL_RCC_ClockConfig
  [Called By]
  - >> SetSysClock

  Set_GPIO_Clock (Thumb, 254 bytes, Stack size 16 bytes, .\build\gpio_api.o(i.Set_GPIO_Clock))
  [Stack]

  - Max Depth = 16 + In Cycle
  - Call Chain = Set_GPIO_Clock ⇒ error (Cycle)
  [Calls]
  - >> error
  [Called By]
  - >> pin_mode
  - >> pin_function
  - >> gpio_init

  SystemCoreClockUpdate (Thumb, 170 bytes, Stack size 16 bytes, .\build\system_stm32f4xx.o(i.SystemCoreClockUpdate))
  [Stack]

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

  SystemInit (Thumb, 82 bytes, Stack size 0 bytes, .\build\system_clock.o(i.SystemInit))
  [Address Reference Count : 1]

  - startup_stm32f401xe.o(.text)

  TIM_Base_SetConfig (Thumb, 148 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_tim.o(i.TIM_Base_SetConfig))
  [Called By]

  - >> HAL_TIM_OC_Init

  TIM_CCxChannelCmd (Thumb, 28 bytes, Stack size 12 bytes, .\build\stm32f4xx_hal_tim.o(i.TIM_CCxChannelCmd))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_CCxChannelCmd
  [Called By]
  - >> HAL_TIM_OC_Start

  Ting_state(char*) (Thumb, 182 bytes, Stack size 8 bytes, .\build\main.o(i._Z10Ting_statePc))
  [Stack]

  - Max Depth = 528 + Unknown Stack Size
  - Call Chain = Ting_state(char*) ⇒ mbed::Stream::scanf(const char*, ...) ⇒ vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> mbed::Stream::printf(const char*, ...)
  - >> mbed::Stream::scanf(const char*, ...)
  - >> strcmp
  [Called By]
  - >> $Super$$main

  Ting_Config() (Thumb, 260 bytes, Stack size 8 bytes, .\build\main.o(i._Z11Ting_Configv))
  [Stack]

  - Max Depth = 528 + Unknown Stack Size
  - Call Chain = Ting_Config() ⇒ mbed::Stream::scanf(const char*, ...) ⇒ vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> wait
  - >> mbed::Stream::printf(const char*, ...)
  - >> mbed::Stream::scanf(const char*, ...)
  - >> mbed::DigitalOut::operator int()
  - >> mbed::DigitalOut::operator =(int)
  - >> strcmp
  [Called By]
  - >> $Super$$main

  mbed::DigitalOut::operator =(int) (Thumb, 30 bytes, Stack size 12 bytes, .\build\main.o(i._ZN4mbed10DigitalOutaSEi))
  [Stack]

  - Max Depth = 12
  - Call Chain = mbed::DigitalOut::operator =(int)
  [Called By]
  - >> Ting_Config()

  mbed::DigitalOut::operator int() (Thumb, 26 bytes, Stack size 0 bytes, .\build\main.o(i._ZN4mbed10DigitalOutcviEv))
  [Called By]

  - >> Ting_Config()

  mbed::FileHandle::size() (Thumb, 56 bytes, Stack size 16 bytes, .\build\filehandle.o(i._ZN4mbed10FileHandle4sizeEv))
  [Stack]

  - Max Depth = 16
  - Call Chain = mbed::FileHandle::size()
  [Address Reference Count : 2]
  - filehandle.o(.constdata__ZTVN4mbed10FileHandleE)
  - stream.o(.constdata__ZTVN4mbed8FileLikeE)

  mbed::FileHandle::isatty() (Thumb, 6 bytes, Stack size 0 bytes, .\build\filehandle.o(i._ZN4mbed10FileHandle6isattyEv))
  [Address Reference Count : 2]

  - filehandle.o(.constdata__ZTVN4mbed10FileHandleE)
  - stream.o(.constdata__ZTVN4mbed8FileLikeE)

  mbed::SerialBase::_base_getc() (Thumb, 14 bytes, Stack size 8 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBase10_base_getcEv))
  [Stack]

  - Max Depth = 36
  - Call Chain = mbed::SerialBase::_base_getc() ⇒ serial_getc ⇒ serial_readable
  [Calls]
  - >> serial_getc
  [Called By]
  - >> mbed::Serial::_getc()

  mbed::SerialBase::_base_putc(int) (Thumb, 20 bytes, Stack size 16 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBase10_base_putcEi))
  [Stack]

  - Max Depth = 48
  - Call Chain = mbed::SerialBase::_base_putc(int) ⇒ serial_putc ⇒ serial_writable
  [Calls]
  - >> serial_putc
  [Called By]
  - >> mbed::Serial::_putc(int)

  mbed::SerialBase::_irq_handler(unsigned, SerialIrq) (Thumb, 74 bytes, Stack size 24 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBase12_irq_handlerEj9SerialIrq))
  [Stack]

  - Max Depth = 228
  - Call Chain = mbed::SerialBase::_irq_handler(unsigned, SerialIrq) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> mbed::Callback⟨void()⟩::operator bool() const
  [Address Reference Count : 1]
  - serialbase.o(i._ZN4mbed10SerialBaseC1E7PinNameS1_i)

  mbed::SerialBase::interrupt_handler_asynch() (Thumb, 94 bytes, Stack size 24 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBase24interrupt_handler_asynchEv))
  [Stack]

  - Max Depth = 244
  - Call Chain = mbed::SerialBase::interrupt_handler_asynch() ⇒ mbed::Callback⟨void(int)⟩::call(int) const ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> sleep_manager_unlock_deep_sleep
  - >> mbed::Callback⟨void(int)⟩::operator bool() const
  - >> mbed::Callback⟨void(int)⟩::call(int) const
  - >> serial_irq_handler_asynch
  [Address Reference Count : 1]
  - serialbase.o(.constdata)

  mbed::SerialBase::lock() (Thumb, 2 bytes, Stack size 0 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBase4lockEv))
  [Address Reference Count : 1]

  - serialbase.o(.constdata__ZTVN4mbed10SerialBaseE)

  mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType) (Thumb, 156 bytes, Stack size 40 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBase6attachENS_8CallbackIFvvEEENS0_7IrqTypeE))
  [Stack]

  - Max Depth = 252
  - Call Chain = mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType) ⇒ core_util_critical_section_exit ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> mbed::Callback⟨void()⟩::~Callback()
  - >> mbed::Callback⟨void()⟩::Callback(void(*)())
  - >> sleep_manager_lock_deep_sleep
  - >> mbed::Callback⟨void()⟩::operator bool() const
  - >> sleep_manager_unlock_deep_sleep
  - >> serial_irq_set
  - >> mbed::Callback⟨void()⟩::operator =(const mbed::Callback⟨void()⟩&)
  [Called By]
  - >> mbed::SerialBase::~SerialBase()

  mbed::SerialBase::unlock() (Thumb, 2 bytes, Stack size 0 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBase6unlockEv))
  [Address Reference Count : 1]

  - serialbase.o(.constdata__ZTVN4mbed10SerialBaseE)

  mbed::SerialBase::SerialBase(PinName, PinName, int) (Thumb, 200 bytes, Stack size 48 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBaseC1E7PinNameS1_i))
  [Stack]

  - Max Depth = 284
  - Call Chain = mbed::SerialBase::SerialBase(PinName, PinName, int) ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed::Callback⟨void()⟩::~Callback()
  - >> mbed::Callback⟨void()⟩::Callback(void(*)())
  - >> serial_init
  - >> serial_baud
  - >> CThunk⟨mbed::SerialBase⟩::init(mbed::SerialBase*, void(mbed::SerialBase::*)(void*), void*)
  - >> mbed::Callback⟨void(int)⟩::Callback(void(*)(int))
  - >> serial_irq_handler
  - >> mbed::Callback⟨void()⟩::operator =(const mbed::Callback⟨void()⟩&)
  - >> __aeabi_vec_ctor_nocookie_nodtor
  - >> __aeabi_memclr4
  [Called By]
  - >> mbed::Serial::Serial(PinName, PinName, const char*, int)

  mbed::SerialBase::SerialBase__sub_object(PinName, PinName, int) (Thumb, 0 bytes, Stack size 48 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBaseC1E7PinNameS1_i), UNUSED)

  mbed::SerialBase::~SerialBase() (Thumb, 100 bytes, Stack size 32 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBaseD1Ev))
  [Stack]

  - Max Depth = 284
  - Call Chain = mbed::SerialBase::~SerialBase() ⇒ mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType) ⇒ core_util_critical_section_exit ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed::Callback⟨void()⟩::~Callback()
  - >> mbed::Callback⟨void()⟩::Callback(void(*)())
  - >> mbed::Callback⟨void(int)⟩::~Callback()
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)
  - >> __aeabi_vec_dtor
  [Called By]
  - >> mbed::Serial::~Serial()
  [Address Reference Count : 1]
  - serialbase.o(.constdata__ZTVN4mbed10SerialBaseE)

  mbed::SerialBase::~SerialBase__sub_object() (Thumb, 0 bytes, Stack size 32 bytes, .\build\serialbase.o(i._ZN4mbed10SerialBaseD1Ev), UNUSED)

  mbed::mbed_fdopen(mbed::FileHandle*, const char*) (Thumb, 48 bytes, Stack size 24 bytes, .\build\mbed_retarget.o(i._ZN4mbed11mbed_fdopenEPNS_10FileHandleEPKc))
  [Stack]

  - Max Depth = 436
  - Call Chain = mbed::mbed_fdopen(mbed::FileHandle*, const char*) ⇒ fopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed::mbed_set_unbuffered_stream(std::__FILE*)
  - >> fopen
  [Called By]
  - >> mbed::fdopen(mbed::FileHandle*, const char*)

  mbed::transaction_t::transaction_t() (Thumb, 22 bytes, Stack size 8 bytes, .\build\spi.o(i._ZN4mbed13transaction_tC1Ev))
  [Stack]

  - Max Depth = 16
  - Call Chain = mbed::transaction_t::transaction_t() ⇒ mbed::Callback⟨void(int)⟩::Callback(void(*)(int))
  [Calls]
  - >> mbed::Callback⟨void(int)⟩::Callback(void(*)(int))
  [Called By]
  - >> mbed::Transaction⟨mbed::SPI⟩::Transaction()

  mbed::transaction_t::transaction_t__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\spi.o(i._ZN4mbed13transaction_tC1Ev), UNUSED)

  mbed::transaction_t::~transaction_t() (Thumb, 20 bytes, Stack size 8 bytes, .\build\spi.o(i._ZN4mbed13transaction_tD1Ev))
  [Stack]

  - Max Depth = 16
  - Call Chain = mbed::transaction_t::~transaction_t() ⇒ mbed::Callback⟨void(int)⟩::~Callback()
  [Calls]
  - >> mbed::Callback⟨void(int)⟩::~Callback()
  [Called By]
  - >> mbed::Transaction⟨mbed::SPI⟩::~Transaction()

  mbed::transaction_t::~transaction_t__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\spi.o(i._ZN4mbed13transaction_tD1Ev), UNUSED)

  mbed::remove_filehandle(mbed::FileHandle*) (Thumb, 62 bytes, Stack size 16 bytes, .\build\mbed_retarget.o(i._ZN4mbed17remove_filehandleEPNS_10FileHandleE))
  [Stack]

  - Max Depth = 268
  - Call Chain = mbed::remove_filehandle(mbed::FileHandle*) ⇒ SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::unlock()
  - >> rtos::Mutex::lock(unsigned)
  - >> SingletonPtr⟨rtos::Mutex⟩::operator -⟩()
  [Called By]
  - >> mbed::FileBase::~FileBase()

  mbed::mbed_set_unbuffered_stream(std::__FILE*) (Thumb, 14 bytes, Stack size 8 bytes, .\build\mbed_retarget.o(i._ZN4mbed26mbed_set_unbuffered_streamEPSt6__FILE))
  [Stack]

  - Max Depth = 72
  - Call Chain = mbed::mbed_set_unbuffered_stream(std::__FILE*) ⇒ setbuf ⇒ setvbuf ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> setbuf
  [Called By]
  - >> mbed::mbed_fdopen(mbed::FileHandle*, const char*)
  - >> mbed::Stream::Stream__sub_object(const char*)

  mbed::Serial::lock() (Thumb, 18 bytes, Stack size 8 bytes, .\build\serial.o(i._ZN4mbed6Serial4lockEv))
  [Stack]

  - Max Depth = 40
  - Call Chain = mbed::Serial::lock() ⇒ rtos::Mutex::lock(unsigned) ⇒ osMutexAcquire
  [Calls]
  - >> rtos::Mutex::lock(unsigned)
  [Called By]
  - >> thunk{-188} to mbed::Serial::lock()
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  mbed::Serial::_getc() (Thumb, 12 bytes, Stack size 8 bytes, .\build\serial.o(i._ZN4mbed6Serial5_getcEv))
  [Stack]

  - Max Depth = 44
  - Call Chain = mbed::Serial::_getc() ⇒ mbed::SerialBase::_base_getc() ⇒ serial_getc ⇒ serial_readable
  [Calls]
  - >> mbed::SerialBase::_base_getc()
  [Called By]
  - >> thunk{-188} to mbed::Serial::_getc()
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  mbed::Serial::_putc(int) (Thumb, 16 bytes, Stack size 16 bytes, .\build\serial.o(i._ZN4mbed6Serial5_putcEi))
  [Stack]

  - Max Depth = 64
  - Call Chain = mbed::Serial::_putc(int) ⇒ mbed::SerialBase::_base_putc(int) ⇒ serial_putc ⇒ serial_writable
  [Calls]
  - >> mbed::SerialBase::_base_putc(int)
  [Called By]
  - >> thunk{-188} to mbed::Serial::_putc(int)
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  mbed::Serial::unlock() (Thumb, 14 bytes, Stack size 8 bytes, .\build\serial.o(i._ZN4mbed6Serial6unlockEv))
  [Stack]

  - Max Depth = 24
  - Call Chain = mbed::Serial::unlock() ⇒ rtos::Mutex::unlock() ⇒ osMutexRelease
  [Calls]
  - >> rtos::Mutex::unlock()
  [Called By]
  - >> thunk{-188} to mbed::Serial::unlock()
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  mbed::Serial::Serial(PinName, PinName, const char*, int) (Thumb, 84 bytes, Stack size 24 bytes, .\build\serial.o(i._ZN4mbed6SerialC1E7PinNameS1_PKci))
  [Stack]

  - Max Depth = 492 + Unknown Stack Size
  - Call Chain = mbed::Serial::Serial(PinName, PinName, const char*, int) ⇒ mbed::Stream::Stream__sub_object(const char*) ⇒ mbed::fdopen(mbed::FileHandle*, const char*) ⇒ mbed::mbed_fdopen(mbed::FileHandle*, const char*) ⇒ fopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::Mutex()
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)
  - >> mbed::Stream::Stream__sub_object(const char*)
  [Called By]
  - >> __sti___8_main_cpp_State

  mbed::Serial::Serial__sub_object(PinName, PinName, const char*, int) (Thumb, 0 bytes, Stack size 24 bytes, .\build\serial.o(i._ZN4mbed6SerialC1E7PinNameS1_PKci), UNUSED)

  mbed::Serial::~Serial() (Thumb, 58 bytes, Stack size 8 bytes, .\build\serial.o(i._ZN4mbed6SerialD1Ev))
  [Stack]

  - Max Depth = 388
  - Call Chain = mbed::Serial::~Serial() ⇒ mbed::Stream::~Stream__sub_object() ⇒ fclose ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::~Mutex()
  - >> mbed::SerialBase::~SerialBase()
  - >> mbed::Stream::~Stream__sub_object()
  [Address Reference Count : 2]
  - serial.o(.constdata__ZTVN4mbed6SerialE)
  - main.o(i.__sti___8_main_cpp_State)

  mbed::Serial::~Serial__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\serial.o(i._ZN4mbed6SerialD1Ev), UNUSED)

  mbed::Stream::lock() (Thumb, 2 bytes, Stack size 0 bytes, .\build\stream.o(i._ZN4mbed6Stream4lockEv))
  [Address Reference Count : 1]

  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::read(void*, unsigned) (Thumb, 70 bytes, Stack size 32 bytes, .\build\stream.o(i._ZN4mbed6Stream4readEPvj))
  [Stack]

  - Max Depth = 32
  - Call Chain = mbed::Stream::read(void*, unsigned)
  [Address Reference Count : 2]
  - serial.o(.constdata__ZTVN4mbed6SerialE)
  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::seek(long, int) (Thumb, 6 bytes, Stack size 0 bytes, .\build\stream.o(i._ZN4mbed6Stream4seekEli))
  [Address Reference Count : 2]

  - serial.o(.constdata__ZTVN4mbed6SerialE)
  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::size() (Thumb, 6 bytes, Stack size 0 bytes, .\build\stream.o(i._ZN4mbed6Stream4sizeEv))
  [Address Reference Count : 2]

  - serial.o(.constdata__ZTVN4mbed6SerialE)
  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::close() (Thumb, 6 bytes, Stack size 0 bytes, .\build\stream.o(i._ZN4mbed6Stream5closeEv))
  [Address Reference Count : 2]

  - serial.o(.constdata__ZTVN4mbed6SerialE)
  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::scanf(const char*, ...) (Thumb, 56 bytes, Stack size 32 bytes, .\build\stream.o(i._ZN4mbed6Stream5scanfEPKcz))
  [Stack]

  - Max Depth = 520
  - Call Chain = mbed::Stream::scanf(const char*, ...) ⇒ vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> vfscanf
  - >> fflush
  [Called By]
  - >> Ting_Config()
  - >> Ting_state(char*)

  mbed::Stream::write(const void*, unsigned) (Thumb, 64 bytes, Stack size 24 bytes, .\build\stream.o(i._ZN4mbed6Stream5writeEPKvj))
  [Stack]

  - Max Depth = 24
  - Call Chain = mbed::Stream::write(const void*, unsigned)
  [Address Reference Count : 2]
  - serial.o(.constdata__ZTVN4mbed6SerialE)
  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::isatty() (Thumb, 6 bytes, Stack size 0 bytes, .\build\stream.o(i._ZN4mbed6Stream6isattyEv))
  [Address Reference Count : 2]

  - serial.o(.constdata__ZTVN4mbed6SerialE)
  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::printf(const char*, ...) (Thumb, 56 bytes, Stack size 32 bytes, .\build\stream.o(i._ZN4mbed6Stream6printfEPKcz))
  [Stack]

  - Max Depth = 404 + Unknown Stack Size
  - Call Chain = mbed::Stream::printf(const char*, ...) ⇒ fflush ⇒ _do_fflush ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> __c89vfprintf
  - >> fflush
  [Called By]
  - >> Ting_Config()
  - >> Ting_state(char*)

  mbed::Stream::unlock() (Thumb, 2 bytes, Stack size 0 bytes, .\build\stream.o(i._ZN4mbed6Stream6unlockEv))
  [Address Reference Count : 1]

  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::Stream::Stream__sub_object(const char*) (Thumb, 106 bytes, Stack size 16 bytes, .\build\stream.o(i._ZN4mbed6StreamC2EPKc))
  [Stack]

  - Max Depth = 468 + Unknown Stack Size
  - Call Chain = mbed::Stream::Stream__sub_object(const char*) ⇒ mbed::fdopen(mbed::FileHandle*, const char*) ⇒ mbed::mbed_fdopen(mbed::FileHandle*, const char*) ⇒ fopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> error
  - >> mbed::fdopen(mbed::FileHandle*, const char*)
  - >> mbed::FileBase::FileBase(const char*, mbed::PathType)
  - >> mbed::mbed_set_unbuffered_stream(std::__FILE*)
  - >> __aeabi_errno_addr
  [Called By]
  - >> mbed::Serial::Serial(PinName, PinName, const char*, int)

  mbed::Stream::~Stream() (Thumb, 0 bytes, Stack size 8 bytes, .\build\stream.o(i._ZN4mbed6StreamD2Ev), UNUSED)

  mbed::Stream::~Stream__sub_object() (Thumb, 36 bytes, Stack size 8 bytes, .\build\stream.o(i._ZN4mbed6StreamD2Ev))
  [Stack]

  - Max Depth = 380
  - Call Chain = mbed::Stream::~Stream__sub_object() ⇒ fclose ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed::FileLike::~FileLike__sub_object()
  - >> fclose
  [Called By]
  - >> mbed::Serial::~Serial()
  [Address Reference Count : 1]
  - stream.o(.constdata__ZTVN4mbed6StreamE)

  mbed::fdopen(mbed::FileHandle*, const char*) (Thumb, 16 bytes, Stack size 16 bytes, .\build\filehandle.o(i._ZN4mbed6fdopenEPNS_10FileHandleEPKc))
  [Stack]

  - Max Depth = 452
  - Call Chain = mbed::fdopen(mbed::FileHandle*, const char*) ⇒ mbed::mbed_fdopen(mbed::FileHandle*, const char*) ⇒ fopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed::mbed_fdopen(mbed::FileHandle*, const char*)
  [Called By]
  - >> mbed::Stream::Stream__sub_object(const char*)

  mbed::FileBase::getPathType() (Thumb, 6 bytes, Stack size 0 bytes, .\build\filebase.o(i._ZN4mbed8FileBase11getPathTypeEv))
  [Called By]

  - >> mbed::FilePath::isFile()
  - >> mbed::FilePath::isFileSystem()
  - >> mbed::FileBase::~FileBase()

  mbed::FileBase::lookup(const char*, unsigned) (Thumb, 96 bytes, Stack size 24 bytes, .\build\filebase.o(i._ZN4mbed8FileBase6lookupEPKcj))
  [Stack]

  - Max Depth = 276
  - Call Chain = mbed::FileBase::lookup(const char*, unsigned) ⇒ SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::unlock()
  - >> rtos::Mutex::lock(unsigned)
  - >> SingletonPtr⟨rtos::Mutex⟩::operator -⟩()
  - >> strncmp
  - >> strlen
  [Called By]
  - >> mbed::FilePath::FilePath(const char*)

  mbed::FileBase::FileBase(const char*, mbed::PathType) (Thumb, 78 bytes, Stack size 24 bytes, .\build\filebase.o(i._ZN4mbed8FileBaseC1EPKcNS_8PathTypeE))
  [Stack]

  - Max Depth = 276
  - Call Chain = mbed::FileBase::FileBase(const char*, mbed::PathType) ⇒ SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::unlock()
  - >> rtos::Mutex::lock(unsigned)
  - >> SingletonPtr⟨rtos::Mutex⟩::operator -⟩()
  [Called By]
  - >> mbed::Stream::Stream__sub_object(const char*)

  mbed::FileBase::FileBase__sub_object(const char*, mbed::PathType) (Thumb, 0 bytes, Stack size 24 bytes, .\build\filebase.o(i._ZN4mbed8FileBaseC1EPKcNS_8PathTypeE), UNUSED)

  mbed::FileBase::~FileBase() (Thumb, 100 bytes, Stack size 16 bytes, .\build\filebase.o(i._ZN4mbed8FileBaseD1Ev))
  [Stack]

  - Max Depth = 284
  - Call Chain = mbed::FileBase::~FileBase() ⇒ mbed::remove_filehandle(mbed::FileHandle*) ⇒ SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::unlock()
  - >> rtos::Mutex::lock(unsigned)
  - >> mbed::remove_filehandle(mbed::FileHandle*)
  - >> mbed::FileBase::getPathType()
  - >> SingletonPtr⟨rtos::Mutex⟩::operator -⟩()
  [Called By]
  - >> mbed::FileLike::~FileLike__sub_object()
  [Address Reference Count : 1]
  - filebase.o(.constdata__ZTVN4mbed8FileBaseE)

  mbed::FileBase::~FileBase__sub_object() (Thumb, 0 bytes, Stack size 16 bytes, .\build\filebase.o(i._ZN4mbed8FileBaseD1Ev), UNUSED)

  mbed::FileLike::~FileLike() (Thumb, 0 bytes, Stack size 8 bytes, .\build\stream.o(i._ZN4mbed8FileLikeD2Ev), UNUSED)

  mbed::FileLike::~FileLike__sub_object() (Thumb, 34 bytes, Stack size 8 bytes, .\build\stream.o(i._ZN4mbed8FileLikeD2Ev))
  [Stack]

  - Max Depth = 292
  - Call Chain = mbed::FileLike::~FileLike__sub_object() ⇒ mbed::FileBase::~FileBase() ⇒ mbed::remove_filehandle(mbed::FileHandle*) ⇒ SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed::FileBase::~FileBase()
  [Called By]
  - >> mbed::Stream::~Stream__sub_object()
  [Address Reference Count : 1]
  - stream.o(.constdata__ZTVN4mbed8FileLikeE)

  mbed::FilePath::fileSystem() (Thumb, 30 bytes, Stack size 8 bytes, .\build\filepath.o(i._ZN4mbed8FilePath10fileSystemEv))
  [Stack]

  - Max Depth = 16
  - Call Chain = mbed::FilePath::fileSystem() ⇒ mbed::FilePath::isFileSystem()
  [Calls]
  - >> mbed::FilePath::isFileSystem()
  [Called By]
  - >> _sys_open

  mbed::FilePath::isFileSystem() (Thumb, 28 bytes, Stack size 8 bytes, .\build\filepath.o(i._ZN4mbed8FilePath12isFileSystemEv))
  [Stack]

  - Max Depth = 8
  - Call Chain = mbed::FilePath::isFileSystem()
  [Calls]
  - >> mbed::FileBase::getPathType()
  [Called By]
  - >> mbed::FilePath::fileSystem()

  mbed::FilePath::file() (Thumb, 30 bytes, Stack size 8 bytes, .\build\filepath.o(i._ZN4mbed8FilePath4fileEv))
  [Stack]

  - Max Depth = 16
  - Call Chain = mbed::FilePath::file() ⇒ mbed::FilePath::isFile()
  [Calls]
  - >> mbed::FilePath::isFile()
  [Called By]
  - >> _sys_open

  mbed::FilePath::exists() (Thumb, 14 bytes, Stack size 0 bytes, .\build\filepath.o(i._ZN4mbed8FilePath6existsEv))
  [Called By]

  - >> _sys_open

  mbed::FilePath::isFile() (Thumb, 28 bytes, Stack size 8 bytes, .\build\filepath.o(i._ZN4mbed8FilePath6isFileEv))
  [Stack]

  - Max Depth = 8
  - Call Chain = mbed::FilePath::isFile()
  [Calls]
  - >> mbed::FileBase::getPathType()
  [Called By]
  - >> mbed::FilePath::file()
  - >> _sys_open

  mbed::FilePath::fileName() (Thumb, 6 bytes, Stack size 0 bytes, .\build\filepath.o(i._ZN4mbed8FilePath8fileNameEv))
  [Called By]

  - >> _sys_open

  mbed::FilePath::FilePath(const char*) (Thumb, 86 bytes, Stack size 24 bytes, .\build\filepath.o(i._ZN4mbed8FilePathC1EPKc))
  [Stack]

  - Max Depth = 300
  - Call Chain = mbed::FilePath::FilePath(const char*) ⇒ mbed::FileBase::lookup(const char*, unsigned) ⇒ SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed::FileBase::lookup(const char*, unsigned)
  [Called By]
  - >> _sys_open

  mbed::FilePath::FilePath__sub_object(const char*) (Thumb, 0 bytes, Stack size 24 bytes, .\build\filepath.o(i._ZN4mbed8FilePathC1EPKc), UNUSED)

  rtos::Mutex::constructor(const char*) (Thumb, 78 bytes, Stack size 16 bytes, .\build\mutex.o(i._ZN4rtos5Mutex11constructorEPKc))
  [Stack]

  - Max Depth = 220
  - Call Chain = rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> osMutexNew
  - >> __aeabi_memclr4
  [Called By]
  - >> rtos::Mutex::Mutex()

  rtos::Mutex::lock(unsigned) (Thumb, 16 bytes, Stack size 16 bytes, .\build\mutex.o(i._ZN4rtos5Mutex4lockEj))
  [Stack]

  - Max Depth = 32
  - Call Chain = rtos::Mutex::lock(unsigned) ⇒ osMutexAcquire
  [Calls]
  - >> osMutexAcquire
  [Called By]
  - >> mbed::remove_filehandle(mbed::FileHandle*)
  - >> mbed::FileBase::FileBase(const char*, mbed::PathType)
  - >> mbed::FileBase::lookup(const char*, unsigned)
  - >> mbed::FileBase::~FileBase()
  - >> _sys_open
  - >> mbed::Serial::lock()

  rtos::Mutex::unlock() (Thumb, 12 bytes, Stack size 8 bytes, .\build\mutex.o(i._ZN4rtos5Mutex6unlockEv))
  [Stack]

  - Max Depth = 16
  - Call Chain = rtos::Mutex::unlock() ⇒ osMutexRelease
  [Calls]
  - >> osMutexRelease
  [Called By]
  - >> mbed::remove_filehandle(mbed::FileHandle*)
  - >> mbed::FileBase::FileBase(const char*, mbed::PathType)
  - >> mbed::FileBase::lookup(const char*, unsigned)
  - >> mbed::FileBase::~FileBase()
  - >> _sys_open
  - >> mbed::Serial::unlock()

  rtos::Mutex::Mutex() (Thumb, 22 bytes, Stack size 8 bytes, .\build\mutex.o(i._ZN4rtos5MutexC1Ev))
  [Stack]

  - Max Depth = 228
  - Call Chain = rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::constructor(const char*)
  [Called By]
  - >> SingletonPtr⟨rtos::Mutex⟩::get()
  - >> mbed::Serial::Serial(PinName, PinName, const char*, int)

  rtos::Mutex::Mutex__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\mutex.o(i._ZN4rtos5MutexC1Ev), UNUSED)

  rtos::Mutex::~Mutex() (Thumb, 20 bytes, Stack size 8 bytes, .\build\mutex.o(i._ZN4rtos5MutexD1Ev))
  [Stack]

  - Max Depth = 16
  - Call Chain = rtos::Mutex::~Mutex() ⇒ osMutexDelete
  [Calls]
  - >> osMutexDelete
  [Called By]
  - >> mbed::Serial::~Serial()

  rtos::Mutex::~Mutex__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\mutex.o(i._ZN4rtos5MutexD1Ev), UNUSED)

  rtos::Thread::wait(unsigned) (Thumb, 12 bytes, Stack size 8 bytes, .\build\thread.o(i._ZN4rtos6Thread4waitEj))
  [Stack]

  - Max Depth = 16
  - Call Chain = rtos::Thread::wait(unsigned) ⇒ osDelay
  [Calls]
  - >> osDelay
  [Called By]
  - >> wait_us

  thunk{-188} to mbed::Serial::lock() (Thumb, 14 bytes, Stack size 8 bytes, .\build\serial.o(i._ZThn188_N4mbed6Serial4lockEv))
  [Stack]

  - Max Depth = 48
  - Call Chain = thunk{-188} to mbed::Serial::lock() ⇒ mbed::Serial::lock() ⇒ rtos::Mutex::lock(unsigned) ⇒ osMutexAcquire
  [Calls]
  - >> mbed::Serial::lock()
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  thunk{-188} to mbed::Serial::_getc() (Thumb, 14 bytes, Stack size 8 bytes, .\build\serial.o(i._ZThn188_N4mbed6Serial5_getcEv))
  [Stack]

  - Max Depth = 52
  - Call Chain = thunk{-188} to mbed::Serial::_getc() ⇒ mbed::Serial::_getc() ⇒ mbed::SerialBase::_base_getc() ⇒ serial_getc ⇒ serial_readable
  [Calls]
  - >> mbed::Serial::_getc()
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  thunk{-188} to mbed::Serial::_putc(int) (Thumb, 18 bytes, Stack size 16 bytes, .\build\serial.o(i._ZThn188_N4mbed6Serial5_putcEi))
  [Stack]

  - Max Depth = 80
  - Call Chain = thunk{-188} to mbed::Serial::_putc(int) ⇒ mbed::Serial::_putc(int) ⇒ mbed::SerialBase::_base_putc(int) ⇒ serial_putc ⇒ serial_writable
  [Calls]
  - >> mbed::Serial::_putc(int)
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  thunk{-188} to mbed::Serial::unlock() (Thumb, 14 bytes, Stack size 8 bytes, .\build\serial.o(i._ZThn188_N4mbed6Serial6unlockEv))
  [Stack]

  - Max Depth = 32
  - Call Chain = thunk{-188} to mbed::Serial::unlock() ⇒ mbed::Serial::unlock() ⇒ rtos::Mutex::unlock() ⇒ osMutexRelease
  [Calls]
  - >> mbed::Serial::unlock()
  [Address Reference Count : 1]
  - serial.o(.constdata__ZTVN4mbed6SerialE)

  __ARM_fpclassify (Thumb, 48 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\m_wm.l(fpclassify.o)(i.__ARM_fpclassify))
  [Stack]

  - Max Depth = 8
  - Call Chain = __ARM_fpclassify
  [Called By]
  - >> _printf_fp_hex_real
  - >> _printf_fp_dec_real

  __aeabi_atexit (Thumb, 6 bytes, Stack size 0 bytes, .\build\mbed_retarget.o(i.__aeabi_atexit))
  [Called By]

  - >> __sti___7_SPI_cpp_ab1f1164
  - >> __sti___8_main_cpp_State

  __aeabi_vec_ctor_nocookie_nodtor (Thumb, 36 bytes, Stack size 24 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\cpplib\cpprt_w.l(aeabi_vec_ctor_nocookie_nodtor.o)(i.__aeabi_vec_ctor_nocookie_nodtor))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_vec_ctor_nocookie_nodtor
  [Called By]
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)
  - >> __sti___7_SPI_cpp_ab1f1164

  __cxa_pure_virtual (Thumb, 6 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\cpplib\cpprt_w.l(pure_virt.o)(i.__cxa_pure_virtual))
  [Stack]

  - Max Depth = 40
  - Call Chain = __cxa_pure_virtual ⇒ __rt_SIGPVFN ⇒ __rt_SIGPVFN_inner ⇒ __default_signal_display ⇒ _ttywrch
  [Calls]
  - >> __rt_SIGPVFN
  [Address Reference Count : 3]
  - filehandle.o(.constdata__ZTVN4mbed10FileHandleE)
  - stream.o(.constdata__ZTVN4mbed6StreamE)
  - stream.o(.constdata__ZTVN4mbed8FileLikeE)

  __hardfp_ldexp (Thumb, 200 bytes, Stack size 48 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\m_wm.l(ldexp.o)(i.__hardfp_ldexp))
  [Stack]

  - Max Depth = 96
  - Call Chain = __hardfp_ldexp ⇒ __set_errno ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __mathlib_dbl_underflow
  - >> __mathlib_dbl_overflow
  - >> __ARM_scalbn
  - >> __aeabi_cdcmpeq
  - >> __set_errno
  [Called By]
  - >> __support_ldexp

  __mathlib_dbl_overflow (Thumb, 24 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\m_wm.l(dunder.o)(i.__mathlib_dbl_overflow))
  [Stack]

  - Max Depth = 40
  - Call Chain = __mathlib_dbl_overflow ⇒ __aeabi_dmul
  [Calls]
  - >> __aeabi_dmul
  [Called By]
  - >> __hardfp_ldexp

  __mathlib_dbl_underflow (Thumb, 24 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\m_wm.l(dunder.o)(i.__mathlib_dbl_underflow))
  [Stack]

  - Max Depth = 40
  - Call Chain = __mathlib_dbl_underflow ⇒ __aeabi_dmul
  [Calls]
  - >> __aeabi_dmul
  [Called By]
  - >> __hardfp_ldexp

  __mathlib_narrow (Thumb, 166 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\m_wm.l(narrow.o)(i.__mathlib_narrow))
  [Stack]

  - Max Depth = 80
  - Call Chain = __mathlib_narrow ⇒ frexp ⇒ __aeabi_dmul
  [Calls]
  - >> __aeabi_cdrcmple
  - >> frexp
  - >> __aeabi_cdcmpeq
  - >> __aeabi_d2f
  - >> __set_errno
  [Called By]
  - >> _scanf_really_hex_real
  - >> _scanf_really_real

  __rt_entry (Thumb, 32 bytes, Stack size 24 bytes, .\build\mbed_boot.o(i.__rt_entry))
  [Stack]

  - Max Depth = 444 + Unknown Stack Size
  - Call Chain = __rt_entry ⇒ mbed_start_main ⇒ error ⇒ mbed_error_vfprintf ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _platform_post_stackheap_init
  - >> __user_setup_stackheap
  - >> mbed_start_main
  - >> mbed_set_stack_heap
  - >> mbed_cpy_nvic
  - >> mbed_sdk_init
  [Called By]
  - >> __main
  - >> __scatterload_rt2

  __support_ldexp (Thumb, 20 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\m_wm.l(ldexp.o)(i.__support_ldexp))
  [Stack]

  - Max Depth = 104
  - Call Chain = __support_ldexp ⇒ __hardfp_ldexp ⇒ __set_errno ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __hardfp_ldexp
  [Called By]
  - >> _scanf_really_hex_real

  __user_perthread_libspace (Thumb, 98 bytes, Stack size 16 bytes, .\build\rtx_lib.o(i.__user_perthread_libspace))
  [Stack]

  - Max Depth = 40
  - Call Chain = __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> osThreadGetId
  - >> osRtxErrorNotify
  - >> os_kernel_is_active
  [Called By]
  - >> __aeabi_errno_addr

  __user_setup_stackheap (Thumb, 34 bytes, Stack size 40 bytes, .\build\mbed_retarget.o(i.__user_setup_stackheap))
  [Stack]

  - Max Depth = 80
  - Call Chain = __user_setup_stackheap ⇒ _mbed_user_setup_stackheap
  [Calls]
  - >> _mbed_user_setup_stackheap
  [Called By]
  - >> __rt_entry

  _is_digit (Thumb, 14 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(__printf_wp.o)(i._is_digit))
  [Called By]

  - >> __printf
  - >> _scanf_really_real

  _mbed_user_setup_stackheap (Thumb, 36 bytes, Stack size 40 bytes, .\build\mbed_retarget.o(i._mbed_user_setup_stackheap))
  [Stack]

  - Max Depth = 40
  - Call Chain = _mbed_user_setup_stackheap
  [Called By]
  - >> __user_setup_stackheap

  _mutex_acquire (Thumb, 22 bytes, Stack size 8 bytes, .\build\rtx_lib.o(i._mutex_acquire))
  [Stack]

  - Max Depth = 32
  - Call Chain = _mutex_acquire ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> osMutexAcquire
  - >> os_kernel_is_active
  [Called By]
  - >> _free_internal
  - >> _malloc_internal
  - >> _terminateio
  - >> setvbuf
  - >> fopen
  - >> freopen
  - >> _freopen_locked
  - >> fflush
  - >> _do_fflush
  - >> fclose
  - >> _flushlinebuffered
  - >> __vfscanf_char_file
  - >> _printf_char_file

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

  - Max Depth = 16
  - Call Chain = _mutex_free ⇒ osMutexDelete
  [Calls]
  - >> osMutexDelete
  [Called By]
  - >> _terminateio
  - >> __Heap_Finalize

  _mutex_initialize (Thumb, 96 bytes, Stack size 24 bytes, .\build\mbed_boot.o(i._mutex_initialize))
  [Stack]

  - Max Depth = 128
  - Call Chain = _mutex_initialize ⇒ malloc ⇒ _malloc_internal ⇒ __Heap_Full ⇒ __Heap_ProvideMemory ⇒ _free_internal ⇒ _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> osMutexNew
  - >> osRtxErrorNotify
  - >> malloc
  [Called By]
  - >> _initio
  - >> __Heap_Initialize
  - >> fopen

  _mutex_release (Thumb, 18 bytes, Stack size 8 bytes, .\build\rtx_lib.o(i._mutex_release))
  [Stack]

  - Max Depth = 32
  - Call Chain = _mutex_release ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> osMutexRelease
  - >> os_kernel_is_active
  [Called By]
  - >> _free_internal
  - >> _malloc_internal
  - >> _terminateio
  - >> setvbuf
  - >> fopen
  - >> freopen
  - >> _freopen_locked
  - >> fflush
  - >> _do_fflush
  - >> fclose
  - >> _flushlinebuffered
  - >> __vfscanf_char_file
  - >> _printf_char_file

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

  - Max Depth = 16
  - Call Chain = _platform_post_stackheap_init ⇒ osKernelInitialize
  [Calls]
  - >> osKernelInitialize
  [Called By]
  - >> __rt_entry

  _sys_close (Thumb, 76 bytes, Stack size 16 bytes, .\build\mbed_retarget.o(i._sys_close))
  [Stack]

  - Max Depth = 56
  - Call Chain = _sys_close ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> _fclose_internal

  _sys_flen (Thumb, 78 bytes, Stack size 16 bytes, .\build\mbed_retarget.o(i._sys_flen))
  [Stack]

  - Max Depth = 56
  - Call Chain = _sys_flen ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> _fseek
  - >> __flsbuf

  _sys_istty (Thumb, 64 bytes, Stack size 16 bytes, .\build\mbed_retarget.o(i._sys_istty))
  [Stack]

  - Max Depth = 56
  - Call Chain = _sys_istty ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> _fseek
  - >> __flsbuf

  _sys_open (Thumb, 364 bytes, Stack size 48 bytes, .\build\mbed_retarget.o(i._sys_open))
  [Stack]

  - Max Depth = 348
  - Call Chain = _sys_open ⇒ mbed::FilePath::FilePath(const char*) ⇒ mbed::FileBase::lookup(const char*, unsigned) ⇒ SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> rtos::Mutex::unlock()
  - >> rtos::Mutex::lock(unsigned)
  - >> mbed::FilePath::FilePath(const char*)
  - >> mbed::FilePath::fileName()
  - >> mbed::FilePath::isFile()
  - >> mbed::FilePath::exists()
  - >> mbed::FilePath::file()
  - >> mbed::FilePath::fileSystem()
  - >> SingletonPtr⟨rtos::Mutex⟩::operator -⟩()
  - >> handle_open_errors(int, unsigned)
  - >> init_serial()
  - >> __aeabi_errno_addr
  - >> strcmp
  [Called By]
  - >> _freopen_locked

  _sys_read (Thumb, 98 bytes, Stack size 32 bytes, .\build\mbed_retarget.o(i._sys_read), UNUSED)
  [Calls]

  - >> init_serial()
  - >> serial_getc
  - >> __aeabi_errno_addr
  [Called By]
  - >> _readbuf

  _sys_seek (Thumb, 94 bytes, Stack size 24 bytes, .\build\mbed_retarget.o(i._sys_seek))
  [Stack]

  - Max Depth = 64
  - Call Chain = _sys_seek ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> _writebuf
  - >> __filbuf

  _sys_write (Thumb, 108 bytes, Stack size 32 bytes, .\build\mbed_retarget.o(i._sys_write))
  [Stack]

  - Max Depth = 276
  - Call Chain = _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> serial_putc
  - >> init_serial()
  - >> __aeabi_errno_addr
  [Called By]
  - >> _writebuf

  core_util_are_interrupts_enabled (Thumb, 16 bytes, Stack size 0 bytes, .\build\mbed_critical.o(i.core_util_are_interrupts_enabled))
  [Called By]

  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> wait_us

  core_util_atomic_decr_u16 (Thumb, 26 bytes, Stack size 16 bytes, .\build\mbed_critical.o(i.core_util_atomic_decr_u16))
  [Stack]

  - Max Depth = 24 + In Cycle
  - Call Chain = core_util_atomic_decr_u16 ⇒ core_util_critical_section_exit (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  [Called By]
  - >> sleep_manager_unlock_deep_sleep

  core_util_atomic_incr_u16 (Thumb, 26 bytes, Stack size 16 bytes, .\build\mbed_critical.o(i.core_util_atomic_incr_u16))
  [Stack]

  - Max Depth = 24 + In Cycle
  - Call Chain = core_util_atomic_incr_u16 ⇒ core_util_critical_section_exit (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  [Called By]
  - >> sleep_manager_lock_deep_sleep

  core_util_critical_section_enter (Thumb, 78 bytes, Stack size 8 bytes, .\build\mbed_critical.o(i.core_util_critical_section_enter))
  [Stack]

  - Max Depth = 8 + In Cycle
  - Call Chain = core_util_critical_section_enter ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> core_util_are_interrupts_enabled
  [Called By]
  - >> mbed_assert_internal
  - >> sleep_manager_lock_deep_sleep
  - >> sleep_manager_unlock_deep_sleep
  - >> mbed_error_vfprintf
  - >> mbed_die
  - >> core_util_atomic_incr_u16
  - >> core_util_atomic_decr_u16
  - >> hal_sleep
  - >> hal_deepsleep
  - >> sleep_manager_sleep_auto
  - >> default_idle_hook()
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)

  core_util_critical_section_exit (Thumb, 60 bytes, Stack size 8 bytes, .\build\mbed_critical.o(i.core_util_critical_section_exit))
  [Stack]

  - Max Depth = 212
  - Call Chain = core_util_critical_section_exit ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> core_util_are_interrupts_enabled
  [Called By]
  - >> sleep_manager_lock_deep_sleep
  - >> sleep_manager_unlock_deep_sleep
  - >> mbed_error_vfprintf
  - >> core_util_atomic_incr_u16
  - >> core_util_atomic_decr_u16
  - >> hal_sleep
  - >> hal_deepsleep
  - >> sleep_manager_sleep_auto
  - >> default_idle_hook()
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)

  error (Thumb, 44 bytes, Stack size 24 bytes, .\build\mbed_error.o(i.error))
  [Stack]

  - Max Depth = 412 + Unknown Stack Size
  - Call Chain = error ⇒ mbed_error_vfprintf ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_error_vfprintf
  - >> exit
  [Called By]
  - >> pinmap_pinout
  - >> pinmap_peripheral
  - >> Set_GPIO_Clock
  - >> sleep_manager_lock_deep_sleep
  - >> pinmap_merge
  - >> sleep_manager_unlock_deep_sleep
  - >> osRtxErrorNotify
  - >> mbed_start_main
  - >> init_uart
  - >> mbed::Stream::Stream__sub_object(const char*)

  exit (Thumb, 24 bytes, Stack size 0 bytes, .\build\mbed_retarget.o(i.exit))
  [Stack]

  - Max Depth = 372
  - Call Chain = exit ⇒ fflush ⇒ _do_fflush ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_die
  - >> fflush
  [Called By]
  - >> error

  _fgetc$unlocked (Thumb, 24 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fgetc.o)(i.fgetc))
  [Stack]

  - Max Depth = 32
  - Call Chain = _fgetc$unlocked ⇒ __filbuf_byte
  [Calls]
  - >> __filbuf_byte
  [Address Reference Count : 1]
  - scanf_char_file_locked.o(.text)

  _fputc$unlocked (Thumb, 26 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fputc.o)(i.fputc))
  [Stack]

  - Max Depth = 32
  - Call Chain = _fputc$unlocked ⇒ __flsbuf_byte
  [Calls]
  - >> __flsbuf_byte
  [Address Reference Count : 1]
  - _printf_char_file_locked.o(.text)

  frexp (Thumb, 118 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\m_wm.l(frexp.o)(i.frexp))
  [Stack]

  - Max Depth = 48
  - Call Chain = frexp ⇒ __aeabi_dmul
  [Calls]
  - >> __aeabi_dmul
  [Called By]
  - >> __mathlib_narrow

  get_us_ticker_data (Thumb, 4 bytes, Stack size 0 bytes, .\build\mbed_us_ticker_api.o(i.get_us_ticker_data))
  [Called By]

  - >> wait_us

  gpio_dir (Thumb, 32 bytes, Stack size 16 bytes, .\build\gpio_api.o(i.gpio_dir))
  [Stack]

  - Max Depth = 28
  - Call Chain = gpio_dir ⇒ LL_GPIO_SetPinMode
  [Calls]
  - >> LL_GPIO_SetPinMode
  [Called By]
  - >> _gpio_init_out

  gpio_init (Thumb, 70 bytes, Stack size 24 bytes, .\build\gpio_api.o(i.gpio_init))
  [Stack]

  - Max Depth = 100
  - Call Chain = gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> gpio_set
  - >> Set_GPIO_Clock
  [Called By]
  - >> _gpio_init_out

  gpio_init_out (Thumb, 18 bytes, Stack size 16 bytes, .\build\mbed_gpio.o(i.gpio_init_out))
  [Stack]

  - Max Depth = 156
  - Call Chain = gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> gpio_init_out_ex
  [Called By]
  - >> mbed_die
  - >> __sti___8_main_cpp_State

  gpio_init_out_ex (Thumb, 22 bytes, Stack size 16 bytes, .\build\mbed_gpio.o(i.gpio_init_out_ex))
  [Stack]

  - Max Depth = 140
  - Call Chain = gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _gpio_init_out
  [Called By]
  - >> gpio_init_out

  gpio_mode (Thumb, 18 bytes, Stack size 16 bytes, .\build\gpio_api.o(i.gpio_mode))
  [Stack]

  - Max Depth = 76
  - Call Chain = gpio_mode ⇒ pin_mode ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> pin_mode
  [Called By]
  - >> _gpio_init_out

  gpio_set (Thumb, 40 bytes, Stack size 8 bytes, .\build\gpio_api.o(i.gpio_set))
  [Stack]

  - Max Depth = 76 + In Cycle
  - Call Chain = gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> pin_function
  [Called By]
  - >> gpio_init

  hal_deepsleep (Thumb, 50 bytes, Stack size 72 bytes, .\build\sleep.o(i.hal_deepsleep))
  [Stack]

  - Max Depth = 284
  - Call Chain = hal_deepsleep ⇒ core_util_critical_section_exit ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> HAL_SuspendTick
  - >> HAL_ResumeTick
  - >> SetSysClock
  - >> us_ticker_read
  - >> HAL_PWR_EnterSTOPMode
  [Called By]
  - >> sleep_manager_sleep_auto

  hal_sleep (Thumb, 28 bytes, Stack size 8 bytes, .\build\sleep.o(i.hal_sleep))
  [Stack]

  - Max Depth = 220
  - Call Chain = hal_sleep ⇒ core_util_critical_section_exit ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> HAL_SuspendTick
  - >> HAL_ResumeTick
  - >> HAL_PWR_EnterSLEEPMode
  [Called By]
  - >> sleep_manager_sleep_auto

  init_uart (Thumb, 100 bytes, Stack size 16 bytes, .\build\serial_api.o(i.init_uart))
  [Stack]

  - Max Depth = 52 + In Cycle
  - Call Chain = init_uart ⇒ error (Cycle)
  [Calls]
  - >> error
  - >> HAL_UART_Init
  [Called By]
  - >> serial_init
  - >> serial_baud

  isspace (Thumb, 18 bytes, Stack size 8 bytes, .\build\greentea_test_env.o(i.isspace))
  [Stack]

  - Max Depth = 24
  - Call Chain = isspace ⇒ __rt_ctype_table ⇒ __rt_locale
  [Calls]
  - >> __rt_ctype_table
  [Address Reference Count : 1]
  - scanf_char.o(.text)

  $Super$$main (Thumb, 14 bytes, Stack size 0 bytes, .\build\main.o(i.main))
  [Stack]

  - Max Depth = 528 + Unknown Stack Size
  - Call Chain = $Super$$main ⇒ Ting_Config() ⇒ mbed::Stream::scanf(const char*, ...) ⇒ vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> Ting_Config()
  - >> Ting_state(char*)
  [Called By]
  - >> main

  mbed_assert_internal (Thumb, 30 bytes, Stack size 16 bytes, .\build\mbed_assert.o(i.mbed_assert_internal))
  [Stack]

  - Max Depth = 204
  - Call Chain = mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> core_util_critical_section_enter
  - >> mbed_error_printf
  - >> mbed_die
  [Called By]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> pin_mode
  - >> pin_function
  - >> gpio_set
  - >> SingletonPtr⟨rtos::Mutex⟩::get()
  - >> serial_init
  - >> rtos::Mutex::constructor(const char*)
  - >> mbed::Callback⟨void(int)⟩::call(int) const
  - >> mbed::SerialBase::_irq_handler(unsigned, SerialIrq)

  mbed_die (Thumb, 98 bytes, Stack size 32 bytes, .\build\mbed_board.o(i.mbed_die))
  [Stack]

  - Max Depth = 188
  - Call Chain = mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> gpio_init_out
  - >> core_util_critical_section_enter
  - >> wait_ms
  - >> gpio_write
  [Called By]
  - >> mbed_assert_internal
  - >> exit

  mbed_error_printf (Thumb, 26 bytes, Stack size 24 bytes, .\build\mbed_board.o(i.mbed_error_printf))
  [Stack]

  - Max Depth = 24 + In Cycle
  - Call Chain = mbed_error_printf ⇒ mbed_error_vfprintf (Cycle)
  [Calls]
  - >> mbed_error_vfprintf
  [Called By]
  - >> mbed_assert_internal

  mbed_error_vfprintf (Thumb, 72 bytes, Stack size 152 bytes, .\build\mbed_board.o(i.mbed_error_vfprintf))
  [Stack]

  - Max Depth = 388 + Unknown Stack Size
  - Call Chain = mbed_error_vfprintf ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> serial_putc
  - >> serial_init
  - >> vsnprintf
  [Called By]
  - >> error
  - >> mbed_error_printf

  mbed_main (Thumb, 2 bytes, Stack size 0 bytes, .\build\mbed_boot.o(i.mbed_main))
  [Called By]

  - >> main

  mbed_sdk_init (Thumb, 20 bytes, Stack size 8 bytes, .\build\mbed_overrides.o(i.mbed_sdk_init))
  [Stack]

  - Max Depth = 176
  - Call Chain = mbed_sdk_init ⇒ SetSysClock ⇒ SetSysClock_PLL_HSI ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_OC_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> SystemCoreClockUpdate
  - >> SetSysClock
  - >> HAL_Init
  [Called By]
  - >> __rt_entry

  mbed_set_stack_heap (Thumb, 50 bytes, Stack size 0 bytes, .\build\mbed_boot.o(i.mbed_set_stack_heap))
  [Called By]

  - >> __rt_entry

  mbed_start_main (Thumb, 56 bytes, Stack size 8 bytes, .\build\mbed_boot.o(i.mbed_start_main))
  [Stack]

  - Max Depth = 420 + Unknown Stack Size
  - Call Chain = mbed_start_main ⇒ error ⇒ mbed_error_vfprintf ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> error
  - >> osThreadNew
  - >> osKernelStart
  [Called By]
  - >> __rt_entry

  osDelay (Thumb, 64 bytes, Stack size 8 bytes, .\build\rtx_delay.o(i.osDelay))
  [Stack]

  - Max Depth = 8
  - Call Chain = osDelay
  [Calls]
  - >> EvrRtxThreadError
  - >> EvrRtxThreadDelay
  [Called By]
  - >> rtos::Thread::wait(unsigned)

  osKernelGetState (Thumb, 62 bytes, Stack size 8 bytes, .\build\rtx_kernel.o(i.osKernelGetState))
  [Stack]

  - Max Depth = 16
  - Call Chain = osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> svcRtxKernelGetState
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_CONTROL
  - >> __get_BASEPRI
  - >> EvrRtxKernelGetState
  [Called By]
  - >> osKernelStart
  - >> os_kernel_is_active

  osKernelInitialize (Thumb, 94 bytes, Stack size 8 bytes, .\build\rtx_kernel.o(i.osKernelInitialize))
  [Stack]

  - Max Depth = 8
  - Call Chain = osKernelInitialize
  [Calls]
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_CONTROL
  - >> __get_BASEPRI
  - >> EvrRtxKernelInitialize
  - >> EvrRtxKernelError
  [Called By]
  - >> _platform_post_stackheap_init

  osKernelStart (Thumb, 124 bytes, Stack size 8 bytes, .\build\rtx_kernel.o(i.osKernelStart))
  [Stack]

  - Max Depth = 24
  - Call Chain = osKernelStart ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> osKernelGetState
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_CONTROL
  - >> __get_BASEPRI
  - >> EvrRtxKernelStart
  - >> EvrRtxKernelError
  [Called By]
  - >> mbed_start_main

  osMessageQueueGet (Thumb, 78 bytes, Stack size 24 bytes, .\build\rtx_msgqueue.o(i.osMessageQueueGet))
  [Stack]

  - Max Depth = 88
  - Call Chain = osMessageQueueGet ⇒ isrRtxMessageQueueGet ⇒ osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> EvrRtxMessageQueueGet
  - >> isrRtxMessageQueueGet
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> osRtxTimerThread

  osMessageQueueNew (Thumb, 122 bytes, Stack size 32 bytes, .\build\rtx_msgqueue.o(i.osMessageQueueNew))
  [Stack]

  - Max Depth = 32
  - Call Chain = osMessageQueueNew
  [Calls]
  - >> EvrRtxMessageQueueNew
  - >> EvrRtxMessageQueueError
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> osRtxTimerThread

  osMessageQueuePut (Thumb, 78 bytes, Stack size 24 bytes, .\build\rtx_msgqueue.o(i.osMessageQueuePut))
  [Stack]

  - Max Depth = 88
  - Call Chain = osMessageQueuePut ⇒ isrRtxMessageQueuePut ⇒ osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> EvrRtxMessageQueuePut
  - >> isrRtxMessageQueuePut
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> osRtxTimerTick

  osMutexAcquire (Thumb, 64 bytes, Stack size 16 bytes, .\build\rtx_mutex.o(i.osMutexAcquire))
  [Stack]

  - Max Depth = 16
  - Call Chain = osMutexAcquire
  [Calls]
  - >> EvrRtxMutexError
  - >> EvrRtxMutexAcquire
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> rtos::Mutex::lock(unsigned)
  - >> SingletonPtr⟨rtos::Mutex⟩::get()
  - >> _mutex_acquire

  osMutexDelete (Thumb, 58 bytes, Stack size 8 bytes, .\build\rtx_mutex.o(i.osMutexDelete))
  [Stack]

  - Max Depth = 8
  - Call Chain = osMutexDelete
  [Calls]
  - >> EvrRtxMutexError
  - >> EvrRtxMutexDelete
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> rtos::Mutex::~Mutex()
  - >> _mutex_free

  osMutexNew (Thumb, 102 bytes, Stack size 16 bytes, .\build\rtx_mutex.o(i.osMutexNew))
  [Stack]

  - Max Depth = 16
  - Call Chain = osMutexNew
  [Calls]
  - >> EvrRtxMutexNew
  - >> EvrRtxMutexError
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> pre_main
  - >> _mutex_initialize
  - >> rtos::Mutex::constructor(const char*)

  osMutexRelease (Thumb, 58 bytes, Stack size 8 bytes, .\build\rtx_mutex.o(i.osMutexRelease))
  [Stack]

  - Max Depth = 8
  - Call Chain = osMutexRelease
  [Calls]
  - >> EvrRtxMutexRelease
  - >> EvrRtxMutexError
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> rtos::Mutex::unlock()
  - >> SingletonPtr⟨rtos::Mutex⟩::get()
  - >> _mutex_release

  osRtxErrorNotify (Thumb, 116 bytes, Stack size 0 bytes, .\build\mbed_rtx_handlers.o(i.osRtxErrorNotify))
  [Stack]

  - Max Depth = 8 + In Cycle
  - Call Chain = osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> error
  - >> osThreadGetId
  - >> osThreadGetName
  [Called By]
  - >> _mutex_initialize
  - >> osRtxTimerTick
  - >> osRtxThreadStackCheck
  - >> osRtxPostProcess
  - >> __user_perthread_libspace

  osRtxIdleThread (Thumb, 8 bytes, Stack size 0 bytes, .\build\mbed_rtx_handlers.o(i.osRtxIdleThread))
  [Calls]

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

  osRtxMemoryAlloc (Thumb, 162 bytes, Stack size 32 bytes, .\build\rtx_memory.o(i.osRtxMemoryAlloc))
  [Stack]

  - Max Depth = 32
  - Call Chain = osRtxMemoryAlloc
  [Calls]
  - >> EvrRtxMemoryAlloc
  [Called By]
  - >> svcRtxThreadNew
  - >> svcRtxMutexNew
  - >> svcRtxMessageQueueNew

  osRtxMemoryFree (Thumb, 102 bytes, Stack size 24 bytes, .\build\rtx_memory.o(i.osRtxMemoryFree))
  [Stack]

  - Max Depth = 24
  - Call Chain = osRtxMemoryFree
  [Calls]
  - >> EvrRtxMemoryFree
  [Called By]
  - >> svcRtxThreadNew
  - >> osRtxThreadFree
  - >> svcRtxMutexDelete
  - >> svcRtxMessageQueueNew

  osRtxMemoryInit (Thumb, 82 bytes, Stack size 24 bytes, .\build\rtx_memory.o(i.osRtxMemoryInit))
  [Stack]

  - Max Depth = 24
  - Call Chain = osRtxMemoryInit
  [Calls]
  - >> EvrRtxMemoryInit
  [Called By]
  - >> svcRtxKernelInitialize

  osRtxMemoryPoolAlloc (Thumb, 58 bytes, Stack size 16 bytes, .\build\rtx_mempool.o(i.osRtxMemoryPoolAlloc))
  [Stack]

  - Max Depth = 16
  - Call Chain = osRtxMemoryPoolAlloc
  [Calls]
  - >> EvrRtxMemoryBlockAlloc
  - >> __asm___13_rtx_mempool_c_7914b4c7__atomic_link_get
  - >> __asm___13_rtx_mempool_c_7914b4c7__atomic_inc32_lt
  [Called By]
  - >> svcRtxThreadNew
  - >> svcRtxMutexNew
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueNew
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess
  - >> isrRtxMessageQueuePut

  osRtxMemoryPoolFree (Thumb, 78 bytes, Stack size 16 bytes, .\build\rtx_mempool.o(i.osRtxMemoryPoolFree))
  [Stack]

  - Max Depth = 16
  - Call Chain = osRtxMemoryPoolFree
  [Calls]
  - >> EvrRtxMemoryBlockFree
  - >> __asm___13_rtx_mempool_c_7914b4c7__atomic_link_put
  - >> __asm___13_rtx_mempool_c_7914b4c7__atomic_dec32_nz
  [Called By]
  - >> svcRtxThreadNew
  - >> osRtxThreadFree
  - >> svcRtxMutexDelete
  - >> svcRtxMessageQueueNew
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

  osRtxMemoryPoolInit (Thumb, 80 bytes, Stack size 24 bytes, .\build\rtx_mempool.o(i.osRtxMemoryPoolInit))
  [Stack]

  - Max Depth = 24
  - Call Chain = osRtxMemoryPoolInit
  [Calls]
  - >> EvrRtxMemoryBlockInit
  [Called By]
  - >> svcRtxKernelInitialize
  - >> svcRtxMessageQueueNew

  osRtxMessageQueuePostProcess (Thumb, 274 bytes, Stack size 24 bytes, .\build\rtx_msgqueue.o(i.osRtxMessageQueuePostProcess))
  [Stack]

  - Max Depth = 88
  - Call Chain = osRtxMessageQueuePostProcess ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueueInserted
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryPoolAlloc
  - >> osRtxThreadRegPtr
  - >> MessageQueueRemove
  - >> MessageQueuePut
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - rtx_msgqueue.o(i.svcRtxMessageQueueNew)

  osRtxMutexOwnerRelease (Thumb, 84 bytes, Stack size 16 bytes, .\build\rtx_mutex.o(i.osRtxMutexOwnerRelease))
  [Stack]

  - Max Depth = 80
  - Call Chain = osRtxMutexOwnerRelease ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxMutexReleased
  - >> EvrRtxMutexAcquired
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  [Called By]
  - >> svcRtxThreadExit

  osRtxPendSV_Handler (Thumb, 96 bytes, Stack size 8 bytes, .\build\rtx_system.o(i.osRtxPendSV_Handler))
  [Stack]

  - Max Depth = 48
  - Call Chain = osRtxPendSV_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxThreadDispatch
  - >> isr_queue_get
  [Called By]
  - >> PendSV_Handler

  osRtxPostProcess (Thumb, 50 bytes, Stack size 8 bytes, .\build\rtx_system.o(i.osRtxPostProcess))
  [Stack]

  - Max Depth = 32
  - Call Chain = osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> osRtxErrorNotify
  - >> isr_queue_put
  [Called By]
  - >> isrRtxMessageQueuePut
  - >> isrRtxMessageQueueGet

  osRtxSysTimerAckIRQ (Thumb, 10 bytes, Stack size 0 bytes, .\build\rtx_system.o(i.osRtxSysTimerAckIRQ))
  [Called By]

  - >> osRtxTick_Handler

  osRtxSysTimerEnable (Thumb, 14 bytes, Stack size 0 bytes, .\build\rtx_system.o(i.osRtxSysTimerEnable))
  [Called By]

  - >> svcRtxKernelStart

  osRtxSysTimerSetup (Thumb, 36 bytes, Stack size 0 bytes, .\build\rtx_system.o(i.osRtxSysTimerSetup))
  [Called By]

  - >> svcRtxKernelStart

  osRtxThreadBlock (Thumb, 42 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.osRtxThreadBlock))
  [Stack]

  - Max Depth = 8
  - Call Chain = osRtxThreadBlock
  [Called By]
  - >> osRtxThreadDispatch

  osRtxThreadDelayInsert (Thumb, 100 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.osRtxThreadDelayInsert))
  [Stack]

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

  osRtxThreadDelayRemove (Thumb, 116 bytes, Stack size 0 bytes, .\build\rtx_thread.o(i.osRtxThreadDelayRemove))
  [Called By]

  - >> osRtxThreadWaitExit

  osRtxThreadDelayTick (Thumb, 216 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.osRtxThreadDelayTick))
  [Stack]

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

  osRtxThreadDispatch (Thumb, 102 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.osRtxThreadDispatch))
  [Stack]

  - Max Depth = 40
  - Call Chain = osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxThreadSwitch
  - >> osRtxThreadBlock
  - >> osRtxThreadGetRunning
  - >> osRtxKernelGetState
  - >> osRtxThreadReadyPut
  - >> osRtxThreadListRemove
  [Called By]
  - >> osRtxTick_Handler
  - >> osRtxPendSV_Handler
  - >> svcRtxThreadNew
  - >> osRtxThreadWaitExit
  - >> svcRtxMutexRelease
  - >> svcRtxMutexDelete

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

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

  osRtxThreadListPut (Thumb, 46 bytes, Stack size 12 bytes, .\build\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, .\build\rtx_thread.o(i.osRtxThreadListRemove))
  [Called By]

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

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

  - >> osRtxThreadDelayTick

  osRtxThreadListSort (Thumb, 40 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.osRtxThreadListSort))
  [Stack]

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

  osRtxThreadPostProcess (Thumb, 64 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.osRtxThreadPostProcess))
  [Stack]

  - Max Depth = 80
  - Call Chain = osRtxThreadPostProcess ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxThreadFlagsWaitCompleted
  - >> ThreadFlagsCheck
  - >> osRtxThreadWaitExit
  [Address Reference Count : 1]
  - rtx_thread.o(i.svcRtxThreadNew)

  osRtxThreadReadyPut (Thumb, 18 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.osRtxThreadReadyPut))
  [Stack]

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

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

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

  osRtxThreadStackCheck (Thumb, 38 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.osRtxThreadStackCheck))
  [Stack]

  - Max Depth = 16
  - Call Chain = osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxErrorNotify
  - >> osRtxThreadGetRunning
  [Called By]
  - >> osRtxThreadSwitch

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

  - Max Depth = 24
  - Call Chain = osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxThreadSwitch
  - >> osRtxThreadStackCheck
  [Called By]
  - >> osRtxTick_Handler
  - >> svcRtxKernelStart
  - >> svcRtxThreadExit
  - >> osRtxThreadDispatch
  - >> osRtxThreadWaitEnter

  osRtxThreadWaitEnter (Thumb, 84 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.osRtxThreadWaitEnter))
  [Stack]

  - Max Depth = 40
  - Call Chain = osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxThreadSwitch
  - >> EvrRtxThreadBlocked
  - >> osRtxThreadDelayInsert
  - >> osRtxThreadGetRunning
  - >> osRtxKernelGetState
  - >> osRtxThreadListRemove
  - >> osRtxThreadListGet
  [Called By]
  - >> svcRtxDelay
  - >> svcRtxMutexAcquire
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet

  osRtxThreadWaitExit (Thumb, 54 bytes, Stack size 24 bytes, .\build\rtx_thread.o(i.osRtxThreadWaitExit))
  [Stack]

  - Max Depth = 64
  - Call Chain = osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxThreadUnblocked
  - >> osRtxThreadDelayRemove
  - >> osRtxThreadReadyPut
  - >> osRtxThreadDispatch
  - >> osRtxThreadRegPtr
  [Called By]
  - >> svcRtxThreadExit
  - >> osRtxThreadPostProcess
  - >> svcRtxMutexRelease
  - >> svcRtxMutexDelete
  - >> osRtxMutexOwnerRelease
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

  osRtxTick_Handler (Thumb, 154 bytes, Stack size 8 bytes, .\build\rtx_system.o(i.osRtxTick_Handler))
  [Stack]

  - Max Depth = 48
  - Call Chain = osRtxTick_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxThreadSwitch
  - >> osRtxThreadDelayTick
  - >> osRtxSysTimerAckIRQ
  - >> osRtxThreadReadyPut
  - >> osRtxThreadListRemove
  - >> osRtxThreadDispatch
  [Called By]
  - >> SysTick_Handler

  osRtxTimerThread (Thumb, 74 bytes, Stack size 24 bytes, .\build\rtx_timer.o(i.osRtxTimerThread))
  [Stack]

  - Max Depth = 112
  - Call Chain = osRtxTimerThread ⇒ osMessageQueueGet ⇒ isrRtxMessageQueueGet ⇒ osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> osMessageQueueNew
  - >> osMessageQueueGet
  - >> EvrRtxTimerCallback
  [Address Reference Count : 1]
  - rtx_kernel.o(i.svcRtxKernelStart)

  osRtxTimerTick (Thumb, 88 bytes, Stack size 16 bytes, .\build\rtx_timer.o(i.osRtxTimerTick))
  [Stack]

  - Max Depth = 104
  - Call Chain = osRtxTimerTick ⇒ osMessageQueuePut ⇒ isrRtxMessageQueuePut ⇒ osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> osMessageQueuePut
  - >> osRtxErrorNotify
  - >> TimerUnlink
  - >> TimerInsert
  [Address Reference Count : 1]
  - rtx_timer.o(i.osRtxTimerThread)

  osThreadContextNew (Thumb, 128 bytes, Stack size 40 bytes, .\build\rtx_thread.o(i.osThreadContextNew))
  [Stack]

  - Max Depth = 40
  - Call Chain = osThreadContextNew
  [Calls]
  - >> EvrRtxThreadNew
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  - >> EvrRtxThreadError
  [Called By]
  - >> osThreadNew

  osThreadExit (Thumb, 28 bytes, Stack size 0 bytes, .\build\rtx_thread.o(i.osThreadExit))
  [Stack]

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

  osThreadGetId (Thumb, 42 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.osThreadGetId))
  [Stack]

  - Max Depth = 8
  - Call Chain = osThreadGetId
  [Calls]
  - >> EvrRtxThreadGetId
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> osRtxErrorNotify
  - >> EvrRtxThreadExit
  - >> __user_perthread_libspace

  osThreadGetName (Thumb, 48 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.osThreadGetName))
  [Stack]

  - Max Depth = 8
  - Call Chain = osThreadGetName
  [Calls]
  - >> EvrRtxThreadGetName
  - >> __get_PRIMASK
  - >> __get_IPSR
  - >> __get_BASEPRI
  [Called By]
  - >> osRtxErrorNotify

  osThreadNew (Thumb, 22 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.osThreadNew))
  [Stack]

  - Max Depth = 56
  - Call Chain = osThreadNew ⇒ osThreadContextNew
  [Calls]
  - >> osThreadContextNew
  [Called By]
  - >> mbed_start_main

  pin_function (Thumb, 278 bytes, Stack size 40 bytes, .\build\pinmap.o(i.pin_function))
  [Stack]

  - Max Depth = 68 + In Cycle
  - Call Chain = pin_function ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> Set_GPIO_Clock
  - >> stm_pin_SetAFPin
  - >> stm_pin_PullConfig
  - >> LL_GPIO_SetPinOutputType
  [Called By]
  - >> pinmap_pinout
  - >> gpio_set

  pin_mode (Thumb, 170 bytes, Stack size 32 bytes, .\build\pinmap.o(i.pin_mode))
  [Stack]

  - Max Depth = 60 + In Cycle
  - Call Chain = pin_mode ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> Set_GPIO_Clock
  - >> stm_pin_PullConfig
  - >> LL_GPIO_SetPinOutputType
  [Called By]
  - >> pinmap_pinout
  - >> gpio_mode
  - >> serial_init

  pinmap_find_peripheral (Thumb, 32 bytes, Stack size 0 bytes, .\build\mbed_pinmap_common.o(i.pinmap_find_peripheral))
  [Called By]

  - >> pinmap_peripheral

  pinmap_merge (Thumb, 42 bytes, Stack size 16 bytes, .\build\mbed_pinmap_common.o(i.pinmap_merge))
  [Stack]

  - Max Depth = 16 + In Cycle
  - Call Chain = pinmap_merge ⇒ error (Cycle)
  [Calls]
  - >> error
  [Called By]
  - >> serial_init

  pinmap_peripheral (Thumb, 44 bytes, Stack size 16 bytes, .\build\mbed_pinmap_common.o(i.pinmap_peripheral))
  [Stack]

  - Max Depth = 16 + In Cycle
  - Call Chain = pinmap_peripheral ⇒ error (Cycle)
  [Calls]
  - >> error
  - >> pinmap_find_peripheral
  [Called By]
  - >> serial_init

  pinmap_pinout (Thumb, 62 bytes, Stack size 16 bytes, .\build\mbed_pinmap_common.o(i.pinmap_pinout))
  [Stack]

  - Max Depth = 84 + In Cycle
  - Call Chain = pinmap_pinout ⇒ error (Cycle)
  [Calls]
  - >> error
  - >> pin_mode
  - >> pin_function
  [Called By]
  - >> serial_init

  pre_main (Thumb, 62 bytes, Stack size 24 bytes, .\build\mbed_boot.o(i.pre_main))
  [Stack]

  - Max Depth = 560 + Unknown Stack Size
  - Call Chain = pre_main ⇒ main ⇒ $Super$$main ⇒ Ting_Config() ⇒ mbed::Stream::scanf(const char*, ...) ⇒ vfscanf ⇒ __vfscanf_char_file ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> osMutexNew
  - >> main
  - >> __rt_lib_init
  [Address Reference Count : 1]
  - mbed_boot.o(i.mbed_start_main)

  rtos_idle_loop (Thumb, 10 bytes, Stack size 0 bytes, .\build\mbed_rtx_idle.o(i.rtos_idle_loop))
  [Called By]

  - >> osRtxIdleThread

  serial_baud (Thumb, 18 bytes, Stack size 16 bytes, .\build\serial_device.o(i.serial_baud))
  [Stack]

  - Max Depth = 68
  - Call Chain = serial_baud ⇒ init_uart ⇒ error (Cycle)
  [Calls]
  - >> init_uart
  [Called By]
  - >> init_serial()
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)

  serial_getc (Thumb, 36 bytes, Stack size 16 bytes, .\build\serial_device.o(i.serial_getc))
  [Stack]

  - Max Depth = 28
  - Call Chain = serial_getc ⇒ serial_readable
  [Calls]
  - >> serial_readable
  [Called By]
  - >> _sys_read
  - >> mbed::SerialBase::_base_getc()

  serial_init (Thumb, 378 bytes, Stack size 32 bytes, .\build\serial_device.o(i.serial_init))
  [Stack]

  - Max Depth = 236
  - Call Chain = serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> pinmap_pinout
  - >> pinmap_peripheral
  - >> mbed_assert_internal
  - >> pin_mode
  - >> pinmap_merge
  - >> init_uart
  - >> __aeabi_memcpy4
  [Called By]
  - >> mbed_error_vfprintf
  - >> init_serial()
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)

  serial_irq_handler (Thumb, 18 bytes, Stack size 12 bytes, .\build\serial_device.o(i.serial_irq_handler))
  [Stack]

  - Max Depth = 12
  - Call Chain = serial_irq_handler
  [Called By]
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)

  serial_irq_handler_asynch (Thumb, 304 bytes, Stack size 32 bytes, .\build\serial_device.o(i.serial_irq_handler_asynch))
  [Stack]

  - Max Depth = 80
  - Call Chain = serial_irq_handler_asynch ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT
  [Calls]
  - >> HAL_UART_IRQHandler
  - >> serial_rx_abort_asynch
  [Called By]
  - >> mbed::SerialBase::interrupt_handler_asynch()

  serial_irq_set (Thumb, 200 bytes, Stack size 40 bytes, .\build\serial_device.o(i.serial_irq_set))
  [Stack]

  - Max Depth = 40
  - Call Chain = serial_irq_set
  [Calls]
  - >> __NVIC_SetVector
  - >> __NVIC_EnableIRQ
  - >> __NVIC_DisableIRQ
  [Called By]
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)

  serial_putc (Thumb, 42 bytes, Stack size 24 bytes, .\build\serial_device.o(i.serial_putc))
  [Stack]

  - Max Depth = 32
  - Call Chain = serial_putc ⇒ serial_writable
  [Calls]
  - >> serial_writable
  [Called By]
  - >> mbed_error_vfprintf
  - >> _sys_write
  - >> mbed::SerialBase::_base_putc(int)

  serial_readable (Thumb, 58 bytes, Stack size 12 bytes, .\build\serial_api.o(i.serial_readable))
  [Stack]

  - Max Depth = 12
  - Call Chain = serial_readable
  [Called By]
  - >> serial_getc

  serial_rx_abort_asynch (Thumb, 92 bytes, Stack size 12 bytes, .\build\serial_device.o(i.serial_rx_abort_asynch))
  [Stack]

  - Max Depth = 12
  - Call Chain = serial_rx_abort_asynch
  [Called By]
  - >> serial_irq_handler_asynch

  serial_writable (Thumb, 24 bytes, Stack size 8 bytes, .\build\serial_api.o(i.serial_writable))
  [Stack]

  - Max Depth = 8
  - Call Chain = serial_writable
  [Called By]
  - >> serial_putc

  sleep_manager_can_deep_sleep (Thumb, 14 bytes, Stack size 0 bytes, .\build\mbed_sleep_manager.o(i.sleep_manager_can_deep_sleep))
  [Called By]

  - >> sleep_manager_sleep_auto

  sleep_manager_lock_deep_sleep (Thumb, 42 bytes, Stack size 8 bytes, .\build\mbed_sleep_manager.o(i.sleep_manager_lock_deep_sleep))
  [Stack]

  - Max Depth = 32 + In Cycle
  - Call Chain = sleep_manager_lock_deep_sleep ⇒ error (Cycle)
  [Calls]
  - >> error
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> core_util_atomic_incr_u16
  [Called By]
  - >> wait_us
  - >> default_idle_hook()
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)

  sleep_manager_sleep_auto (Thumb, 28 bytes, Stack size 8 bytes, .\build\mbed_sleep_manager.o(i.sleep_manager_sleep_auto))
  [Stack]

  - Max Depth = 292
  - Call Chain = sleep_manager_sleep_auto ⇒ hal_deepsleep ⇒ core_util_critical_section_exit ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> hal_sleep
  - >> hal_deepsleep
  - >> sleep_manager_can_deep_sleep
  [Called By]
  - >> default_idle_hook()

  sleep_manager_unlock_deep_sleep (Thumb, 36 bytes, Stack size 8 bytes, .\build\mbed_sleep_manager.o(i.sleep_manager_unlock_deep_sleep))
  [Stack]

  - Max Depth = 32 + In Cycle
  - Call Chain = sleep_manager_unlock_deep_sleep ⇒ error (Cycle)
  [Calls]
  - >> error
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> core_util_atomic_decr_u16
  [Called By]
  - >> wait_us
  - >> default_idle_hook()
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)
  - >> mbed::SerialBase::interrupt_handler_asynch()

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

  - Max Depth = 48
  - Call Chain = svcRtxDelay ⇒ osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxThreadWaitEnter
  [Address Reference Count : 1]
  - rtx_delay.o(i.osDelay)

  svcRtxKernelGetState (Thumb, 16 bytes, Stack size 8 bytes, .\build\rtx_kernel.o(i.svcRtxKernelGetState))
  [Stack]

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

  svcRtxKernelInitialize (Thumb, 668 bytes, Stack size 8 bytes, .\build\rtx_kernel.o(i.svcRtxKernelInitialize))
  [Stack]

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

  svcRtxKernelStart (Thumb, 240 bytes, Stack size 8 bytes, .\build\rtx_kernel.o(i.svcRtxKernelStart))
  [Stack]

  - Max Depth = 112
  - Call Chain = svcRtxKernelStart ⇒ svcRtxThreadNew ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> svcRtxThreadNew
  - >> osRtxThreadSwitch
  - >> osRtxSysTimerSetup
  - >> osRtxSysTimerEnable
  - >> ExtTick_EnableIRQ
  - >> EvrRtxKernelStarted
  - >> EvrRtxKernelError
  - >> osRtxThreadListGet
  [Address Reference Count : 1]
  - rtx_kernel.o(i.osKernelStart)

  svcRtxMessageQueueGet (Thumb, 300 bytes, Stack size 40 bytes, .\build\rtx_msgqueue.o(i.svcRtxMessageQueueGet))
  [Stack]

  - Max Depth = 104
  - Call Chain = svcRtxMessageQueueGet ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueueNotRetrieved
  - >> EvrRtxMessageQueueInserted
  - >> EvrRtxMessageQueueGetPending
  - >> EvrRtxMessageQueueError
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListPut
  - >> osRtxThreadListGet
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryPoolAlloc
  - >> osRtxThreadWaitEnter
  - >> osRtxThreadRegPtr
  - >> MessageQueueRemove
  - >> MessageQueuePut
  - >> MessageQueueGet
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - rtx_msgqueue.o(i.osMessageQueueGet)

  svcRtxMessageQueueNew (Thumb, 410 bytes, Stack size 48 bytes, .\build\rtx_msgqueue.o(i.svcRtxMessageQueueNew))
  [Stack]

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

  svcRtxMessageQueuePut (Thumb, 276 bytes, Stack size 40 bytes, .\build\rtx_msgqueue.o(i.svcRtxMessageQueuePut))
  [Stack]

  - Max Depth = 104
  - Call Chain = svcRtxMessageQueuePut ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueuePutPending
  - >> EvrRtxMessageQueueNotInserted
  - >> EvrRtxMessageQueueInserted
  - >> EvrRtxMessageQueueError
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListPut
  - >> osRtxThreadListGet
  - >> osRtxMemoryPoolAlloc
  - >> osRtxThreadWaitEnter
  - >> osRtxThreadRegPtr
  - >> MessageQueuePut
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - rtx_msgqueue.o(i.osMessageQueuePut)

  svcRtxMutexAcquire (Thumb, 258 bytes, Stack size 24 bytes, .\build\rtx_mutex.o(i.svcRtxMutexAcquire))
  [Stack]

  - Max Depth = 64
  - Call Chain = svcRtxMutexAcquire ⇒ osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxMutexNotAcquired
  - >> EvrRtxMutexError
  - >> EvrRtxMutexAcquired
  - >> EvrRtxMutexAcquirePending
  - >> osRtxThreadListPut
  - >> osRtxThreadWaitEnter
  - >> osRtxThreadListSort
  [Address Reference Count : 1]
  - rtx_mutex.o(i.osMutexAcquire)

  svcRtxMutexDelete (Thumb, 240 bytes, Stack size 24 bytes, .\build\rtx_mutex.o(i.svcRtxMutexDelete))
  [Stack]

  - Max Depth = 88
  - Call Chain = svcRtxMutexDelete ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxMutexError
  - >> EvrRtxMutexDestroyed
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxThreadDispatch
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryFree
  - >> osRtxThreadListSort
  [Address Reference Count : 1]
  - rtx_mutex.o(i.osMutexDelete)

  svcRtxMutexNew (Thumb, 172 bytes, Stack size 24 bytes, .\build\rtx_mutex.o(i.svcRtxMutexNew))
  [Stack]

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

  svcRtxMutexRelease (Thumb, 272 bytes, Stack size 32 bytes, .\build\rtx_mutex.o(i.svcRtxMutexRelease))
  [Stack]

  - Max Depth = 96
  - Call Chain = svcRtxMutexRelease ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxMutexReleased
  - >> EvrRtxMutexError
  - >> EvrRtxMutexAcquired
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxThreadDispatch
  [Address Reference Count : 1]
  - rtx_mutex.o(i.osMutexRelease)

  svcRtxThreadExit (Thumb, 142 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.svcRtxThreadExit))
  [Stack]

  - Max Depth = 96
  - Call Chain = svcRtxThreadExit ⇒ osRtxMutexOwnerRelease ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> osRtxThreadSwitch
  - >> EvrRtxThreadJoined
  - >> EvrRtxThreadDestroyed
  - >> osRtxThreadSetRunning
  - >> osRtxThreadGetRunning
  - >> osRtxThreadFree
  - >> osRtxKernelGetState
  - >> osRtxThreadWaitExit
  - >> osRtxThreadListGet
  - >> osRtxMutexOwnerRelease
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadExit)

  svcRtxThreadGetId (Thumb, 18 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.svcRtxThreadGetId))
  [Stack]

  - Max Depth = 8
  - Call Chain = svcRtxThreadGetId
  [Calls]
  - >> EvrRtxThreadGetId
  - >> osRtxThreadGetRunning
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadGetId)

  svcRtxThreadGetName (Thumb, 54 bytes, Stack size 16 bytes, .\build\rtx_thread.o(i.svcRtxThreadGetName))
  [Stack]

  - Max Depth = 16
  - Call Chain = svcRtxThreadGetName
  [Calls]
  - >> EvrRtxThreadGetName
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadGetName)

  svcRtxThreadNew (Thumb, 632 bytes, Stack size 64 bytes, .\build\rtx_thread.o(i.svcRtxThreadNew))
  [Stack]

  - Max Depth = 104
  - Call Chain = svcRtxThreadNew ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ error (Cycle)
  [Calls]
  - >> EvrRtxThreadCreated
  - >> osRtxThreadDispatch
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryPoolAlloc
  - >> osRtxMemoryFree
  - >> osRtxMemoryAlloc
  - >> EvrRtxThreadError
  [Called By]
  - >> svcRtxKernelStart
  [Address Reference Count : 1]
  - rtx_thread.o(i.osThreadContextNew)

  thread_terminate_hook (Thumb, 20 bytes, Stack size 8 bytes, .\build\thread.o(i.thread_terminate_hook))
  [Stack]

  - Max Depth = 8
  - Call Chain = thread_terminate_hook
  [Called By]
  - >> EvrRtxThreadExit

  ticker_irq_handler (Thumb, 90 bytes, Stack size 16 bytes, .\build\mbed_ticker_api.o(i.ticker_irq_handler))
  [Stack]

  - Max Depth = 112
  - Call Chain = ticker_irq_handler ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> update_present_time
  - >> schedule_interrupt
  [Called By]
  - >> us_ticker_irq_handler

  ticker_read (Thumb, 12 bytes, Stack size 8 bytes, .\build\mbed_ticker_api.o(i.ticker_read))
  [Stack]

  - Max Depth = 120
  - Call Chain = ticker_read ⇒ ticker_read_us ⇒ initialize ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> ticker_read_us
  [Called By]
  - >> wait_us

  ticker_read_us (Thumb, 24 bytes, Stack size 8 bytes, .\build\mbed_ticker_api.o(i.ticker_read_us))
  [Stack]

  - Max Depth = 112
  - Call Chain = ticker_read_us ⇒ initialize ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> update_present_time
  - >> initialize
  [Called By]
  - >> ticker_read

  timer_irq_handler (Thumb, 114 bytes, Stack size 8 bytes, .\build\hal_tick_32b.o(i.timer_irq_handler))
  [Stack]

  - Max Depth = 128
  - Call Chain = timer_irq_handler ⇒ us_ticker_irq_handler ⇒ ticker_irq_handler ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> us_ticker_irq_handler
  - >> HAL_IncTick
  [Address Reference Count : 1]
  - hal_tick_32b.o(i.HAL_InitTick)

  us_ticker_clear_interrupt (Thumb, 12 bytes, Stack size 0 bytes, .\build\us_ticker_32b.o(i.us_ticker_clear_interrupt))
  [Address Reference Count : 1]

  - mbed_us_ticker_api.o(.constdata)

  us_ticker_disable_interrupt (Thumb, 18 bytes, Stack size 0 bytes, .\build\us_ticker_32b.o(i.us_ticker_disable_interrupt))
  [Address Reference Count : 1]

  - mbed_us_ticker_api.o(.constdata)

  us_ticker_fire_interrupt (Thumb, 16 bytes, Stack size 0 bytes, .\build\us_ticker_32b.o(i.us_ticker_fire_interrupt))
  [Address Reference Count : 1]

  - mbed_us_ticker_api.o(.constdata)

  us_ticker_init (Thumb, 2 bytes, Stack size 0 bytes, .\build\us_ticker_32b.o(i.us_ticker_init))
  [Address Reference Count : 1]

  - mbed_us_ticker_api.o(.constdata)

  us_ticker_irq_handler (Thumb, 10 bytes, Stack size 8 bytes, .\build\mbed_us_ticker_api.o(i.us_ticker_irq_handler))
  [Stack]

  - Max Depth = 120
  - Call Chain = us_ticker_irq_handler ⇒ ticker_irq_handler ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> ticker_irq_handler
  [Called By]
  - >> timer_irq_handler

  us_ticker_read (Thumb, 6 bytes, Stack size 0 bytes, .\build\us_ticker_32b.o(i.us_ticker_read))
  [Called By]

  - >> hal_deepsleep
  [Address Reference Count : 1]
  - mbed_us_ticker_api.o(.constdata)

  us_ticker_set_interrupt (Thumb, 40 bytes, Stack size 0 bytes, .\build\us_ticker_32b.o(i.us_ticker_set_interrupt))
  [Address Reference Count : 1]

  - mbed_us_ticker_api.o(.constdata)

  wait (Thumb, 36 bytes, Stack size 16 bytes, .\build\mbed_wait_api_rtos.o(i.wait))
  [Stack]

  - Max Depth = 160
  - Call Chain = wait ⇒ wait_us ⇒ ticker_read ⇒ ticker_read_us ⇒ initialize ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> wait_us
  [Called By]
  - >> Ting_Config()

  wait_ms (Thumb, 18 bytes, Stack size 8 bytes, .\build\mbed_wait_api_rtos.o(i.wait_ms))
  [Stack]

  - Max Depth = 152
  - Call Chain = wait_ms ⇒ wait_us ⇒ ticker_read ⇒ ticker_read_us ⇒ initialize ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> wait_us
  [Called By]
  - >> mbed_die

  wait_us (Thumb, 70 bytes, Stack size 24 bytes, .\build\mbed_wait_api_rtos.o(i.wait_us))
  [Stack]

  - Max Depth = 144
  - Call Chain = wait_us ⇒ ticker_read ⇒ ticker_read_us ⇒ initialize ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> sleep_manager_lock_deep_sleep
  - >> sleep_manager_unlock_deep_sleep
  - >> core_util_are_interrupts_enabled
  - >> rtos::Thread::wait(unsigned)
  - >> ticker_read
  - >> get_us_ticker_data
  [Called By]
  - >> wait_ms
  - >> wait

  _get_lc_ctype (Thumb, 44 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(lc_ctype_c.o)(locale$$code))
  [Stack]

  - Max Depth = 8
  - Call Chain = _get_lc_ctype
  [Calls]
  - >> strcmp
  [Called By]
  - >> __rt_lib_init_lc_ctype_2
  [Address Reference Count : 1]
  - rt_ctype_table.o(.text)

  _get_lc_numeric (Thumb, 44 bytes, Stack size 8 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(lc_numeric_c.o)(locale$$code))
  [Stack]

  - Max Depth = 8
  - Call Chain = _get_lc_numeric
  [Calls]
  - >> strcmp
  [Called By]
  - >> __rt_lib_init_lc_numeric_2

  SingletonPtr⟨rtos::Mutex⟩::get() (Thumb, 88 bytes, Stack size 16 bytes, .\build\fatfilesystem.o(t._ZN12SingletonPtrIN4rtos5MutexEE3getEv))
  [Stack]

  - Max Depth = 244
  - Call Chain = SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  - >> rtos::Mutex::Mutex()
  - >> osMutexRelease
  - >> osMutexAcquire
  [Called By]
  - >> SingletonPtr⟨rtos::Mutex⟩::operator -⟩()

  SingletonPtr⟨rtos::Mutex⟩::operator -⟩() (Thumb, 12 bytes, Stack size 8 bytes, .\build\fatfilesystem.o(t._ZN12SingletonPtrIN4rtos5MutexEEptEv))
  [Stack]

  - Max Depth = 252
  - Call Chain = SingletonPtr⟨rtos::Mutex⟩::operator -⟩() ⇒ SingletonPtr⟨rtos::Mutex⟩::get() ⇒ rtos::Mutex::Mutex() ⇒ rtos::Mutex::constructor(const char*) ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> SingletonPtr⟨rtos::Mutex⟩::get()
  [Called By]
  - >> mbed::remove_filehandle(mbed::FileHandle*)
  - >> mbed::FileBase::FileBase(const char*, mbed::PathType)
  - >> mbed::FileBase::lookup(const char*, unsigned)
  - >> mbed::FileBase::~FileBase()
  - >> _sys_open

  mbed::Transaction⟨mbed::SPI⟩::Transaction() (Thumb, 28 bytes, Stack size 8 bytes, .\build\spi.o(t._ZN4mbed11TransactionINS_3SPIEEC1Ev))
  [Stack]

  - Max Depth = 24
  - Call Chain = mbed::Transaction⟨mbed::SPI⟩::Transaction() ⇒ mbed::transaction_t::transaction_t() ⇒ mbed::Callback⟨void(int)⟩::Callback(void(*)(int))
  [Calls]
  - >> mbed::transaction_t::transaction_t()
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - spi.o(i.__sti___7_SPI_cpp_ab1f1164)

  mbed::Transaction⟨mbed::SPI⟩::Transaction__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\spi.o(t._ZN4mbed11TransactionINS_3SPIEEC1Ev), UNUSED)

  mbed::Transaction⟨mbed::SPI⟩::~Transaction() (Thumb, 16 bytes, Stack size 8 bytes, .\build\spi.o(t._ZN4mbed11TransactionINS_3SPIEED1Ev))
  [Stack]

  - Max Depth = 24
  - Call Chain = mbed::Transaction⟨mbed::SPI⟩::~Transaction() ⇒ mbed::transaction_t::~transaction_t() ⇒ mbed::Callback⟨void(int)⟩::~Callback()
  [Calls]
  - >> mbed::transaction_t::~transaction_t()
  [Address Reference Count : 1]
  - spi.o(t._ZN4mbed14CircularBufferINS_11TransactionINS_3SPIEEELj2EjED1Ev)

  mbed::Transaction⟨mbed::SPI⟩::~Transaction__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\spi.o(t._ZN4mbed11TransactionINS_3SPIEED1Ev), UNUSED)

  mbed::CircularBuffer⟨mbed::Transaction⟨mbed::SPI⟩, (unsigned)2, unsigned⟩::~CircularBuffer() (Thumb, 20 bytes, Stack size 8 bytes, .\build\spi.o(t._ZN4mbed14CircularBufferINS_11TransactionINS_3SPIEEELj2EjED1Ev))
  [Stack]

  - Max Depth = 32
  - Call Chain = mbed::CircularBuffer⟨mbed::Transaction⟨mbed::SPI⟩, (unsigned)2, unsigned⟩::~CircularBuffer() ⇒ __aeabi_vec_dtor
  [Calls]
  - >> __aeabi_vec_dtor
  [Address Reference Count : 1]
  - spi.o(i.__sti___7_SPI_cpp_ab1f1164)

  mbed::CircularBuffer⟨mbed::Transaction⟨mbed::SPI⟩, (unsigned)2, unsigned⟩::~CircularBuffer__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\spi.o(t._ZN4mbed14CircularBufferINS_11TransactionINS_3SPIEEELj2EjED1Ev), UNUSED)

  void mbed::Callback⟨void(int)⟩::function_call⟨void(*)(int)⟩(const void*, int) (Thumb, 14 bytes, Stack size 16 bytes, .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEE13function_callIPS1_EEvPKvi))
  [Stack]

  - Max Depth = 16
  - Call Chain = void mbed::Callback⟨void(int)⟩::function_call⟨void(*)(int)⟩(const void*, int)
  [Address Reference Count : 1]
  - eventqueue.o(.constdata__ZZN4mbed8CallbackIFviEE8generateIPS1_EEvRKT_E3ops)

  void mbed::Callback⟨void(int)⟩::function_dtor⟨void(*)(int)⟩(void*) (Thumb, 2 bytes, Stack size 0 bytes, .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEE13function_dtorIPS1_EEvPv))
  [Address Reference Count : 1]

  - eventqueue.o(.constdata__ZZN4mbed8CallbackIFviEE8generateIPS1_EEvRKT_E3ops)

  void mbed::Callback⟨void(int)⟩::function_move⟨void(*)(int)⟩(void*, const void*) (Thumb, 14 bytes, Stack size 0 bytes, .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEE13function_moveIPS1_EEvPvPKv))
  [Address Reference Count : 1]

  - eventqueue.o(.constdata__ZZN4mbed8CallbackIFviEE8generateIPS1_EEvRKT_E3ops)

  mbed::Callback⟨void(int)⟩::Callback(void(*)(int)) (Thumb, 50 bytes, Stack size 8 bytes, .\build\serialbase.o(t._ZN4mbed8CallbackIFviEEC1EPS1_))
  [Stack]

  - Max Depth = 8
  - Call Chain = mbed::Callback⟨void(int)⟩::Callback(void(*)(int))
  [Called By]
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)
  - >> mbed::transaction_t::transaction_t()

  mbed::Callback⟨void(int)⟩::Callback__sub_object(void(*)(int)) (Thumb, 0 bytes, Stack size 8 bytes, .\build\serialbase.o(t._ZN4mbed8CallbackIFviEEC1EPS1_), UNUSED)

  mbed::Callback⟨void(int)⟩::~Callback() (Thumb, 20 bytes, Stack size 8 bytes, .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEED1Ev))
  [Stack]

  - Max Depth = 8
  - Call Chain = mbed::Callback⟨void(int)⟩::~Callback()
  [Called By]
  - >> mbed::SerialBase::~SerialBase()
  - >> mbed::transaction_t::~transaction_t()

  mbed::Callback⟨void(int)⟩::~Callback__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\eventqueue.o(t._ZN4mbed8CallbackIFviEED1Ev), UNUSED)

  void mbed::Callback⟨void()⟩::function_call⟨void(*)()⟩(const void*) (Thumb, 10 bytes, Stack size 8 bytes, .\build\atcmdparser.o(t._ZN4mbed8CallbackIFvvEE13function_callIPS1_EEvPKv))
  [Stack]

  - Max Depth = 8
  - Call Chain = void mbed::Callback⟨void()⟩::function_call⟨void(*)()⟩(const void*)
  [Address Reference Count : 1]
  - atcmdparser.o(.constdata__ZZN4mbed8CallbackIFvvEE8generateIPS1_EEvRKT_E3ops)

  void mbed::Callback⟨void()⟩::function_dtor⟨void(*)()⟩(void*) (Thumb, 2 bytes, Stack size 0 bytes, .\build\atcmdparser.o(t._ZN4mbed8CallbackIFvvEE13function_dtorIPS1_EEvPv))
  [Address Reference Count : 1]

  - atcmdparser.o(.constdata__ZZN4mbed8CallbackIFvvEE8generateIPS1_EEvRKT_E3ops)

  void mbed::Callback⟨void()⟩::function_move⟨void(*)()⟩(void*, const void*) (Thumb, 14 bytes, Stack size 0 bytes, .\build\atcmdparser.o(t._ZN4mbed8CallbackIFvvEE13function_moveIPS1_EEvPvPKv))
  [Address Reference Count : 1]

  - atcmdparser.o(.constdata__ZZN4mbed8CallbackIFvvEE8generateIPS1_EEvRKT_E3ops)

  mbed::Callback⟨void()⟩::Callback(void(*)()) (Thumb, 50 bytes, Stack size 8 bytes, .\build\equeue_mbed.o(t._ZN4mbed8CallbackIFvvEEC1EPS1_))
  [Stack]

  - Max Depth = 8
  - Call Chain = mbed::Callback⟨void()⟩::Callback(void(*)())
  [Called By]
  - >> mbed::SerialBase::~SerialBase()
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)
  - >> ⟨Func4⟩

  mbed::Callback⟨void()⟩::Callback__sub_object(void(*)()) (Thumb, 0 bytes, Stack size 8 bytes, .\build\equeue_mbed.o(t._ZN4mbed8CallbackIFvvEEC1EPS1_), UNUSED)

  mbed::Callback⟨void()⟩::Callback(const mbed::Callback⟨void()⟩&) (Thumb, 28 bytes, Stack size 16 bytes, .\build\socket.o(t._ZN4mbed8CallbackIFvvEEC1ERKS2_))
  [Stack]

  - Max Depth = 16
  - Call Chain = mbed::Callback⟨void()⟩::Callback(const mbed::Callback⟨void()⟩&)
  [Called By]
  - >> mbed::Callback⟨void()⟩::operator =(const mbed::Callback⟨void()⟩&)

  mbed::Callback⟨void()⟩::Callback__sub_object(const mbed::Callback⟨void()⟩&) (Thumb, 0 bytes, Stack size 16 bytes, .\build\socket.o(t._ZN4mbed8CallbackIFvvEEC1ERKS2_), UNUSED)

  mbed::Callback⟨void()⟩::~Callback() (Thumb, 20 bytes, Stack size 8 bytes, .\build\equeue_mbed.o(t._ZN4mbed8CallbackIFvvEED1Ev))
  [Stack]

  - Max Depth = 8
  - Call Chain = mbed::Callback⟨void()⟩::~Callback()
  [Called By]
  - >> mbed::SerialBase::~SerialBase()
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)
  - >> mbed::Callback⟨void()⟩::operator =(const mbed::Callback⟨void()⟩&)
  [Address Reference Count : 1]
  - serialbase.o(i._ZN4mbed10SerialBaseD1Ev)

  mbed::Callback⟨void()⟩::~Callback__sub_object() (Thumb, 0 bytes, Stack size 8 bytes, .\build\equeue_mbed.o(t._ZN4mbed8CallbackIFvvEED1Ev), UNUSED)

  mbed::Callback⟨void()⟩::operator =(const mbed::Callback⟨void()⟩&) (Thumb, 38 bytes, Stack size 16 bytes, .\build\socket.o(t._ZN4mbed8CallbackIFvvEEaSERKS2_))
  [Stack]

  - Max Depth = 32
  - Call Chain = mbed::Callback⟨void()⟩::operator =(const mbed::Callback⟨void()⟩&) ⇒ mbed::Callback⟨void()⟩::Callback(const mbed::Callback⟨void()⟩&)
  [Calls]
  - >> mbed::Callback⟨void()⟩::~Callback()
  - >> mbed::Callback⟨void()⟩::Callback(const mbed::Callback⟨void()⟩&)
  [Called By]
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)
  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)

  CThunk⟨mbed::SerialBase⟩::trampoline(mbed::SerialBase*, void*, void(mbed::SerialBase::**)(void*)) (Thumb, 72 bytes, Stack size 32 bytes, .\build\serialbase.o(t._ZN6CThunkIN4mbed10SerialBaseEE10trampolineEPS1_PvPMS1_FvS4_E))
  [Stack]

  - Max Depth = 32
  - Call Chain = CThunk⟨mbed::SerialBase⟩::trampoline(mbed::SerialBase*, void*, void(mbed::SerialBase::**)(void*))
  [Address Reference Count : 1]
  - serialbase.o(t._ZN6CThunkIN4mbed10SerialBaseEE4initEPS1_MS1_FvPvES4_)

  CThunk⟨mbed::SerialBase⟩::init(mbed::SerialBase*, void(mbed::SerialBase::*)(void*), void*) (Thumb, 72 bytes, Stack size 24 bytes, .\build\serialbase.o(t._ZN6CThunkIN4mbed10SerialBaseEE4initEPS1_MS1_FvPvES4_))
  [Stack]

  - Max Depth = 24
  - Call Chain = CThunk⟨mbed::SerialBase⟩::init(mbed::SerialBase*, void(mbed::SerialBase::*)(void*), void*)
  [Called By]
  - >> mbed::SerialBase::SerialBase(PinName, PinName, int)

  mbed::Callback⟨void(int)⟩::call(int) const (Thumb, 38 bytes, Stack size 16 bytes, .\build\serialbase.o(t._ZNK4mbed8CallbackIFviEE4callEi))
  [Stack]

  - Max Depth = 220
  - Call Chain = mbed::Callback⟨void(int)⟩::call(int) const ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> mbed_assert_internal
  [Called By]
  - >> mbed::SerialBase::interrupt_handler_asynch()

  mbed::Callback⟨void(int)⟩::operator bool() const (Thumb, 14 bytes, Stack size 0 bytes, .\build\serialbase.o(t._ZNK4mbed8CallbackIFviEEcvbEv))
  [Called By]

  - >> mbed::SerialBase::interrupt_handler_asynch()

  mbed::Callback⟨void()⟩::operator bool() const (Thumb, 14 bytes, Stack size 0 bytes, .\build\interruptin.o(t._ZNK4mbed8CallbackIFvvEEcvbEv))
  [Called By]

  - >> mbed::SerialBase::attach(mbed::Callback⟨void()⟩, mbed::SerialBase::IrqType)
  - >> mbed::SerialBase::_irq_handler(unsigned, SerialIrq)

  __aeabi_d2f (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(d2f.o)(x$fpl$d2f))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_d2f
  [Called By]
  - >> __mathlib_narrow

  _d2f (Thumb, 98 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(d2f.o)(x$fpl$d2f), UNUSED)
  [Calls]

  - >> __fpl_fretinf
  - >> __fpl_dnaninf

  __fpl_dcheck_NaN1 (Thumb, 10 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dcheck1.o)(x$fpl$dcheck1))
  [Calls]

  - >> __fpl_return_NaN
  [Called By]
  - >> __ARM_scalbn

  __fpl_dcmp_Inf (Thumb, 24 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dcmpi.o)(x$fpl$dcmpinf), UNUSED)
  [Called By]

  - >> _dcmple
  - >> _dcmpeq

  __aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(deqf.o)(x$fpl$deqf))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_cdcmpeq
  [Called By]
  - >> __hardfp_ldexp
  - >> __mathlib_narrow

  _dcmpeq (Thumb, 120 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(deqf.o)(x$fpl$deqf), UNUSED)
  [Calls]

  - >> __fpl_dcmp_Inf
  - >> __fpl_dnaninf

  __aeabi_cdcmple (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dleqf.o)(x$fpl$dleqf), UNUSED)

  _dcmple (Thumb, 120 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dleqf.o)(x$fpl$dleqf), UNUSED)
  [Calls]

  - >> __fpl_dcmp_Inf
  - >> __fpl_dnaninf

  __fpl_dcmple_InfNaN (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dleqf.o)(x$fpl$dleqf), UNUSED)
  [Called By]

  - >> _drcmple

  __aeabi_dmul (Thumb, 0 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dmul.o)(x$fpl$dmul))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_dmul
  [Called By]
  - >> __mathlib_dbl_underflow
  - >> __mathlib_dbl_overflow
  - >> frexp

  _dmul (Thumb, 332 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dmul.o)(x$fpl$dmul), UNUSED)
  [Calls]

  - >> __fpl_dretinf
  - >> __fpl_dnaninf

  __fpl_dnaninf (Thumb, 156 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dnaninf.o)(x$fpl$dnaninf), UNUSED)
  [Called By]

  - >> _dmul
  - >> _dcmple
  - >> _dcmpeq
  - >> _d2f

  __fpl_dretinf (Thumb, 12 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(dretinf.o)(x$fpl$dretinf), UNUSED)
  [Called By]

  - >> _dmul

  __aeabi_cdrcmple (Thumb, 0 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(drleqf.o)(x$fpl$drleqf))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_cdrcmple
  [Called By]
  - >> __mathlib_narrow

  _drcmple (Thumb, 108 bytes, Stack size 16 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(drleqf.o)(x$fpl$drleqf), UNUSED)
  [Calls]

  - >> __fpl_dcmple_InfNaN

  _fp_init (Thumb, 10 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(fpinit.o)(x$fpl$fpinit))
  [Called By]

  - >> __rt_lib_init_fp_1

  __fplib_config_fpu_vfp (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(fpinit.o)(x$fpl$fpinit), UNUSED)

  __fplib_config_pureend_doubles (Thumb, 0 bytes, Stack size unknown bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(fpinit.o)(x$fpl$fpinit), UNUSED)

  __fpl_fretinf (Thumb, 10 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(fretinf.o)(x$fpl$fretinf), UNUSED)
  [Called By]

  - >> _d2f

  _printf_fp_dec (Thumb, 4 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(printf1.o)(x$fpl$printf1))
  [Stack]

  - Max Depth = 320
  - Call Chain = _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _printf_fp_dec_real
  [Called By]
  - >> _printf_g
  - >> _printf_e
  - >> _printf_f

  _printf_fp_hex (Thumb, 4 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(printf2.o)(x$fpl$printf2))
  [Stack]

  - Max Depth = 112
  - Call Chain = _printf_fp_hex ⇒ _printf_fp_hex_real ⇒ _printf_fp_infnan ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_hex_real
  [Called By]
  - >> _printf_a

  __fpl_return_NaN (Thumb, 100 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(retnan.o)(x$fpl$retnan))
  [Calls]

  - >> __fpl_cmpreturn
  [Called By]
  - >> __fpl_dcheck_NaN1

  __ARM_scalbn (Thumb, 92 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(scalbn.o)(x$fpl$scalbn))
  [Calls]

  - >> __fpl_dcheck_NaN1
  [Called By]
  - >> __hardfp_ldexp

  _scanf_real (Thumb, 4 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(scanf1.o)(x$fpl$scanf1))
  [Stack]

  - Max Depth = 328
  - Call Chain = _scanf_real ⇒ _scanf_really_real ⇒ _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _scanf_really_real
  [Called By]
  - >> __vfscanf

  _scanf_hex_real (Thumb, 4 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(scanf2.o)(x$fpl$scanf2))
  [Stack]

  - Max Depth = 184
  - Call Chain = _scanf_hex_real ⇒ _scanf_really_hex_real ⇒ __support_ldexp ⇒ __hardfp_ldexp ⇒ __set_errno ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> _scanf_really_hex_real
  [Called By]
  - >> _scanf_really_real

  _scanf_infnan (Thumb, 4 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(scanf2.o)(x$fpl$scanf2))
  [Stack]

  - Max Depth = 72
  - Call Chain = _scanf_infnan ⇒ _scanf_really_infnan
  [Calls]
  - >> _scanf_really_infnan
  [Called By]
  - >> _scanf_really_real

  __fpl_cmpreturn (Thumb, 48 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\fz_wm.l(trapv.o)(x$fpl$trapveneer))
  [Called By]

  - >> __fpl_return_NaN

  ### Local Symbols

  LL_GPIO_SetPinMode (Thumb, 40 bytes, Stack size 12 bytes, .\build\gpio_api.o(i.LL_GPIO_SetPinMode))
  [Stack]

  - Max Depth = 12
  - Call Chain = LL_GPIO_SetPinMode
  [Called By]
  - >> gpio_dir

  gpio_write (Thumb, 20 bytes, Stack size 0 bytes, .\build\mbed_board.o(i.gpio_write))
  [Called By]

  - >> mbed_die

  mbed_cpy_nvic (Thumb, 34 bytes, Stack size 0 bytes, .\build\mbed_boot.o(i.mbed_cpy_nvic))
  [Called By]

  - >> __rt_entry

  _gpio_init_out (Thumb, 52 bytes, Stack size 24 bytes, .\build\mbed_gpio.o(i._gpio_init_out))
  [Stack]

  - Max Depth = 124
  - Call Chain = _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> gpio_dir
  - >> gpio_mode
  - >> gpio_init
  - >> gpio_write
  [Called By]
  - >> gpio_init_out_ex

  gpio_write (Thumb, 20 bytes, Stack size 0 bytes, .\build\mbed_gpio.o(i.gpio_write))
  [Called By]

  - >> _gpio_init_out

  init_serial() (Thumb, 34 bytes, Stack size 8 bytes, .\build\mbed_retarget.o(i._Z11init_serialv))
  [Stack]

  - Max Depth = 244
  - Call Chain = init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> serial_init
  - >> serial_baud
  [Called By]
  - >> _sys_write
  - >> _sys_read
  - >> _sys_open

  handle_open_errors(int, unsigned) (Thumb, 26 bytes, Stack size 16 bytes, .\build\mbed_retarget.o(i._Z18handle_open_errorsij))
  [Stack]

  - Max Depth = 56
  - Call Chain = handle_open_errors(int, unsigned) ⇒ __aeabi_errno_addr ⇒ __user_perthread_libspace ⇒ os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> _sys_open

  default_idle_hook() (Thumb, 28 bytes, Stack size 8 bytes, .\build\mbed_rtx_idle.o(i._Z17default_idle_hookv))
  [Stack]

  - Max Depth = 300
  - Call Chain = default_idle_hook() ⇒ sleep_manager_sleep_auto ⇒ hal_deepsleep ⇒ core_util_critical_section_exit ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> core_util_critical_section_exit
  - >> core_util_critical_section_enter
  - >> sleep_manager_lock_deep_sleep
  - >> sleep_manager_unlock_deep_sleep
  - >> sleep_manager_sleep_auto
  [Address Reference Count : 1]
  - mbed_rtx_idle.o(.data)

  convert_timestamp (Thumb, 42 bytes, Stack size 24 bytes, .\build\mbed_ticker_api.o(i.convert_timestamp))
  [Stack]

  - Max Depth = 24
  - Call Chain = convert_timestamp
  [Called By]
  - >> update_present_time

  initialize (Thumb, 58 bytes, Stack size 8 bytes, .\build\mbed_ticker_api.o(i.initialize))
  [Stack]

  - Max Depth = 104
  - Call Chain = initialize ⇒ schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> update_present_time
  - >> schedule_interrupt
  [Called By]
  - >> ticker_read_us

  schedule_interrupt (Thumb, 156 bytes, Stack size 48 bytes, .\build\mbed_ticker_api.o(i.schedule_interrupt))
  [Stack]

  - Max Depth = 96
  - Call Chain = schedule_interrupt ⇒ update_present_time ⇒ convert_timestamp
  [Calls]
  - >> update_present_time
  [Called By]
  - >> ticker_irq_handler
  - >> initialize

  update_present_time (Thumb, 38 bytes, Stack size 24 bytes, .\build\mbed_ticker_api.o(i.update_present_time))
  [Stack]

  - Max Depth = 48
  - Call Chain = update_present_time ⇒ convert_timestamp
  [Calls]
  - >> convert_timestamp
  [Called By]
  - >> ticker_read_us
  - >> ticker_irq_handler
  - >> schedule_interrupt
  - >> initialize

  LL_GPIO_SetPinOutputType (Thumb, 16 bytes, Stack size 8 bytes, .\build\pinmap.o(i.LL_GPIO_SetPinOutputType))
  [Stack]

  - Max Depth = 8
  - Call Chain = LL_GPIO_SetPinOutputType
  [Called By]
  - >> pin_mode
  - >> pin_function

  LL_GPIO_SetPinPull (Thumb, 40 bytes, Stack size 12 bytes, .\build\pinmap.o(i.LL_GPIO_SetPinPull))
  [Stack]

  - Max Depth = 12
  - Call Chain = LL_GPIO_SetPinPull
  [Called By]
  - >> stm_pin_PullConfig

  stm_pin_PullConfig (Thumb, 58 bytes, Stack size 16 bytes, .\build\pinmap.o(i.stm_pin_PullConfig))
  [Stack]

  - Max Depth = 28
  - Call Chain = stm_pin_PullConfig ⇒ LL_GPIO_SetPinPull
  [Calls]
  - >> LL_GPIO_SetPinPull
  [Called By]
  - >> pin_mode
  - >> pin_function

  stm_pin_SetAFPin (Thumb, 112 bytes, Stack size 16 bytes, .\build\pinmap.o(i.stm_pin_SetAFPin))
  [Stack]

  - Max Depth = 16
  - Call Chain = stm_pin_SetAFPin
  [Called By]
  - >> pin_function

  ExtTick_EnableIRQ (Thumb, 22 bytes, Stack size 0 bytes, .\build\rtx_kernel.o(i.ExtTick_EnableIRQ))
  [Called By]

  - >> svcRtxKernelStart

  __get_BASEPRI (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_kernel.o(i.__get_BASEPRI))
  [Called By]

  - >> osKernelStart
  - >> osKernelInitialize
  - >> osKernelGetState

  __get_CONTROL (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_kernel.o(i.__get_CONTROL))
  [Called By]

  - >> osKernelStart
  - >> osKernelInitialize
  - >> osKernelGetState

  __get_IPSR (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_kernel.o(i.__get_IPSR))
  [Called By]

  - >> osKernelStart
  - >> osKernelInitialize
  - >> osKernelGetState

  __get_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_kernel.o(i.__get_PRIMASK))
  [Called By]

  - >> osKernelStart
  - >> osKernelInitialize
  - >> osKernelGetState

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

  - Max Depth = 24
  - Call Chain = os_kernel_is_active ⇒ osKernelGetState ⇒ svcRtxKernelGetState
  [Calls]
  - >> osKernelGetState
  [Called By]
  - >> _mutex_release
  - >> _mutex_acquire
  - >> __user_perthread_libspace

  MessageQueueGet (Thumb, 54 bytes, Stack size 24 bytes, .\build\rtx_msgqueue.o(i.MessageQueueGet))
  [Stack]

  - Max Depth = 24
  - Call Chain = MessageQueueGet
  [Calls]
  - >> __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_dec32_nz
  - >> __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_wr8
  [Called By]
  - >> svcRtxMessageQueueGet
  - >> isrRtxMessageQueueGet

  MessageQueuePut (Thumb, 76 bytes, Stack size 24 bytes, .\build\rtx_msgqueue.o(i.MessageQueuePut))
  [Stack]

  - Max Depth = 24
  - Call Chain = MessageQueuePut
  [Calls]
  - >> __asm___14_rtx_msgqueue_c_3fd3b50e__atomic_inc32
  [Called By]
  - >> svcRtxMessageQueuePut
  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

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

  - >> svcRtxMessageQueueGet
  - >> osRtxMessageQueuePostProcess

  __get_BASEPRI (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(i.__get_BASEPRI))
  [Called By]

  - >> osMessageQueuePut
  - >> osMessageQueueNew
  - >> osMessageQueueGet

  __get_IPSR (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(i.__get_IPSR))
  [Called By]

  - >> osMessageQueuePut
  - >> osMessageQueueNew
  - >> osMessageQueueGet

  __get_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_msgqueue.o(i.__get_PRIMASK))
  [Called By]

  - >> osMessageQueuePut
  - >> osMessageQueueNew
  - >> osMessageQueueGet

  isrRtxMessageQueueGet (Thumb, 144 bytes, Stack size 32 bytes, .\build\rtx_msgqueue.o(i.isrRtxMessageQueueGet))
  [Stack]

  - Max Depth = 64
  - Call Chain = isrRtxMessageQueueGet ⇒ osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> EvrRtxMessageQueueRetrieved
  - >> EvrRtxMessageQueueNotRetrieved
  - >> EvrRtxMessageQueueError
  - >> osRtxPostProcess
  - >> MessageQueueGet
  - >> __aeabi_memcpy
  [Called By]
  - >> osMessageQueueGet

  isrRtxMessageQueuePut (Thumb, 158 bytes, Stack size 32 bytes, .\build\rtx_msgqueue.o(i.isrRtxMessageQueuePut))
  [Stack]

  - Max Depth = 64
  - Call Chain = isrRtxMessageQueuePut ⇒ osRtxPostProcess ⇒ isr_queue_put
  [Calls]
  - >> EvrRtxMessageQueueNotInserted
  - >> EvrRtxMessageQueueInsertPending
  - >> EvrRtxMessageQueueError
  - >> osRtxPostProcess
  - >> osRtxMemoryPoolAlloc
  - >> __aeabi_memcpy
  [Called By]
  - >> osMessageQueuePut

  __get_BASEPRI (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_mutex.o(i.__get_BASEPRI))
  [Called By]

  - >> osMutexNew
  - >> osMutexRelease
  - >> osMutexAcquire
  - >> osMutexDelete

  __get_IPSR (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_mutex.o(i.__get_IPSR))
  [Called By]

  - >> osMutexNew
  - >> osMutexRelease
  - >> osMutexAcquire
  - >> osMutexDelete

  __get_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, .\build\rtx_mutex.o(i.__get_PRIMASK))
  [Called By]

  - >> osMutexNew
  - >> osMutexRelease
  - >> osMutexAcquire
  - >> osMutexDelete

  isr_queue_get (Thumb, 44 bytes, Stack size 16 bytes, .\build\rtx_system.o(i.isr_queue_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = isr_queue_get
  [Calls]
  - >> __asm___12_rtx_system_c_024f2f18__atomic_dec16_nz
  - >> __asm___12_rtx_system_c_024f2f18__atomic_inc16_lim
  [Called By]
  - >> osRtxPendSV_Handler

  isr_queue_put (Thumb, 56 bytes, Stack size 24 bytes, .\build\rtx_system.o(i.isr_queue_put))
  [Stack]

  - Max Depth = 24
  - Call Chain = isr_queue_put
  [Calls]
  - >> __asm___12_rtx_system_c_024f2f18__atomic_inc16_lim
  - >> __asm___12_rtx_system_c_024f2f18__atomic_inc16_lt
  [Called By]
  - >> osRtxPostProcess

  ThreadFlagsCheck (Thumb, 86 bytes, Stack size 24 bytes, .\build\rtx_thread.o(i.ThreadFlagsCheck))
  [Stack]

  - Max Depth = 24
  - Call Chain = ThreadFlagsCheck
  [Calls]
  - >> __asm___12_rtx_thread_c_add96be5__atomic_chk32_any
  - >> __asm___12_rtx_thread_c_add96be5__atomic_chk32_all
  [Called By]
  - >> osRtxThreadPostProcess

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

  - >> osThreadGetId
  - >> osThreadGetName
  - >> osThreadContextNew

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

  - >> osThreadGetId
  - >> osThreadGetName
  - >> osThreadContextNew

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

  - >> osThreadGetId
  - >> osThreadGetName
  - >> osThreadContextNew

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

  - >> svcRtxThreadExit
  - >> osRtxThreadDispatch
  - >> osRtxThreadWaitEnter

  osRtxThreadFree (Thumb, 92 bytes, Stack size 8 bytes, .\build\rtx_thread.o(i.osRtxThreadFree))
  [Stack]

  - Max Depth = 32
  - Call Chain = osRtxThreadFree ⇒ osRtxMemoryFree
  [Calls]
  - >> osRtxMemoryPoolFree
  - >> osRtxMemoryFree
  [Called By]
  - >> svcRtxThreadExit

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

  - >> osRtxThreadStackCheck
  - >> svcRtxThreadGetId
  - >> svcRtxThreadExit
  - >> osRtxThreadDispatch
  - >> osRtxThreadWaitEnter

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

  - >> svcRtxThreadExit

  TimerInsert (Thumb, 58 bytes, Stack size 12 bytes, .\build\rtx_timer.o(i.TimerInsert))
  [Stack]

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

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

  - >> osRtxTimerTick

  __NVIC_DisableIRQ (Thumb, 54 bytes, Stack size 0 bytes, .\build\serial_device.o(i.__NVIC_DisableIRQ))
  [Called By]

  - >> serial_irq_set

  __NVIC_EnableIRQ (Thumb, 26 bytes, Stack size 0 bytes, .\build\serial_device.o(i.__NVIC_EnableIRQ))
  [Called By]

  - >> serial_irq_set

  __NVIC_SetVector (Thumb, 14 bytes, Stack size 0 bytes, .\build\serial_device.o(i.__NVIC_SetVector))
  [Called By]

  - >> serial_irq_set

  uart1_irq (Thumb, 10 bytes, Stack size 8 bytes, .\build\serial_device.o(i.uart1_irq))
  [Stack]

  - Max Depth = 24
  - Call Chain = uart1_irq ⇒ uart_irq
  [Calls]
  - >> uart_irq
  [Address Reference Count : 1]
  - serial_device.o(i.serial_irq_set)

  uart2_irq (Thumb, 10 bytes, Stack size 8 bytes, .\build\serial_device.o(i.uart2_irq))
  [Stack]

  - Max Depth = 24
  - Call Chain = uart2_irq ⇒ uart_irq
  [Calls]
  - >> uart_irq
  [Address Reference Count : 1]
  - serial_device.o(i.serial_irq_set)

  uart6_irq (Thumb, 10 bytes, Stack size 8 bytes, .\build\serial_device.o(i.uart6_irq))
  [Stack]

  - Max Depth = 24
  - Call Chain = uart6_irq ⇒ uart_irq
  [Calls]
  - >> uart_irq
  [Address Reference Count : 1]
  - serial_device.o(i.serial_irq_set)

  uart_irq (Thumb, 116 bytes, Stack size 16 bytes, .\build\serial_device.o(i.uart_irq))
  [Stack]

  - Max Depth = 16
  - Call Chain = uart_irq
  [Called By]
  - >> uart6_irq
  - >> uart2_irq
  - >> uart1_irq

  ⟨Func4⟩ (Thumb, 14 bytes, Stack size 8 bytes, .\build\serialbase.o(i.))
  [Stack]

  - Max Depth = 16
  - Call Chain = ⟨Func4⟩ ⇒ mbed::Callback⟨void()⟩::Callback(void(*)())
  [Calls]
  - >> mbed::Callback⟨void()⟩::Callback(void(*)())
  [Address Reference Count : 1]
  - serialbase.o(i._ZN4mbed10SerialBaseC1E7PinNameS1_i)

  __sti___7_SPI_cpp_ab1f1164 (Thumb, 44 bytes, Stack size 16 bytes, .\build\spi.o(i.__sti___7_SPI_cpp_ab1f1164))
  [Stack]

  - Max Depth = 40
  - Call Chain = __sti___7_SPI_cpp_ab1f1164 ⇒ __aeabi_vec_ctor_nocookie_nodtor
  [Calls]
  - >> __aeabi_atexit
  - >> __aeabi_vec_ctor_nocookie_nodtor
  [Address Reference Count : 1]
  - spi.o(.init_array)

  UART_DMAAbortOnError (Thumb, 20 bytes, Stack size 16 bytes, .\build\stm32f4xx_hal_uart.o(i.UART_DMAAbortOnError))
  [Stack]

  - Max Depth = 24
  - Call Chain = UART_DMAAbortOnError ⇒ HAL_UART_ErrorCallback
  [Calls]
  - >> HAL_UART_ErrorCallback
  [Address Reference Count : 1]
  - stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler)

  UART_EndRxTransfer (Thumb, 32 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_uart.o(i.UART_EndRxTransfer))
  [Called By]

  - >> HAL_UART_IRQHandler

  UART_EndTransmit_IT (Thumb, 32 bytes, Stack size 8 bytes, .\build\stm32f4xx_hal_uart.o(i.UART_EndTransmit_IT))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_EndTransmit_IT
  [Calls]
  - >> HAL_UART_TxCpltCallback
  [Called By]
  - >> HAL_UART_IRQHandler

  UART_Receive_IT (Thumb, 154 bytes, Stack size 16 bytes, .\build\stm32f4xx_hal_uart.o(i.UART_Receive_IT))
  [Stack]

  - Max Depth = 16
  - Call Chain = UART_Receive_IT
  [Calls]
  - >> HAL_UART_RxCpltCallback
  [Called By]
  - >> HAL_UART_IRQHandler

  UART_SetConfig (Thumb, 864 bytes, Stack size 24 bytes, .\build\stm32f4xx_hal_uart.o(i.UART_SetConfig))
  [Stack]

  - Max Depth = 28
  - Call Chain = UART_SetConfig ⇒ HAL_RCC_GetPCLK1Freq
  [Calls]
  - >> HAL_RCC_GetPCLK1Freq
  - >> HAL_RCC_GetPCLK2Freq
  [Called By]
  - >> HAL_UART_Init

  UART_Transmit_IT (Thumb, 104 bytes, Stack size 0 bytes, .\build\stm32f4xx_hal_uart.o(i.UART_Transmit_IT))
  [Called By]

  - >> HAL_UART_IRQHandler

  __sti___8_main_cpp_State (Thumb, 54 bytes, Stack size 16 bytes, .\build\main.o(i.__sti___8_main_cpp_State))
  [Stack]

  - Max Depth = 508 + Unknown Stack Size
  - Call Chain = __sti___8_main_cpp_State ⇒ mbed::Serial::Serial(PinName, PinName, const char*, int) ⇒ mbed::Stream::Stream__sub_object(const char*) ⇒ mbed::fdopen(mbed::FileHandle*, const char*) ⇒ mbed::mbed_fdopen(mbed::FileHandle*, const char*) ⇒ fopen ⇒ _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> gpio_init_out
  - >> __aeabi_atexit
  - >> mbed::Serial::Serial(PinName, PinName, const char*, int)
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - main.o(.init_array)

  Heap1_SizeAdjust (Thumb, 8 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(h1_alloc_mt.o)(.text))
  [Called By]

  - >> _malloc_internal

  _freopen_locked (Thumb, 174 bytes, Stack size 32 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(fopen_locked.o)(.text))
  [Stack]

  - Max Depth = 388
  - Call Chain = _freopen_locked ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ init_serial() ⇒ serial_init ⇒ mbed_assert_internal ⇒ mbed_die ⇒ gpio_init_out ⇒ gpio_init_out_ex ⇒ _gpio_init_out ⇒ gpio_init ⇒ gpio_set ⇒ mbed_assert_internal (Cycle)
  [Calls]
  - >> _sys_open
  - >> _mutex_release
  - >> _mutex_acquire
  - >> _fseek
  - >> _fclose_internal
  [Called By]
  - >> fopen
  - >> freopen

  _printf_input_char (Thumb, 10 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_char_common.o)(.text))
  [Address Reference Count : 1]

  - _printf_char_common.o(.text)

  _scanf_char_input (Thumb, 12 bytes, Stack size 0 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_char.o)(.text))
  [Address Reference Count : 1]

  - scanf_char.o(.text)

  _fp_digits (Thumb, 428 bytes, Stack size 96 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(_printf_fp_dec.o)(.text))
  [Stack]

  - Max Depth = 216
  - Call Chain = _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> _btod_emul
  - >> _btod_ediv
  - >> _btod_d2e
  - >> _btod_etento
  - >> _ll_udiv10
  [Called By]
  - >> _printf_fp_dec_real

  _fp_value (Thumb, 508 bytes, Stack size 88 bytes, D:\Program Files\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(scanf_fp.o)(.text))
  [Stack]

  - Max Depth = 208
  - Call Chain = _fp_value ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
  [Calls]
  - >> __aeabi_errno_addr
  - >> _btod_emuld
  - >> _btod_edivd
  - >> _btod_etento
  [Called By]
  - >> _scanf_really_real

  ### Undefined Global Symbols