# Static Call Graph for image .\obj\LedTube.axf

#<CALLGRAPH># ARM Linker, 5060528: Last Updated: Thu Feb 28 20:20:06 2019

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

### Call chain for Maximum Stack Depth:

main ⇒ checkUpdateFlash ⇒ writeFlash ⇒ eraseFlashSector ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- SVC_Handler ⇒ SVC_Handler
- DebugMon_Handler ⇒ DebugMon_Handler
- PendSV_Handler ⇒ PendSV_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler
- pullDMA_Rxdata ⇒ crash
- injectInParser ⇒ crash
- addNewCommand ⇒ crash

  ### Function Pointers

  - ADC_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - BusFault_Handler from stm32f4xx_it.o(i.BusFault_Handler) referenced from startup_stm32f446xx.o(RESET)
  - CAN1_RX0_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CAN1_RX1_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CAN1_SCE_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CAN1_TX_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CAN2_RX0_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CAN2_RX1_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CAN2_SCE_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CAN2_TX_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - CEC_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DCMI_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream0_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream1_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream2_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream3_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream4_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream5_IRQHandler from stm32f4xx_it.o(i.DMA1_Stream5_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream6_IRQHandler from stm32f4xx_it.o(i.DMA1_Stream6_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - DMA1_Stream7_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream0_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream1_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream2_IRQHandler from stm32f4xx_it.o(i.DMA2_Stream2_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream3_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream4_IRQHandler from stm32f4xx_it.o(i.DMA2_Stream4_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream5_IRQHandler from stm32f4xx_it.o(i.DMA2_Stream5_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream6_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - DMA2_Stream7_IRQHandler from stm32f4xx_it.o(i.DMA2_Stream7_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - DebugMon_Handler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - EXTI0_IRQHandler from stm32f4xx_it.o(i.EXTI0_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - EXTI15_10_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - EXTI1_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - EXTI2_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - EXTI3_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - EXTI4_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - EXTI9_5_IRQHandler from stm32f4xx_it.o(i.EXTI9_5_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - FLASH_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - FMC_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - FPU_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - HardFault_Handler from stm32f4xx_it.o(i.HardFault_Handler) referenced from startup_stm32f446xx.o(RESET)
  - I2C1_ER_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - I2C1_EV_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - I2C2_ER_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - I2C2_EV_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - I2C3_ER_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - I2C3_EV_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - I2C4_Error_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - I2C4_Event_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - MemManage_Handler from stm32f4xx_it.o(i.MemManage_Handler) referenced from startup_stm32f446xx.o(RESET)
  - NMI_Handler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - OTG_FS_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - OTG_FS_WKUP_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - OTG_HS_EP1_IN_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - OTG_HS_EP1_OUT_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - OTG_HS_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - OTG_HS_WKUP_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - PVD_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - PendSV_Handler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - QUADSPI_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - RCC_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - RTC_Alarm_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - RTC_WKUP_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - Reset_Handler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SAI1_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SAI2_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SDIO_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SPDIF_RX_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SPI1_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SPI2_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SPI3_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SPI4_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SVC_Handler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - SysTick_Handler from stm32f4xx_it.o(i.SysTick_Handler) referenced from startup_stm32f446xx.o(RESET)
  - SystemInit from system_stm32f4xx.o(i.SystemInit) referenced from startup_stm32f446xx.o(.text)
  - TAMP_STAMP_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM1_BRK_TIM9_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM1_TRG_COM_TIM11_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM1_UP_TIM10_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM2_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM3_IRQHandler from stm32f4xx_it.o(i.TIM3_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - TIM4_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM5_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM6_DAC_IRQHandler from stm32f4xx_it.o(i.TIM6_DAC_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - TIM7_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM8_BRK_TIM12_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM8_CC_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM8_TRG_COM_TIM14_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - TIM8_UP_TIM13_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - UART4_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - UART5_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - UART_DMAError from stm32f4xx_hal_uart.o(i.UART_DMAError) referenced from stm32f4xx_hal_uart.o(i.HAL_UART_Receive_DMA)
  - UART_DMAReceiveCplt from stm32f4xx_hal_uart.o(i.UART_DMAReceiveCplt) referenced from stm32f4xx_hal_uart.o(i.HAL_UART_Receive_DMA)
  - UART_DMARxHalfCplt from stm32f4xx_hal_uart.o(i.UART_DMARxHalfCplt) referenced from stm32f4xx_hal_uart.o(i.HAL_UART_Receive_DMA)
  - USART1_IRQHandler from stm32f4xx_it.o(i.USART1_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - USART2_IRQHandler from stm32f4xx_it.o(i.USART2_IRQHandler) referenced from startup_stm32f446xx.o(RESET)
  - USART3_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - USART6_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - UsageFault_Handler from stm32f4xx_it.o(i.UsageFault_Handler) referenced from startup_stm32f446xx.o(RESET)
  - WWDG_IRQHandler from startup_stm32f446xx.o(.text) referenced from startup_stm32f446xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f446xx.o(.text)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)

  ### Global Symbols

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

  - startup_stm32f446xx.o(.text)

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

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

  - >> __scatterload

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

  - >> __scatterload

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

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

  _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

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

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

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

  - startup_stm32f446xx.o(RESET)

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

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

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f446xx.o(.text))
  [Calls]

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

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

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

  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f446xx.o(.text))
  [Calls]

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

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

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

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - startup_stm32f446xx.o(RESET)

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

  - >> randfill
  - >> random

  srand (Thumb, 6 bytes, Stack size 0 bytes, rand.o(.text))
  [Called By]

  - >> ledstripXmax
  - >> generateGameOfLife

  __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
  [Called By]

  - >> readImageFromFlash
  - >> writeFlash
  - >> injectInParser
  - >> getNextCommand

  __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text))
  [Called By]

  - >> wifiPathThru
  - >> main

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

  __aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))
  [Called By]

  - >> readImageFromFlash
  - >> generateWhite
  - >> _memset$wrapper
  - >> __aeabi_memclr

  __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

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

  - >> __aeabi_memset
  [Called By]
  - >> generateBlack

  __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

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

  _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memset

  strlen (Thumb, 14 bytes, Stack size 0 bytes, strlen.o(.text))
  [Called By]

  - >> initRxParser
  - >> sendWIFIString
  - >> getWIFI_OKorERROR

  strcmp (Thumb, 28 bytes, Stack size 8 bytes, strcmp.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = strcmp
  [Called By]
  - >> getWIFI_OKorERROR

  strcpy (Thumb, 18 bytes, Stack size 0 bytes, strcpy.o(.text))
  [Called By]

  - >> sendWIFIString

  __aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_lasr
  - >> __aeabi_llsl
  - >> _double_round
  - >> _double_epilogue
  [Called By]
  - >> generatePlasma
  - >> __kernel_poly
  - >> __mathlib_dbl_infnan
  - >> __aeabi_dsub
  - >> __aeabi_drsub
  - >> __hardfp_exp

  __aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = __aeabi_dsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dadd
  [Called By]
  - >> __hardfp_exp

  __aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dadd
  [Called By]
  - >> __hardfp_exp

  __aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> fonctionGaussienne
  - >> __kernel_poly
  - >> __mathlib_dbl_underflow
  - >> __mathlib_dbl_overflow
  - >> __hardfp_exp

  __aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __aeabi_ddiv ⇒ _double_round
  [Calls]
  - >> _double_round
  [Called By]
  - >> fonctionGaussienne
  - >> main
  - >> __hardfp_exp

  __aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = __aeabi_i2d ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> main
  - >> __hardfp_exp

  __aeabi_ui2d (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = __aeabi_ui2d ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> main

  __aeabi_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_d2iz
  [Calls]
  - >> __aeabi_llsr
  [Called By]
  - >> main
  - >> __hardfp_exp

  __aeabi_f2d (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
  [Called By]

  - >> fonctionGaussienne
  - >> generatePlasma

  __aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_d2f
  [Calls]
  - >> _float_round
  [Called By]
  - >> fonctionGaussienne
  - >> generatePlasma
  - >> main

  __aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
  [Called By]

  - >> __aeabi_dadd
  - >> _double_epilogue

  _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

  __aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
  [Called By]

  - >> __aeabi_d2iz
  - >> _double_epilogue
  - >> _dsqrt

  _ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

  __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))
  [Called By]

  - >> __aeabi_dadd

  _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)

  __I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)

  _float_round (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
  [Called By]

  - >> __aeabi_d2f

  _float_epilogue (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text), UNUSED)

  _double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _double_round
  [Called By]
  - >> __aeabi_dadd
  - >> __aeabi_ddiv
  - >> _double_epilogue
  - >> _dsqrt

  _double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> _double_round
  [Called By]
  - >> __aeabi_dmul
  - >> __aeabi_dadd
  - >> __aeabi_ui2d
  - >> __aeabi_i2d

  _dsqrt (Thumb, 162 bytes, Stack size 32 bytes, dsqrt.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _dsqrt ⇒ _double_round
  [Calls]
  - >> __aeabi_llsr
  - >> _double_round
  [Called By]
  - >> __hardfp_sqrt

  __aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)

  __aeabi_cdcmple (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
  [Called By]

  - >> __hardfp_exp

  __aeabi_cdrcmple (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text))
  [Called By]

  - >> __hardfp_exp

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

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

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

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

  __decompress1 (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

  BusFault_Handler (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.BusFault_Handler))
  [Stack]

  - Max Depth = 168
  - Call Chain = BusFault_Handler ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  DMA1_Stream5_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.DMA1_Stream5_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = DMA1_Stream5_IRQHandler ⇒ HAL_DMA_IRQHandler
  [Calls]
  - >> HAL_DMA_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  DMA1_Stream6_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.DMA1_Stream6_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = DMA1_Stream6_IRQHandler ⇒ HAL_DMA_IRQHandler
  [Calls]
  - >> HAL_DMA_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  DMA2_Stream2_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.DMA2_Stream2_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = DMA2_Stream2_IRQHandler ⇒ HAL_DMA_IRQHandler
  [Calls]
  - >> HAL_DMA_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  DMA2_Stream4_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.DMA2_Stream4_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = DMA2_Stream4_IRQHandler ⇒ HAL_DMA_IRQHandler
  [Calls]
  - >> HAL_DMA_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  DMA2_Stream5_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.DMA2_Stream5_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = DMA2_Stream5_IRQHandler ⇒ HAL_DMA_IRQHandler
  [Calls]
  - >> HAL_DMA_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  DMA2_Stream7_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.DMA2_Stream7_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = DMA2_Stream7_IRQHandler ⇒ HAL_DMA_IRQHandler
  [Calls]
  - >> HAL_DMA_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  EXTI0_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.EXTI0_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = EXTI0_IRQHandler ⇒ HAL_GPIO_EXTI_IRQHandler ⇒ HAL_GPIO_EXTI_Callback ⇒ myWait1ms
  [Calls]
  - >> HAL_GPIO_EXTI_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  EXTI9_5_IRQHandler (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.EXTI9_5_IRQHandler))
  [Stack]

  - Max Depth = 32
  - Call Chain = EXTI9_5_IRQHandler ⇒ dmaUrgentStop ⇒ HAL_DMA_Abort
  [Calls]
  - >> dmaUrgentStop
  - >> HAL_GPIO_EXTI_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  FLASH_Erase_Sector (Thumb, 86 bytes, Stack size 0 bytes, stm32f4xx_hal_flash_ex.o(i.FLASH_Erase_Sector))
  [Called By]

  - >> HAL_FLASHEx_Erase

  FLASH_FlushCaches (Thumb, 84 bytes, Stack size 0 bytes, stm32f4xx_hal_flash_ex.o(i.FLASH_FlushCaches))
  [Called By]

  - >> HAL_FLASHEx_Erase

  FLASH_WaitForLastOperation (Thumb, 88 bytes, Stack size 16 bytes, stm32f4xx_hal_flash.o(i.FLASH_WaitForLastOperation))
  [Stack]

  - Max Depth = 16
  - Call Chain = FLASH_WaitForLastOperation
  [Calls]
  - >> HAL_GetTick
  - >> FLASH_SetErrorCode
  [Called By]
  - >> HAL_FLASH_Program
  - >> HAL_FLASHEx_Erase

  GoToStandby (Thumb, 38 bytes, Stack size 0 bytes, remote.o(i.GoToStandby))
  [Stack]

  - Max Depth = 64
  - Call Chain = GoToStandby ⇒ PA0GPIOInputWithInterrupt ⇒ HAL_GPIO_Init
  [Calls]
  - >> PA0GPIOInputWithInterrupt
  - >> HAL_PWR_EnterSTOPMode
  [Called By]
  - >> goSleepWaitOffOn

  HAL_DMA_Abort (Thumb, 90 bytes, Stack size 16 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_Abort))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_DMA_Abort
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> dmaUrgentStop

  HAL_DMA_IRQHandler (Thumb, 470 bytes, Stack size 24 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_DMA_IRQHandler
  [Called By]
  - >> DMA2_Stream7_IRQHandler
  - >> DMA2_Stream5_IRQHandler
  - >> DMA2_Stream4_IRQHandler
  - >> DMA2_Stream2_IRQHandler
  - >> DMA1_Stream6_IRQHandler
  - >> DMA1_Stream5_IRQHandler

  HAL_DMA_Init (Thumb, 144 bytes, Stack size 16 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_DMA_Init
  [Calls]
  - >> DMA_CalcBaseAndBitshift
  [Called By]
  - >> HAL_UART_MspInit
  - >> HAL_TIM_Base_MspInit

  HAL_DMA_PollForTransfer (Thumb, 356 bytes, Stack size 40 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_PollForTransfer))
  [Stack]

  - Max Depth = 40
  - Call Chain = HAL_DMA_PollForTransfer
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> dmaWait
  - >> dmaQuickBlack

  HAL_DMA_Start (Thumb, 62 bytes, Stack size 8 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_Start))
  [Stack]

  - Max Depth = 12
  - Call Chain = HAL_DMA_Start ⇒ DMA_SetConfig
  [Calls]
  - >> DMA_SetConfig
  [Called By]
  - >> dmaLedDrive2

  HAL_DMA_Start_IT (Thumb, 82 bytes, Stack size 8 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_Start_IT))
  [Stack]

  - Max Depth = 12
  - Call Chain = HAL_DMA_Start_IT ⇒ DMA_SetConfig
  [Calls]
  - >> DMA_SetConfig
  [Called By]
  - >> HAL_UART_Receive_DMA

  HAL_Delay (Thumb, 22 bytes, Stack size 16 bytes, stm32f4xx_hal.o(i.HAL_Delay))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_Delay
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> dmaQuickBlack

  HAL_FLASHEx_Erase (Thumb, 162 bytes, Stack size 24 bytes, stm32f4xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase))
  [Stack]

  - Max Depth = 40
  - Call Chain = HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_FlushCaches
  - >> FLASH_Erase_Sector
  - >> FLASH_WaitForLastOperation
  - >> FLASH_MassErase
  [Called By]
  - >> eraseFlashSector

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

  - >> flash
  - >> eraseFlashSector

  HAL_FLASH_Program (Thumb, 118 bytes, Stack size 24 bytes, stm32f4xx_hal_flash.o(i.HAL_FLASH_Program))
  [Stack]

  - Max Depth = 40
  - Call Chain = HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_WaitForLastOperation
  - >> FLASH_Program_Word
  - >> FLASH_Program_HalfWord
  - >> FLASH_Program_DoubleWord
  - >> FLASH_Program_Byte
  [Called By]
  - >> flash

  HAL_FLASH_Unlock (Thumb, 28 bytes, Stack size 0 bytes, stm32f4xx_hal_flash.o(i.HAL_FLASH_Unlock))
  [Called By]

  - >> flash
  - >> eraseFlashSector

  HAL_GPIO_EXTI_Callback (Thumb, 40 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.HAL_GPIO_EXTI_Callback))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_GPIO_EXTI_Callback ⇒ myWait1ms
  [Calls]
  - >> myWait1ms
  - >> PA0GPIOInputNoInterrupt
  [Called By]
  - >> HAL_GPIO_EXTI_IRQHandler

  HAL_GPIO_EXTI_IRQHandler (Thumb, 18 bytes, Stack size 8 bytes, stm32f4xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_GPIO_EXTI_IRQHandler ⇒ HAL_GPIO_EXTI_Callback ⇒ myWait1ms
  [Calls]
  - >> HAL_GPIO_EXTI_Callback
  [Called By]
  - >> EXTI9_5_IRQHandler
  - >> EXTI0_IRQHandler

  HAL_GPIO_Init (Thumb, 502 bytes, Stack size 40 bytes, stm32f4xx_hal_gpio.o(i.HAL_GPIO_Init))
  [Stack]

  - Max Depth = 40
  - Call Chain = HAL_GPIO_Init
  [Called By]
  - >> HAL_UART_MspInit
  - >> setPC13asOutput
  - >> setPC13asInput
  - >> MX_GPIO_Init
  - >> PA0GPIOInputWithInterrupt
  - >> disableDetectionLossOfPower
  - >> activateDetectionLossOfPower

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

  - >> powerUPSequence
  - >> blueButtonIsDepressed
  - >> waitNoRemote

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

  - >> main

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

  - >> powerUPSequence
  - >> powerDownSequenceWifiActive
  - >> enforceResetWIFI
  - >> disableWIFI
  - >> crash
  - >> releaseResetWIFI
  - >> goWIFIUARTDownloadMode
  - >> goWIFIFlashBootMode
  - >> enableWIFI
  - >> powerDownSequence

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

  - >> HAL_DMA_Abort
  - >> HAL_RCC_ClockConfig
  - >> HAL_PWREx_EnableOverDrive
  - >> HAL_Delay
  - >> HAL_DMA_PollForTransfer
  - >> UART_WaitOnFlagUntilTimeout
  - >> FLASH_WaitForLastOperation
  - >> HAL_RCC_OscConfig

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

  - >> SysTick_Handler

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

  - Max Depth = 28
  - Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_RCC_GetHCLKFreq ⇒ HAL_RCC_GetSysClockFreq
  [Calls]
  - >> HAL_NVIC_SetPriorityGrouping
  - >> HAL_MspInit
  - >> HAL_InitTick
  [Called By]
  - >> main

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

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

  HAL_MspInit (Thumb, 58 bytes, Stack size 8 bytes, stm32f4xx_hal_msp.o(i.HAL_MspInit))
  [Stack]

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

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

  - >> PA0GPIOInputWithInterrupt
  - >> PA0GPIOInputNoInterrupt

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

  - >> HAL_UART_MspInit
  - >> HAL_TIM_Base_MspInit
  - >> main
  - >> MX_GPIO_Init
  - >> MX_DMA_Init
  - >> PA0GPIOInputWithInterrupt
  - >> activateDetectionLossOfPower

  HAL_NVIC_SetPriority (Thumb, 98 bytes, Stack size 4 bytes, stm32f4xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_NVIC_SetPriority
  [Called By]
  - >> HAL_UART_MspInit
  - >> HAL_TIM_Base_MspInit
  - >> HAL_MspInit
  - >> main
  - >> SystemClock_Config
  - >> MX_GPIO_Init
  - >> MX_DMA_Init
  - >> PA0GPIOInputWithInterrupt
  - >> HAL_InitTick
  - >> activateDetectionLossOfPower

  HAL_NVIC_SetPriorityGrouping (Thumb, 30 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping))
  [Called By]

  - >> HAL_MspInit
  - >> HAL_Init

  HAL_PWREx_EnableOverDrive (Thumb, 150 bytes, Stack size 24 bytes, stm32f4xx_hal_pwr_ex.o(i.HAL_PWREx_EnableOverDrive))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_PWREx_EnableOverDrive
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> SystemClock_Config

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

  - >> PA0GPIOInputWithInterrupt

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

  - >> GoToStandby

  HAL_RCC_ClockConfig (Thumb, 628 bytes, Stack size 32 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
  [Stack]

  - Max Depth = 52
  - Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_RCC_GetHCLKFreq ⇒ HAL_RCC_GetSysClockFreq
  [Calls]
  - >> HAL_InitTick
  - >> HAL_GetTick
  [Called By]
  - >> SystemClock_Config

  HAL_RCC_GetHCLKFreq (Thumb, 38 bytes, Stack size 8 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
  [Stack]

  - Max Depth = 12
  - Call Chain = HAL_RCC_GetHCLKFreq ⇒ HAL_RCC_GetSysClockFreq
  [Calls]
  - >> HAL_RCC_GetSysClockFreq
  [Called By]
  - >> SystemClock_Config
  - >> HAL_InitTick
  - >> HAL_RCC_GetPCLK2Freq
  - >> HAL_RCC_GetPCLK1Freq

  HAL_RCC_GetPCLK1Freq (Thumb, 36 bytes, Stack size 8 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))
  [Stack]

  - Max Depth = 20
  - Call Chain = HAL_RCC_GetPCLK1Freq ⇒ HAL_RCC_GetHCLKFreq ⇒ HAL_RCC_GetSysClockFreq
  [Calls]
  - >> HAL_RCC_GetHCLKFreq
  [Called By]
  - >> UART_SetConfig

  HAL_RCC_GetPCLK2Freq (Thumb, 36 bytes, Stack size 8 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))
  [Stack]

  - Max Depth = 20
  - Call Chain = HAL_RCC_GetPCLK2Freq ⇒ HAL_RCC_GetHCLKFreq ⇒ HAL_RCC_GetSysClockFreq
  [Calls]
  - >> HAL_RCC_GetHCLKFreq
  [Called By]
  - >> UART_SetConfig

  HAL_RCC_GetSysClockFreq (Thumb, 214 bytes, Stack size 4 bytes, stm32f4xx_hal_rcc_ex.o(i.HAL_RCC_GetSysClockFreq))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_RCC_GetSysClockFreq
  [Called By]
  - >> HAL_RCC_GetHCLKFreq

  HAL_RCC_OscConfig (Thumb, 1082 bytes, Stack size 40 bytes, stm32f4xx_hal_rcc_ex.o(i.HAL_RCC_OscConfig))
  [Stack]

  - Max Depth = 40
  - Call Chain = HAL_RCC_OscConfig
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> SystemClock_Config

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

  - >> SystemClock_Config

  HAL_SYSTICK_Callback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(i.HAL_SYSTICK_Callback))
  [Called By]

  - >> HAL_SYSTICK_IRQHandler

  HAL_SYSTICK_Config (Thumb, 36 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(i.HAL_SYSTICK_Config))
  [Called By]

  - >> SystemClock_Config
  - >> HAL_InitTick

  HAL_SYSTICK_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, stm32f4xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_SYSTICK_IRQHandler
  [Calls]
  - >> HAL_SYSTICK_Callback
  [Called By]
  - >> SysTick_Handler

  HAL_TIMEx_BreakCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback))
  [Called By]

  - >> HAL_TIM_IRQHandler

  HAL_TIMEx_CommutationCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim_ex.o(i.HAL_TIMEx_CommutationCallback))
  [Called By]

  - >> HAL_TIM_IRQHandler

  HAL_TIMEx_ConfigBreakDeadTime (Thumb, 92 bytes, Stack size 4 bytes, stm32f4xx_hal_tim_ex.o(i.HAL_TIMEx_ConfigBreakDeadTime))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_TIMEx_ConfigBreakDeadTime
  [Called By]
  - >> MX_TIM8_Init

  HAL_TIMEx_MasterConfigSynchronization (Thumb, 102 bytes, Stack size 4 bytes, stm32f4xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_TIMEx_MasterConfigSynchronization
  [Called By]
  - >> MX_TIM8_Init
  - >> MX_TIM7_Init
  - >> MX_TIM6_Init
  - >> MX_TIM3_Init
  - >> MX_TIM2_Init

  HAL_TIM_Base_Init (Thumb, 56 bytes, Stack size 8 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_Base_Init))
  [Stack]

  - Max Depth = 64
  - Call Chain = HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_DMA_Init
  [Calls]
  - >> HAL_TIM_Base_MspInit
  - >> TIM_Base_SetConfig
  [Called By]
  - >> MX_TIM8_Init
  - >> MX_TIM7_Init
  - >> MX_TIM6_Init
  - >> MX_TIM3_Init
  - >> MX_TIM2_Init

  HAL_TIM_Base_MspInit (Thumb, 304 bytes, Stack size 40 bytes, stm32f4xx_hal_msp.o(i.HAL_TIM_Base_MspInit))
  [Stack]

  - Max Depth = 56
  - Call Chain = HAL_TIM_Base_MspInit ⇒ HAL_DMA_Init
  [Calls]
  - >> HAL_DMA_Init
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  [Called By]
  - >> HAL_TIM_Base_Init

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

  - >> main

  HAL_TIM_ConfigClockSource (Thumb, 272 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_ConfigClockSource))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_TIM_ConfigClockSource
  [Calls]
  - >> TIM_TI2_ConfigInputStage
  - >> TIM_TI1_ConfigInputStage
  - >> TIM_ITRx_SetConfig
  - >> TIM_ETR_SetConfig
  [Called By]
  - >> MX_TIM8_Init
  - >> MX_TIM3_Init
  - >> MX_TIM2_Init

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

  - >> HAL_TIM_IRQHandler

  HAL_TIM_IRQHandler (Thumb, 372 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_IRQHandler))
  [Stack]

  - Max Depth = 88
  - Call Chain = HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ PA0GPIOInputWithInterrupt ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_TIM_PeriodElapsedCallback
  - >> HAL_TIM_TriggerCallback
  - >> HAL_TIM_PWM_PulseFinishedCallback
  - >> HAL_TIM_OC_DelayElapsedCallback
  - >> HAL_TIM_IC_CaptureCallback
  - >> HAL_TIMEx_CommutationCallback
  - >> HAL_TIMEx_BreakCallback
  [Called By]
  - >> TIM6_DAC_IRQHandler
  - >> TIM3_IRQHandler

  HAL_TIM_OC_ConfigChannel (Thumb, 86 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel))
  [Stack]

  - Max Depth = 20
  - Call Chain = HAL_TIM_OC_ConfigChannel ⇒ TIM_OC2_SetConfig
  [Calls]
  - >> TIM_OC2_SetConfig
  - >> TIM_OC4_SetConfig
  - >> TIM_OC3_SetConfig
  - >> TIM_OC1_SetConfig
  [Called By]
  - >> MX_TIM8_Init

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

  - >> HAL_TIM_IRQHandler

  HAL_TIM_OC_Init (Thumb, 56 bytes, Stack size 8 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_OC_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_TIM_OC_Init ⇒ TIM_Base_SetConfig
  [Calls]
  - >> HAL_TIM_OC_MspInit
  - >> TIM_Base_SetConfig
  [Called By]
  - >> MX_TIM8_Init

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

  - >> HAL_TIM_OC_Init

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

  - >> HAL_TIM_IRQHandler

  HAL_TIM_PeriodElapsedCallback (Thumb, 40 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.HAL_TIM_PeriodElapsedCallback))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_TIM_PeriodElapsedCallback ⇒ PA0GPIOInputWithInterrupt ⇒ HAL_GPIO_Init
  [Calls]
  - >> PA0GPIOInputWithInterrupt
  [Called By]
  - >> HAL_TIM_IRQHandler

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

  - >> HAL_TIM_IRQHandler

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

  - >> HAL_UART_IRQHandler
  - >> UART_DMAError

  HAL_UART_IRQHandler (Thumb, 218 bytes, Stack size 16 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT
  [Calls]
  - >> UART_Transmit_IT
  - >> UART_Receive_IT
  - >> UART_EndTransmit_IT
  - >> HAL_UART_ErrorCallback
  [Called By]
  - >> USART2_IRQHandler
  - >> USART1_IRQHandler

  HAL_UART_Init (Thumb, 96 bytes, Stack size 16 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Init))
  [Stack]

  - Max Depth = 112
  - Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_UART_MspInit
  - >> UART_SetConfig
  [Called By]
  - >> MX_USART2_UART_Init
  - >> MX_USART1_UART_Init
  - >> MX_USART1_UART_Init_Bd

  HAL_UART_MspInit (Thumb, 334 bytes, Stack size 56 bytes, stm32f4xx_hal_msp.o(i.HAL_UART_MspInit))
  [Stack]

  - Max Depth = 96
  - Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_DMA_Init
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_Init
  [Called By]
  - >> HAL_UART_Init

  HAL_UART_Receive (Thumb, 234 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Receive))
  [Stack]

  - Max Depth = 56
  - Call Chain = HAL_UART_Receive ⇒ UART_WaitOnFlagUntilTimeout
  [Calls]
  - >> UART_WaitOnFlagUntilTimeout
  [Called By]
  - >> wifiPathThru
  - >> getWIFI_OKorERROR

  HAL_UART_Receive_DMA (Thumb, 134 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Receive_DMA))
  [Stack]

  - Max Depth = 36
  - Call Chain = HAL_UART_Receive_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
  [Calls]
  - >> HAL_DMA_Start_IT
  [Called By]
  - >> startRxCmdFlux

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

  - >> UART_Receive_IT
  - >> UART_DMAReceiveCplt

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

  - >> UART_DMARxHalfCplt

  HAL_UART_Transmit (Thumb, 228 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Transmit))
  [Stack]

  - Max Depth = 56
  - Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
  [Calls]
  - >> UART_WaitOnFlagUntilTimeout
  [Called By]
  - >> wifiPathThru
  - >> startupWIFI
  - >> sendWIFIString

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

  - >> UART_EndTransmit_IT

  HardFault_Handler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.HardFault_Handler))
  [Stack]

  - Max Depth = 168
  - Call Chain = HardFault_Handler ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  MX_USART1_UART_Init_Bd (Thumb, 30 bytes, Stack size 0 bytes, wifi.o(i.MX_USART1_UART_Init_Bd))
  [Stack]

  - Max Depth = 112
  - Call Chain = MX_USART1_UART_Init_Bd ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_UART_Init
  [Called By]
  - >> wifiPathThru

  MemManage_Handler (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.MemManage_Handler))
  [Stack]

  - Max Depth = 168
  - Call Chain = MemManage_Handler ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  PA0GPIOInputNoInterrupt (Thumb, 22 bytes, Stack size 0 bytes, remote.o(i.PA0GPIOInputNoInterrupt))
  [Calls]

  - >> HAL_NVIC_DisableIRQ
  [Called By]
  - >> HAL_GPIO_EXTI_Callback
  - >> waitNoRemote

  PA0GPIOInputWithInterrupt (Thumb, 58 bytes, Stack size 24 bytes, remote.o(i.PA0GPIOInputWithInterrupt))
  [Stack]

  - Max Depth = 64
  - Call Chain = PA0GPIOInputWithInterrupt ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_NVIC_DisableIRQ
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_Init
  - >> HAL_PWR_DisableWakeUpPin
  [Called By]
  - >> HAL_TIM_PeriodElapsedCallback
  - >> GoToStandby

  SysTick_Handler (Thumb, 14 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.SysTick_Handler))
  [Stack]

  - Max Depth = 16
  - Call Chain = SysTick_Handler ⇒ HAL_SYSTICK_IRQHandler
  [Calls]
  - >> HAL_SYSTICK_IRQHandler
  - >> HAL_IncTick
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  SystemClock_Config (Thumb, 144 bytes, Stack size 88 bytes, main.o(i.SystemClock_Config))
  [Stack]

  - Max Depth = 140
  - Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_RCC_GetHCLKFreq ⇒ HAL_RCC_GetSysClockFreq
  [Calls]
  - >> HAL_SYSTICK_Config
  - >> HAL_SYSTICK_CLKSourceConfig
  - >> HAL_RCC_GetHCLKFreq
  - >> HAL_RCC_ClockConfig
  - >> HAL_PWREx_EnableOverDrive
  - >> HAL_NVIC_SetPriority
  - >> HAL_RCC_OscConfig
  [Called By]
  - >> main

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

  - startup_stm32f446xx.o(.text)

  TIM3_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.TIM3_IRQHandler))
  [Stack]

  - Max Depth = 88
  - Call Chain = TIM3_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ PA0GPIOInputWithInterrupt ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_TIM_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  TIM6_DAC_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.TIM6_DAC_IRQHandler))
  [Stack]

  - Max Depth = 88
  - Call Chain = TIM6_DAC_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ PA0GPIOInputWithInterrupt ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_TIM_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  TIM_Base_SetConfig (Thumb, 178 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(i.TIM_Base_SetConfig))
  [Stack]

  - Max Depth = 16
  - Call Chain = TIM_Base_SetConfig
  [Called By]
  - >> HAL_TIM_OC_Init
  - >> HAL_TIM_Base_Init

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

  - >> dmaPostLedDrive
  - >> dmaLedDrive2

  TIM_OC2_SetConfig (Thumb, 112 bytes, Stack size 4 bytes, stm32f4xx_hal_tim.o(i.TIM_OC2_SetConfig))
  [Stack]

  - Max Depth = 4
  - Call Chain = TIM_OC2_SetConfig
  [Called By]
  - >> HAL_TIM_OC_ConfigChannel

  USART1_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.USART1_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = USART1_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT
  [Calls]
  - >> HAL_UART_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  USART2_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.USART2_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = USART2_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT
  [Calls]
  - >> HAL_UART_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  UsageFault_Handler (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.UsageFault_Handler))
  [Stack]

  - Max Depth = 168
  - Call Chain = UsageFault_Handler ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  [Address Reference Count : 1]
  - startup_stm32f446xx.o(RESET)

  __ARM_fpclassify (Thumb, 48 bytes, Stack size 8 bytes, fpclassify.o(i.__ARM_fpclassify))
  [Stack]

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

  __hardfp_exp (Thumb, 714 bytes, Stack size 72 bytes, exp.o(i.__hardfp_exp))
  [Stack]

  - Max Depth = 184
  - Call Chain = __hardfp_exp ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dmul
  - >> __aeabi_dadd
  - >> __aeabi_i2d
  - >> __aeabi_ddiv
  - >> __aeabi_d2iz
  - >> __set_errno
  - >> __kernel_poly
  - >> __ARM_fpclassify
  - >> __mathlib_dbl_underflow
  - >> __mathlib_dbl_overflow
  - >> __mathlib_dbl_infnan
  - >> __aeabi_dsub
  - >> __aeabi_drsub
  - >> __aeabi_cdrcmple
  - >> __aeabi_cdcmple
  [Called By]
  - >> fonctionGaussienne

  __hardfp_sqrt (Thumb, 122 bytes, Stack size 32 bytes, sqrt.o(i.__hardfp_sqrt))
  [Stack]

  - Max Depth = 72
  - Call Chain = __hardfp_sqrt ⇒ _dsqrt ⇒ _double_round
  [Calls]
  - >> __set_errno
  - >> _dsqrt
  [Called By]
  - >> fonctionGaussienne
  - >> generatePlasma

  __kernel_poly (Thumb, 248 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly))
  [Stack]

  - Max Depth = 112
  - Call Chain = __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dmul
  - >> __aeabi_dadd
  [Called By]
  - >> __hardfp_exp

  __mathlib_dbl_infnan (Thumb, 20 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_infnan))
  [Stack]

  - Max Depth = 96
  - Call Chain = __mathlib_dbl_infnan ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dadd
  [Called By]
  - >> __hardfp_exp

  __mathlib_dbl_overflow (Thumb, 24 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_overflow))
  [Stack]

  - Max Depth = 96
  - Call Chain = __mathlib_dbl_overflow ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dmul
  [Called By]
  - >> __hardfp_exp

  __mathlib_dbl_underflow (Thumb, 24 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_underflow))
  [Stack]

  - Max Depth = 96
  - Call Chain = __mathlib_dbl_underflow ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dmul
  [Called By]
  - >> __hardfp_exp

  __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

  __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

  __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

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

  - >> __hardfp_sqrt
  - >> __hardfp_exp

  activateDetectionLossOfPower (Thumb, 48 bytes, Stack size 32 bytes, remote.o(i.activateDetectionLossOfPower))
  [Stack]

  - Max Depth = 72
  - Call Chain = activateDetectionLossOfPower ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_Init
  [Called By]
  - >> powerUPSequence

  addNewCommand (Thumb, 126 bytes, Stack size 16 bytes, serial.o(i.addNewCommand))
  [Stack]

  - Max Depth = 16 + In Cycle
  - Call Chain = addNewCommand ⇒ crash (Cycle)
  [Calls]
  - >> crash
  [Called By]
  - >> injectOneByteInParser
  - >> injectInParser

  blueButtonIsDepressed (Thumb, 22 bytes, Stack size 8 bytes, globals.o(i.blueButtonIsDepressed))
  [Stack]

  - Max Depth = 8
  - Call Chain = blueButtonIsDepressed
  [Calls]
  - >> HAL_GPIO_ReadPin
  [Called By]
  - >> wifiPathThru
  - >> main

  brightTwinkle (Thumb, 374 bytes, Stack size 32 bytes, ledstripxmas.o(i.brightTwinkle))
  [Stack]

  - Max Depth = 40
  - Call Chain = brightTwinkle ⇒ random
  [Calls]
  - >> rgb_color
  - >> random
  - >> brightTwinkleColorAdjust
  [Called By]
  - >> ledstripXmax

  brightTwinkleColorAdjust (Thumb, 58 bytes, Stack size 4 bytes, ledstripxmas.o(i.brightTwinkleColorAdjust))
  [Stack]

  - Max Depth = 4
  - Call Chain = brightTwinkleColorAdjust
  [Calls]
  - >> fade
  [Called By]
  - >> colorExplosionColorAdjust
  - >> brightTwinkle

  calculeCoeffsGaussienne (Thumb, 142 bytes, Stack size 56 bytes, image_filter.o(i.calculeCoeffsGaussienne))
  [Stack]

  - Max Depth = 264
  - Call Chain = calculeCoeffsGaussienne ⇒ fonctionGaussienne ⇒ __hardfp_exp ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> fonctionGaussienne
  [Called By]
  - >> filtreGaussienX

  checkIfAlreadyInFlash (Thumb, 38 bytes, Stack size 16 bytes, flash.o(i.checkIfAlreadyInFlash))
  [Stack]

  - Max Depth = 16
  - Call Chain = checkIfAlreadyInFlash
  [Calls]
  - >> getImageAddress
  - >> checkcrc
  [Called By]
  - >> checkUpdateFlash

  checkMatch (Thumb, 42 bytes, Stack size 4 bytes, serial.o(i.checkMatch))
  [Stack]

  - Max Depth = 4
  - Call Chain = checkMatch
  [Called By]
  - >> injectOneByteInParser

  checkUpdateFlash (Thumb, 74 bytes, Stack size 24 bytes, flash.o(i.checkUpdateFlash))
  [Stack]

  - Max Depth = 4224
  - Call Chain = checkUpdateFlash ⇒ writeFlash ⇒ eraseFlashSector ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> setFlashFlipFlop
  - >> writeFlash
  - >> compute4crcram
  - >> checkcrc
  - >> checkIfAlreadyInFlash
  [Called By]
  - >> main

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

  - >> checkUpdateFlash
  - >> checkIfAlreadyInFlash

  collision (Thumb, 970 bytes, Stack size 32 bytes, ledstripxmas.o(i.collision))
  [Stack]

  - Max Depth = 40
  - Call Chain = collision ⇒ random
  [Calls]
  - >> rgb_color
  - >> random
  - >> fade
  [Called By]
  - >> ledstripXmax

  colorExplosion (Thumb, 354 bytes, Stack size 40 bytes, ledstripxmas.o(i.colorExplosion))
  [Stack]

  - Max Depth = 64
  - Call Chain = colorExplosion ⇒ colorExplosionColorAdjust ⇒ random
  [Calls]
  - >> rgb_color
  - >> random
  - >> colorExplosionColorAdjust
  [Called By]
  - >> ledstripXmax

  colorExplosionColorAdjust (Thumb, 50 bytes, Stack size 16 bytes, ledstripxmas.o(i.colorExplosionColorAdjust))
  [Stack]

  - Max Depth = 24
  - Call Chain = colorExplosionColorAdjust ⇒ random
  [Calls]
  - >> random
  - >> brightTwinkleColorAdjust
  [Called By]
  - >> colorExplosion

  commandRx (Thumb, 60 bytes, Stack size 16 bytes, serial.o(i.commandRx))
  [Stack]

  - Max Depth = 136
  - Call Chain = commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> getTime
  - >> pullDMA_Rxdata
  - >> getNextCommand
  [Called By]
  - >> powerDownListeningWifi
  - >> main

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

  - >> startRxCmdFlux

  compute4crcram (Thumb, 40 bytes, Stack size 16 bytes, flash.o(i.compute4crcram))
  [Stack]

  - Max Depth = 36
  - Call Chain = compute4crcram ⇒ crc
  [Calls]
  - >> crc
  [Called By]
  - >> checkUpdateFlash

  crash (Thumb, 148 bytes, Stack size 24 bytes, globals.o(i.crash))
  [Stack]

  - Max Depth = 168
  - Call Chain = crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> powerDownListeningWifi
  - >> myWait1ms
  - >> HAL_GPIO_WritePin
  [Called By]
  - >> generateGameOfLife
  - >> lowPowerCrash
  - >> dmaWait
  - >> main
  - >> UsageFault_Handler
  - >> MemManage_Handler
  - >> HardFault_Handler
  - >> BusFault_Handler
  - >> pullDMA_Rxdata
  - >> injectInParser
  - >> initRxParser
  - >> addNewCommand
  - >> sendWIFIString
  - >> onePassThru
  - >> getWIFI_OKorERROR

  crc (Thumb, 50 bytes, Stack size 20 bytes, flash.o(i.crc))
  [Stack]

  - Max Depth = 20
  - Call Chain = crc
  [Calls]
  - >> getBit
  [Called By]
  - >> compute4crcram

  cycler (Thumb, 228 bytes, Stack size 24 bytes, main.o(i.cycler))
  [Stack]

  - Max Depth = 40
  - Call Chain = cycler ⇒ setSpeedRPS ⇒ updateOffsetX
  [Calls]
  - >> setSpeedRPS
  - >> setOffsetX
  - >> findInTable
  [Called By]
  - >> main

  disableDetectionLossOfPower (Thumb, 40 bytes, Stack size 24 bytes, remote.o(i.disableDetectionLossOfPower))
  [Stack]

  - Max Depth = 64
  - Call Chain = disableDetectionLossOfPower ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_Init
  [Called By]
  - >> powerDownSequenceWifiActive
  - >> powerDownSequence

  disableWIFI (Thumb, 12 bytes, Stack size 0 bytes, wifi.o(i.disableWIFI))
  [Calls]

  - >> HAL_GPIO_WritePin
  [Called By]
  - >> main

  dmaLedDrive2 (Thumb, 104 bytes, Stack size 16 bytes, led_driver.o(i.dmaLedDrive2))
  [Stack]

  - Max Depth = 28
  - Call Chain = dmaLedDrive2 ⇒ HAL_DMA_Start ⇒ DMA_SetConfig
  [Calls]
  - >> TIM_CCxChannelCmd
  - >> HAL_DMA_Start
  [Called By]
  - >> main
  - >> dmaQuickBlack

  dmaPostLedDrive (Thumb, 110 bytes, Stack size 8 bytes, led_driver.o(i.dmaPostLedDrive))
  [Stack]

  - Max Depth = 8
  - Call Chain = dmaPostLedDrive
  [Calls]
  - >> TIM_CCxChannelCmd
  [Called By]
  - >> dmaWait
  - >> dmaQuickBlack

  dmaQuickBlack (Thumb, 58 bytes, Stack size 8 bytes, main.o(i.dmaQuickBlack))
  [Stack]

  - Max Depth = 48
  - Call Chain = dmaQuickBlack ⇒ HAL_DMA_PollForTransfer
  [Calls]
  - >> initLedResetCodeInMemoryForDMA2
  - >> dmaPostLedDrive
  - >> dmaLedDrive2
  - >> HAL_Delay
  - >> HAL_DMA_PollForTransfer
  [Called By]
  - >> main

  dmaUrgentStop (Thumb, 42 bytes, Stack size 8 bytes, led_driver.o(i.dmaUrgentStop))
  [Stack]

  - Max Depth = 24
  - Call Chain = dmaUrgentStop ⇒ HAL_DMA_Abort
  [Calls]
  - >> HAL_DMA_Abort
  [Called By]
  - >> EXTI9_5_IRQHandler

  dmaWait (Thumb, 54 bytes, Stack size 8 bytes, led_driver.o(i.dmaWait))
  [Stack]

  - Max Depth = 176
  - Call Chain = dmaWait ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> dmaPostLedDrive
  - >> HAL_DMA_PollForTransfer
  - >> crash
  [Called By]
  - >> main

  enableWIFI (Thumb, 10 bytes, Stack size 0 bytes, wifi.o(i.enableWIFI))
  [Calls]

  - >> HAL_GPIO_WritePin
  [Called By]
  - >> goWIFIUARTDownloadMode
  - >> goWIFIFlashBootMode

  enforceResetWIFI (Thumb, 12 bytes, Stack size 0 bytes, wifi.o(i.enforceResetWIFI))
  [Calls]

  - >> HAL_GPIO_WritePin
  [Called By]
  - >> main
  - >> goWIFIUARTDownloadMode
  - >> goWIFIFlashBootMode

  eraseFlashSector (Thumb, 40 bytes, Stack size 32 bytes, flash.o(i.eraseFlashSector))
  [Stack]

  - Max Depth = 72
  - Call Chain = eraseFlashSector ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> HAL_FLASH_Unlock
  - >> HAL_FLASH_Lock
  - >> HAL_FLASHEx_Erase
  [Called By]
  - >> writeFlash

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

  - >> traditionalColors
  - >> collision
  - >> brightTwinkleColorAdjust

  filtreGaussienX (Thumb, 246 bytes, Stack size 56 bytes, image_filter.o(i.filtreGaussienX))
  [Stack]

  - Max Depth = 320
  - Call Chain = filtreGaussienX ⇒ calculeCoeffsGaussienne ⇒ fonctionGaussienne ⇒ __hardfp_exp ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> calculeCoeffsGaussienne
  [Called By]
  - >> main

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

  - >> cycler

  findMinMaxFreeImageSlot (Thumb, 84 bytes, Stack size 32 bytes, flash.o(i.findMinMaxFreeImageSlot))
  [Stack]

  - Max Depth = 32
  - Call Chain = findMinMaxFreeImageSlot
  [Calls]
  - >> getImageCounter
  [Called By]
  - >> setFlashFlipFlop

  flash (Thumb, 46 bytes, Stack size 16 bytes, flash.o(i.flash))
  [Stack]

  - Max Depth = 56
  - Call Chain = flash ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> HAL_FLASH_Unlock
  - >> HAL_FLASH_Program
  - >> HAL_FLASH_Lock
  [Called By]
  - >> writeFlash

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

  - >> startupWIFI

  fonctionGaussienne (Thumb, 132 bytes, Stack size 24 bytes, image_filter.o(i.fonctionGaussienne))
  [Stack]

  - Max Depth = 208
  - Call Chain = fonctionGaussienne ⇒ __hardfp_exp ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dmul
  - >> __aeabi_f2d
  - >> __aeabi_ddiv
  - >> __aeabi_d2f
  - >> __hardfp_sqrt
  - >> __hardfp_exp
  [Called By]
  - >> calculeCoeffsGaussienne

  generateBlack (Thumb, 14 bytes, Stack size 8 bytes, image_generator.o(i.generateBlack))
  [Stack]

  - Max Depth = 8
  - Call Chain = generateBlack
  [Calls]
  - >> __aeabi_memclr
  [Called By]
  - >> imageGenerator

  generateGameOfLife (Thumb, 418 bytes, Stack size 48 bytes, image_generator.o(i.generateGameOfLife))
  [Stack]

  - Max Depth = 216
  - Call Chain = generateGameOfLife ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> randfill
  - >> get8brothers
  - >> crash
  - >> srand
  [Called By]
  - >> imageGenerator

  generateLogoElectrolab (Thumb, 78 bytes, Stack size 20 bytes, image_generator.o(i.generateLogoElectrolab))
  [Stack]

  - Max Depth = 40
  - Call Chain = generateLogoElectrolab ⇒ putSpriteEL
  [Calls]
  - >> putSpriteEL
  [Called By]
  - >> imageGenerator

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

  - >> generateYellow
  - >> main

  generateWhite (Thumb, 16 bytes, Stack size 8 bytes, image_generator.o(i.generateWhite))
  [Stack]

  - Max Depth = 8
  - Call Chain = generateWhite
  [Calls]
  - >> __aeabi_memset
  [Called By]
  - >> imageGenerator

  generateYellow (Thumb, 26 bytes, Stack size 8 bytes, image_generator.o(i.generateYellow))
  [Stack]

  - Max Depth = 8
  - Call Chain = generateYellow
  [Calls]
  - >> generateUniformColor
  [Called By]
  - >> imageGenerator

  get8brothers (Thumb, 126 bytes, Stack size 16 bytes, image_generator.o(i.get8brothers))
  [Stack]

  - Max Depth = 16
  - Call Chain = get8brothers
  [Called By]
  - >> generateGameOfLife

  getBit (Thumb, 28 bytes, Stack size 0 bytes, flash.o(i.getBit))
  [Called By]

  - >> crc

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

  - >> pullDMA_Rxdata

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

  - >> readImageFromFlash
  - >> writeFlash
  - >> checkIfAlreadyInFlash

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

  - >> writeFlash
  - >> findMinMaxFreeImageSlot

  getNextCommand (Thumb, 146 bytes, Stack size 16 bytes, serial.o(i.getNextCommand))
  [Stack]

  - Max Depth = 16
  - Call Chain = getNextCommand
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> commandRx

  getTime (Thumb, 50 bytes, Stack size 0 bytes, globals.o(i.getTime))
  [Called By]

  - >> wifiPathThru
  - >> updateOffsetX
  - >> setOffsetX
  - >> commandRx
  - >> powerDownListeningWifi
  - >> injectOneByteInParser
  - >> waitNoRemote

  getWIFI_OKorERROR (Thumb, 80 bytes, Stack size 16 bytes, wifi.o(i.getWIFI_OKorERROR))
  [Stack]

  - Max Depth = 184
  - Call Chain = getWIFI_OKorERROR ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  - >> HAL_UART_Receive
  - >> strcmp
  - >> strlen
  [Called By]
  - >> startupWIFI

  goSleepWaitOffOn (Thumb, 12 bytes, Stack size 0 bytes, remote.o(i.goSleepWaitOffOn))
  [Stack]

  - Max Depth = 72
  - Call Chain = goSleepWaitOffOn ⇒ powerDownSequence ⇒ disableDetectionLossOfPower ⇒ HAL_GPIO_Init
  [Calls]
  - >> waitNoRemote
  - >> powerDownSequence
  - >> GoToStandby
  [Called By]
  - >> powerDownListeningWifi

  goWIFIFlashBootMode (Thumb, 50 bytes, Stack size 8 bytes, wifi.o(i.goWIFIFlashBootMode))
  [Stack]

  - Max Depth = 8
  - Call Chain = goWIFIFlashBootMode
  [Calls]
  - >> enforceResetWIFI
  - >> releaseResetWIFI
  - >> enableWIFI
  - >> HAL_GPIO_WritePin
  - >> waitBlocking
  [Called By]
  - >> wifiPathThru
  - >> startupWIFI

  goWIFIUARTDownloadMode (Thumb, 50 bytes, Stack size 8 bytes, wifi.o(i.goWIFIUARTDownloadMode))
  [Stack]

  - Max Depth = 8
  - Call Chain = goWIFIUARTDownloadMode
  [Calls]
  - >> enforceResetWIFI
  - >> releaseResetWIFI
  - >> enableWIFI
  - >> HAL_GPIO_WritePin
  - >> waitBlocking
  [Called By]
  - >> wifiPathThru

  gradient (Thumb, 472 bytes, Stack size 28 bytes, ledstripxmas.o(i.gradient))
  [Stack]

  - Max Depth = 32
  - Call Chain = gradient ⇒ rgb_color
  [Calls]
  - >> rgb_color
  [Called By]
  - >> ledstripXmax

  imageGenerator (Thumb, 144 bytes, Stack size 16 bytes, image_generator.o(i.imageGenerator))
  [Stack]

  - Max Depth = 248
  - Call Chain = imageGenerator ⇒ generatePlasma ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> readImageFromFlash
  - >> ledstripXmax
  - >> generatePlasma
  - >> generateYellow
  - >> generateWhite
  - >> generateLogoElectrolab
  - >> generateGameOfLife
  - >> generateBlack
  [Called By]
  - >> main

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

  - >> main
  - >> dmaQuickBlack

  initRxParser (Thumb, 80 bytes, Stack size 24 bytes, serial.o(i.initRxParser))
  [Stack]

  - Max Depth = 192
  - Call Chain = initRxParser ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  - >> strlen
  [Called By]
  - >> startRxCmdFlux

  injectInParser (Thumb, 332 bytes, Stack size 32 bytes, serial.o(i.injectInParser))
  [Stack]

  - Max Depth = 96 + In Cycle
  - Call Chain = injectInParser ⇒ crash (Cycle)
  [Calls]
  - >> crash
  - >> injectOneByteInParser
  - >> injectInParser
  - >> addNewCommand
  - >> __aeabi_memcpy
  [Called By]
  - >> pullDMA_Rxdata
  - >> injectInParser

  injectOneByteInParser (Thumb, 210 bytes, Stack size 48 bytes, serial.o(i.injectOneByteInParser))
  [Stack]

  - Max Depth = 64
  - Call Chain = injectOneByteInParser ⇒ addNewCommand ⇒ crash (Cycle)
  [Calls]
  - >> getTime
  - >> checkMatch
  - >> addNewCommand
  - >> readFloatInHEXString
  - >> readByteInHEXString
  [Called By]
  - >> injectInParser

  ledstripXmax (Thumb, 402 bytes, Stack size 16 bytes, ledstripxmas.o(i.ledstripXmax))
  [Stack]

  - Max Depth = 80
  - Call Chain = ledstripXmax ⇒ colorExplosion ⇒ colorExplosionColorAdjust ⇒ random
  [Calls]
  - >> warmWhiteShimmer
  - >> traditionalColors
  - >> rgb_color
  - >> randomColorWalk
  - >> random
  - >> gradient
  - >> colorExplosion
  - >> collision
  - >> brightTwinkle
  - >> srand
  [Called By]
  - >> imageGenerator

  lowPowerCrash (Thumb, 4 bytes, Stack size 0 bytes, globals.o(i.lowPowerCrash))
  [Stack]

  - Max Depth = 168
  - Call Chain = lowPowerCrash ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  [Called By]
  - >> main

  main (Thumb, 820 bytes, Stack size 32 bytes, main.o(i.main))
  [Stack]

  - Max Depth = 4256
  - Call Chain = main ⇒ checkUpdateFlash ⇒ writeFlash ⇒ eraseFlashSector ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> wifiPathThru
  - >> updateOffsetX
  - >> startupWIFI
  - >> startRxCmdFlux
  - >> setSpeedRPS
  - >> setPC13asOutput
  - >> setPC13asInput
  - >> setOffsetX
  - >> setIntensity
  - >> setFlashFlipFlop
  - >> remoteHALInit
  - >> powerUPSequence
  - >> powerLimiter
  - >> lowPowerCrash
  - >> initLedResetCodeInMemoryForDMA2
  - >> imageGenerator
  - >> generateUniformColor
  - >> formatMemoryForDMA2
  - >> filtreGaussienX
  - >> enforceResetWIFI
  - >> dmaWait
  - >> dmaLedDrive2
  - >> disableWIFI
  - >> commandRx
  - >> checkUpdateFlash
  - >> blueButtonIsDepressed
  - >> __aeabi_ui2d
  - >> __aeabi_i2d
  - >> __aeabi_ddiv
  - >> __aeabi_d2iz
  - >> __aeabi_d2f
  - >> HAL_TIM_Base_Start
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_Init
  - >> HAL_GPIO_TogglePin
  - >> powerDownListeningWifi
  - >> dmaQuickBlack
  - >> cycler
  - >> SystemClock_Config
  - >> MX_USART2_UART_Init
  - >> MX_USART1_UART_Init
  - >> MX_TIM8_Init
  - >> MX_TIM7_Init
  - >> MX_TIM6_Init
  - >> MX_TIM3_Init
  - >> MX_TIM2_Init
  - >> MX_GPIO_Init
  - >> MX_DMA_Init
  - >> crash
  - >> __aeabi_memcpy4
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  myWait1ms (Thumb, 26 bytes, Stack size 8 bytes, globals.o(i.myWait1ms))
  [Stack]

  - Max Depth = 8
  - Call Chain = myWait1ms
  [Calls]
  - >> waitBlocking
  [Called By]
  - >> startupWIFI
  - >> powerUPSequence
  - >> powerDownListeningWifi
  - >> crash
  - >> HAL_GPIO_EXTI_Callback

  onePassThru (Thumb, 78 bytes, Stack size 16 bytes, wifi.o(i.onePassThru))
  [Stack]

  - Max Depth = 184
  - Call Chain = onePassThru ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  [Called By]
  - >> wifiPathThru

  powerDownListeningWifi (Thumb, 86 bytes, Stack size 8 bytes, main.o(i.powerDownListeningWifi))
  [Stack]

  - Max Depth = 144
  - Call Chain = powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> powerDownSequenceWifiActive
  - >> goSleepWaitOffOn
  - >> getTime
  - >> commandRx
  - >> myWait1ms
  [Called By]
  - >> main
  - >> crash

  powerDownSequence (Thumb, 44 bytes, Stack size 8 bytes, remote.o(i.powerDownSequence))
  [Stack]

  - Max Depth = 72
  - Call Chain = powerDownSequence ⇒ disableDetectionLossOfPower ⇒ HAL_GPIO_Init
  [Calls]
  - >> disableDetectionLossOfPower
  - >> HAL_GPIO_WritePin
  [Called By]
  - >> goSleepWaitOffOn

  powerDownSequenceWifiActive (Thumb, 48 bytes, Stack size 8 bytes, remote.o(i.powerDownSequenceWifiActive))
  [Stack]

  - Max Depth = 72
  - Call Chain = powerDownSequenceWifiActive ⇒ disableDetectionLossOfPower ⇒ HAL_GPIO_Init
  [Calls]
  - >> disableDetectionLossOfPower
  - >> HAL_GPIO_WritePin
  [Called By]
  - >> powerDownListeningWifi

  powerUPSequence (Thumb, 76 bytes, Stack size 16 bytes, remote.o(i.powerUPSequence))
  [Stack]

  - Max Depth = 88
  - Call Chain = powerUPSequence ⇒ activateDetectionLossOfPower ⇒ HAL_GPIO_Init
  [Calls]
  - >> myWait1ms
  - >> activateDetectionLossOfPower
  - >> HAL_GPIO_WritePin
  - >> HAL_GPIO_ReadPin
  [Called By]
  - >> main

  pullDMA_Rxdata (Thumb, 92 bytes, Stack size 24 bytes, serial.o(i.pullDMA_Rxdata))
  [Stack]

  - Max Depth = 120 + In Cycle
  - Call Chain = pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  - >> injectInParser
  - >> getDMA_RxCnt
  [Called By]
  - >> commandRx

  putSpriteEL (Thumb, 130 bytes, Stack size 20 bytes, image_generator.o(i.putSpriteEL))
  [Stack]

  - Max Depth = 20
  - Call Chain = putSpriteEL
  [Called By]
  - >> generateLogoElectrolab

  randfill (Thumb, 56 bytes, Stack size 24 bytes, image_generator.o(i.randfill))
  [Stack]

  - Max Depth = 24
  - Call Chain = randfill
  [Calls]
  - >> rand
  [Called By]
  - >> generateGameOfLife

  random (Thumb, 22 bytes, Stack size 8 bytes, ledstripxmas.o(i.random))
  [Stack]

  - Max Depth = 8
  - Call Chain = random
  [Calls]
  - >> rand
  [Called By]
  - >> ledstripXmax
  - >> randomWalk
  - >> randomColorWalk
  - >> colorExplosionColorAdjust
  - >> colorExplosion
  - >> collision
  - >> brightTwinkle

  randomColorWalk (Thumb, 414 bytes, Stack size 32 bytes, ledstripxmas.o(i.randomColorWalk))
  [Stack]

  - Max Depth = 56
  - Call Chain = randomColorWalk ⇒ randomWalk ⇒ random
  [Calls]
  - >> rgb_color
  - >> randomWalk
  - >> random
  [Called By]
  - >> ledstripXmax

  randomWalk (Thumb, 58 bytes, Stack size 16 bytes, ledstripxmas.o(i.randomWalk))
  [Stack]

  - Max Depth = 24
  - Call Chain = randomWalk ⇒ random
  [Calls]
  - >> random
  [Called By]
  - >> warmWhiteShimmer
  - >> randomColorWalk

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

  - >> injectOneByteInParser

  readFloatInHEXString (Thumb, 120 bytes, Stack size 0 bytes, debugtools.o(i.readFloatInHEXString))
  [Called By]

  - >> injectOneByteInParser

  readImageFromFlash (Thumb, 58 bytes, Stack size 8 bytes, flash.o(i.readImageFromFlash))
  [Stack]

  - Max Depth = 8
  - Call Chain = readImageFromFlash
  [Calls]
  - >> getImageAddress
  - >> __aeabi_memset
  - >> __aeabi_memcpy
  [Called By]
  - >> imageGenerator

  releaseResetWIFI (Thumb, 10 bytes, Stack size 0 bytes, wifi.o(i.releaseResetWIFI))
  [Calls]

  - >> HAL_GPIO_WritePin
  [Called By]
  - >> goWIFIUARTDownloadMode
  - >> goWIFIFlashBootMode

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

  - >> main

  rgb_color (Thumb, 22 bytes, Stack size 4 bytes, ledstripxmas.o(i.rgb_color))
  [Stack]

  - Max Depth = 4
  - Call Chain = rgb_color
  [Called By]
  - >> ledstripXmax
  - >> warmWhiteShimmer
  - >> randomColorWalk
  - >> gradient
  - >> colorExplosion
  - >> collision
  - >> brightTwinkle

  sendWIFIString (Thumb, 90 bytes, Stack size 16 bytes, wifi.o(i.sendWIFIString))
  [Stack]

  - Max Depth = 184
  - Call Chain = sendWIFIString ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> crash
  - >> HAL_UART_Transmit
  - >> strcpy
  - >> strlen
  [Called By]
  - >> startupWIFI

  setFlashFlipFlop (Thumb, 74 bytes, Stack size 28 bytes, flash.o(i.setFlashFlipFlop))
  [Stack]

  - Max Depth = 60
  - Call Chain = setFlashFlipFlop ⇒ findMinMaxFreeImageSlot
  [Calls]
  - >> findMinMaxFreeImageSlot
  [Called By]
  - >> checkUpdateFlash
  - >> main

  setOffsetX (Thumb, 80 bytes, Stack size 4 bytes, globals.o(i.setOffsetX))
  [Stack]

  - Max Depth = 4
  - Call Chain = setOffsetX
  [Calls]
  - >> getTime
  [Called By]
  - >> main
  - >> cycler

  setPC13asInput (Thumb, 30 bytes, Stack size 24 bytes, globals.o(i.setPC13asInput))
  [Stack]

  - Max Depth = 64
  - Call Chain = setPC13asInput ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_Init
  [Called By]
  - >> main

  setPC13asOutput (Thumb, 32 bytes, Stack size 24 bytes, globals.o(i.setPC13asOutput))
  [Stack]

  - Max Depth = 64
  - Call Chain = setPC13asOutput ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_Init
  [Called By]
  - >> main

  setSpeedRPS (Thumb, 56 bytes, Stack size 8 bytes, globals.o(i.setSpeedRPS))
  [Stack]

  - Max Depth = 16
  - Call Chain = setSpeedRPS ⇒ updateOffsetX
  [Calls]
  - >> updateOffsetX
  [Called By]
  - >> main
  - >> cycler

  startRxCmdFlux (Thumb, 36 bytes, Stack size 8 bytes, serial.o(i.startRxCmdFlux))
  [Stack]

  - Max Depth = 200
  - Call Chain = startRxCmdFlux ⇒ initRxParser ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> HAL_UART_Receive_DMA
  - >> initRxParser
  - >> commandsManagerReset
  [Called By]
  - >> main

  startupWIFI (Thumb, 82 bytes, Stack size 16 bytes, wifi.o(i.startupWIFI))
  [Stack]

  - Max Depth = 200
  - Call Chain = startupWIFI ⇒ sendWIFIString ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> myWait1ms
  - >> HAL_UART_Transmit
  - >> sendWIFIString
  - >> goWIFIFlashBootMode
  - >> getWIFI_OKorERROR
  - >> flushRxWifi
  [Called By]
  - >> main

  traditionalColors (Thumb, 458 bytes, Stack size 28 bytes, ledstripxmas.o(i.traditionalColors))
  [Stack]

  - Max Depth = 28
  - Call Chain = traditionalColors
  [Calls]
  - >> fade
  [Called By]
  - >> ledstripXmax

  updateOffsetX (Thumb, 142 bytes, Stack size 8 bytes, globals.o(i.updateOffsetX))
  [Stack]

  - Max Depth = 8
  - Call Chain = updateOffsetX
  [Calls]
  - >> getTime
  [Called By]
  - >> setSpeedRPS
  - >> main

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

  - >> wifiPathThru
  - >> myWait1ms
  - >> goWIFIUARTDownloadMode
  - >> goWIFIFlashBootMode

  waitNoRemote (Thumb, 76 bytes, Stack size 32 bytes, remote.o(i.waitNoRemote))
  [Stack]

  - Max Depth = 32
  - Call Chain = waitNoRemote
  [Calls]
  - >> getTime
  - >> PA0GPIOInputNoInterrupt
  - >> HAL_GPIO_ReadPin
  [Called By]
  - >> goSleepWaitOffOn

  warmWhiteShimmer (Thumb, 124 bytes, Stack size 24 bytes, ledstripxmas.o(i.warmWhiteShimmer))
  [Stack]

  - Max Depth = 48
  - Call Chain = warmWhiteShimmer ⇒ randomWalk ⇒ random
  [Calls]
  - >> rgb_color
  - >> randomWalk
  [Called By]
  - >> ledstripXmax

  wifiPathThru (Thumb, 410 bytes, Stack size 640 bytes, wifi.o(i.wifiPathThru))
  [Stack]

  - Max Depth = 824
  - Call Chain = wifiPathThru ⇒ onePassThru ⇒ crash ⇒ powerDownListeningWifi ⇒ commandRx ⇒ pullDMA_Rxdata ⇒ crash (Cycle)
  [Calls]
  - >> getTime
  - >> blueButtonIsDepressed
  - >> HAL_UART_Transmit
  - >> HAL_UART_Receive
  - >> onePassThru
  - >> goWIFIUARTDownloadMode
  - >> goWIFIFlashBootMode
  - >> MX_USART1_UART_Init_Bd
  - >> waitBlocking
  - >> __aeabi_memcpy4
  [Called By]
  - >> main

  writeFlash (Thumb, 192 bytes, Stack size 4128 bytes, flash.o(i.writeFlash))
  [Stack]

  - Max Depth = 4200
  - Call Chain = writeFlash ⇒ eraseFlashSector ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> getImageCounter
  - >> getImageAddress
  - >> flash
  - >> eraseFlashSector
  - >> __aeabi_memcpy
  [Called By]
  - >> checkUpdateFlash

  formatMemoryForDMA2 (Thumb, 250 bytes, Stack size 140 bytes, led_driver.o(itcmram))
  [Stack]

  - Max Depth = 140
  - Call Chain = formatMemoryForDMA2
  [Called By]
  - >> main

  myfsin (Thumb, 118 bytes, Stack size 0 bytes, image_generator.o(itcmram))
  [Called By]

  - >> generatePlasma
  - >> myfcos

  myfcos (Thumb, 10 bytes, Stack size 0 bytes, image_generator.o(itcmram))
  [Calls]

  - >> myfsin
  [Called By]
  - >> generatePlasma

  generatePlasma (Thumb, 954 bytes, Stack size 144 bytes, image_generator.o(itcmram))
  [Stack]

  - Max Depth = 232
  - Call Chain = generatePlasma ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_f2d
  - >> __aeabi_dadd
  - >> myfcos
  - >> myfsin
  - >> __aeabi_d2f
  - >> __hardfp_sqrt
  [Called By]
  - >> imageGenerator

  setIntensity (Thumb, 38 bytes, Stack size 0 bytes, image_generator.o(itcmram))
  [Called By]

  - >> main

  powerLimiter (Thumb, 146 bytes, Stack size 20 bytes, image_generator.o(itcmram))
  [Stack]

  - Max Depth = 20
  - Call Chain = powerLimiter
  [Called By]
  - >> main

  ### Local Symbols

  MX_DMA_Init (Thumb, 136 bytes, Stack size 8 bytes, main.o(i.MX_DMA_Init))
  [Stack]

  - Max Depth = 12
  - Call Chain = MX_DMA_Init ⇒ HAL_NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  [Called By]
  - >> main

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

  - Max Depth = 88
  - Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_Init
  [Called By]
  - >> main

  MX_TIM2_Init (Thumb, 56 bytes, Stack size 32 bytes, main.o(i.MX_TIM2_Init))
  [Stack]

  - Max Depth = 96
  - Call Chain = MX_TIM2_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_DMA_Init
  [Calls]
  - >> HAL_TIM_ConfigClockSource
  - >> HAL_TIM_Base_Init
  - >> HAL_TIMEx_MasterConfigSynchronization
  [Called By]
  - >> main

  MX_TIM3_Init (Thumb, 66 bytes, Stack size 32 bytes, main.o(i.MX_TIM3_Init))
  [Stack]

  - Max Depth = 96
  - Call Chain = MX_TIM3_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_DMA_Init
  [Calls]
  - >> HAL_TIM_ConfigClockSource
  - >> HAL_TIM_Base_Init
  - >> HAL_TIMEx_MasterConfigSynchronization
  [Called By]
  - >> main

  MX_TIM6_Init (Thumb, 46 bytes, Stack size 16 bytes, main.o(i.MX_TIM6_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = MX_TIM6_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_DMA_Init
  [Calls]
  - >> HAL_TIM_Base_Init
  - >> HAL_TIMEx_MasterConfigSynchronization
  [Called By]
  - >> main

  MX_TIM7_Init (Thumb, 44 bytes, Stack size 16 bytes, main.o(i.MX_TIM7_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = MX_TIM7_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_DMA_Init
  [Calls]
  - >> HAL_TIM_Base_Init
  - >> HAL_TIMEx_MasterConfigSynchronization
  [Called By]
  - >> main

  MX_TIM8_Init (Thumb, 132 bytes, Stack size 88 bytes, main.o(i.MX_TIM8_Init))
  [Stack]

  - Max Depth = 152
  - Call Chain = MX_TIM8_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_DMA_Init
  [Calls]
  - >> HAL_TIM_OC_Init
  - >> HAL_TIM_OC_ConfigChannel
  - >> HAL_TIM_ConfigClockSource
  - >> HAL_TIM_Base_Init
  - >> HAL_TIMEx_MasterConfigSynchronization
  - >> HAL_TIMEx_ConfigBreakDeadTime
  [Called By]
  - >> main

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

  - Max Depth = 112
  - Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_UART_Init
  [Called By]
  - >> main

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

  - Max Depth = 112
  - Call Chain = MX_USART2_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_UART_Init
  [Called By]
  - >> main

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

  - >> HAL_TIM_ConfigClockSource

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

  - >> HAL_TIM_ConfigClockSource

  TIM_OC1_SetConfig (Thumb, 104 bytes, Stack size 4 bytes, stm32f4xx_hal_tim.o(i.TIM_OC1_SetConfig))
  [Stack]

  - Max Depth = 4
  - Call Chain = TIM_OC1_SetConfig
  [Called By]
  - >> HAL_TIM_OC_ConfigChannel

  TIM_OC3_SetConfig (Thumb, 112 bytes, Stack size 4 bytes, stm32f4xx_hal_tim.o(i.TIM_OC3_SetConfig))
  [Stack]

  - Max Depth = 4
  - Call Chain = TIM_OC3_SetConfig
  [Called By]
  - >> HAL_TIM_OC_ConfigChannel

  TIM_OC4_SetConfig (Thumb, 88 bytes, Stack size 4 bytes, stm32f4xx_hal_tim.o(i.TIM_OC4_SetConfig))
  [Stack]

  - Max Depth = 4
  - Call Chain = TIM_OC4_SetConfig
  [Called By]
  - >> HAL_TIM_OC_ConfigChannel

  TIM_TI1_ConfigInputStage (Thumb, 38 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.TIM_TI1_ConfigInputStage))
  [Called By]

  - >> HAL_TIM_ConfigClockSource

  TIM_TI2_ConfigInputStage (Thumb, 36 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.TIM_TI2_ConfigInputStage))
  [Called By]

  - >> HAL_TIM_ConfigClockSource

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

  - >> HAL_DMA_Init

  DMA_SetConfig (Thumb, 56 bytes, Stack size 4 bytes, stm32f4xx_hal_dma.o(i.DMA_SetConfig))
  [Stack]

  - Max Depth = 4
  - Call Chain = DMA_SetConfig
  [Called By]
  - >> HAL_DMA_Start
  - >> HAL_DMA_Start_IT

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

  - >> HAL_FLASH_Program

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

  - >> HAL_FLASH_Program

  FLASH_Program_HalfWord (Thumb, 30 bytes, Stack size 0 bytes, stm32f4xx_hal_flash.o(i.FLASH_Program_HalfWord))
  [Called By]

  - >> HAL_FLASH_Program

  FLASH_Program_Word (Thumb, 30 bytes, Stack size 0 bytes, stm32f4xx_hal_flash.o(i.FLASH_Program_Word))
  [Called By]

  - >> HAL_FLASH_Program

  FLASH_SetErrorCode (Thumb, 128 bytes, Stack size 0 bytes, stm32f4xx_hal_flash.o(i.FLASH_SetErrorCode))
  [Called By]

  - >> FLASH_WaitForLastOperation

  UART_DMAError (Thumb, 30 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_DMAError))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_DMAError
  [Calls]
  - >> HAL_UART_ErrorCallback
  [Address Reference Count : 1]
  - stm32f4xx_hal_uart.o(i.HAL_UART_Receive_DMA)

  UART_DMAReceiveCplt (Thumb, 58 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_DMAReceiveCplt))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_DMAReceiveCplt
  [Calls]
  - >> HAL_UART_RxCpltCallback
  [Address Reference Count : 1]
  - stm32f4xx_hal_uart.o(i.HAL_UART_Receive_DMA)

  UART_DMARxHalfCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_DMARxHalfCplt))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_DMARxHalfCplt
  [Calls]
  - >> HAL_UART_RxHalfCpltCallback
  [Address Reference Count : 1]
  - stm32f4xx_hal_uart.o(i.HAL_UART_Receive_DMA)

  UART_EndTransmit_IT (Thumb, 62 bytes, Stack size 8 bytes, 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, 176 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_Receive_IT))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_Receive_IT
  [Calls]
  - >> HAL_UART_RxCpltCallback
  [Called By]
  - >> HAL_UART_IRQHandler

  UART_SetConfig (Thumb, 524 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(i.UART_SetConfig))
  [Stack]

  - Max Depth = 44
  - Call Chain = UART_SetConfig ⇒ HAL_RCC_GetPCLK2Freq ⇒ HAL_RCC_GetHCLKFreq ⇒ HAL_RCC_GetSysClockFreq
  [Calls]
  - >> HAL_RCC_GetPCLK2Freq
  - >> HAL_RCC_GetPCLK1Freq
  [Called By]
  - >> HAL_UART_Init

  UART_Transmit_IT (Thumb, 106 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.UART_Transmit_IT))
  [Called By]

  - >> HAL_UART_IRQHandler

  UART_WaitOnFlagUntilTimeout (Thumb, 226 bytes, Stack size 32 bytes, stm32f4xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
  [Stack]

  - Max Depth = 32
  - Call Chain = UART_WaitOnFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> HAL_UART_Transmit
  - >> HAL_UART_Receive

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

  - >> HAL_FLASHEx_Erase

  ### Undefined Global Symbols