# Static Call Graph for image .\Objects\Project.axf

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Thu Dec 05 11:46:10 2024

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

### Call chain for Maximum Stack Depth:

SX1281SetRfFrequency ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round

### Mutually Recursive functions

- ADC1_2_IRQHandler ⇒ ADC1_2_IRQHandler

  ### Function Pointers

  - ADC1_2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - BusFault_Handler from stm32f10x_it.o(i.BusFault_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - CAN1_RX1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - CAN1_SCE_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DMA1_Channel1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DMA1_Channel2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DMA1_Channel3_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DMA1_Channel4_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DMA1_Channel5_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DMA1_Channel6_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DMA1_Channel7_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - DebugMon_Handler from stm32f10x_it.o(i.DebugMon_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI0_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI15_10_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI1_IRQHandler from hw-gpio.o(i.EXTI1_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI2_IRQHandler from hw-gpio.o(i.EXTI2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI3_IRQHandler from hw-gpio.o(i.EXTI3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI4_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI9_5_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - FLASH_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - HardFault_Handler from stm32f10x_it.o(i.HardFault_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - I2C1_ER_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - I2C1_EV_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - I2C2_ER_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - I2C2_EV_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - MemManage_Handler from stm32f10x_it.o(i.MemManage_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - NMI_Handler from stm32f10x_it.o(i.NMI_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - OnRxDone from main.o(i.OnRxDone) referenced from main.o(.data)
  - OnRxError from main.o(i.OnRxError) referenced from main.o(.data)
  - OnRxTimeout from main.o(i.OnRxTimeout) referenced from main.o(.data)
  - OnTxDone from main.o(i.OnTxDone) referenced from main.o(.data)
  - OnTxTimeout from main.o(i.OnTxTimeout) referenced from main.o(.data)
  - PVD_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - PendSV_Handler from stm32f10x_it.o(i.PendSV_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - RCC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - RTCAlarm_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - RTC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - Reset_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - SPI1_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - SPI2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - SVC_Handler from stm32f10x_it.o(i.SVC_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - SX1281Calibrate from sx1281.o(i.SX1281Calibrate) referenced from sx1281-hal.o(.constdata)
  - SX1281ClearIrqStatus from sx1281.o(i.SX1281ClearIrqStatus) referenced from sx1281-hal.o(.constdata)
  - SX1281GetFirmwareVersion from sx1281.o(i.SX1281GetFirmwareVersion) referenced from sx1281-hal.o(.constdata)
  - SX1281GetFrequencyError from sx1281.o(i.SX1281GetFrequencyError) referenced from sx1281-hal.o(.constdata)
  - SX1281GetIrqStatus from sx1281.o(i.SX1281GetIrqStatus) referenced from sx1281-hal.o(.constdata)
  - SX1281GetOpMode from sx1281.o(i.SX1281GetOpMode) referenced from sx1281-hal.o(.constdata)
  - SX1281GetPacketStatus from sx1281.o(i.SX1281GetPacketStatus) referenced from sx1281-hal.o(.constdata)
  - SX1281GetPacketType from sx1281.o(i.SX1281GetPacketType) referenced from sx1281-hal.o(.constdata)
  - SX1281GetPayload from sx1281.o(i.SX1281GetPayload) referenced from sx1281-hal.o(.constdata)
  - SX1281GetRssiInst from sx1281.o(i.SX1281GetRssiInst) referenced from sx1281-hal.o(.constdata)
  - SX1281GetRxBufferStatus from sx1281.o(i.SX1281GetRxBufferStatus) referenced from sx1281-hal.o(.constdata)
  - SX1281GetStatus from sx1281.o(i.SX1281GetStatus) referenced from sx1281-hal.o(.constdata)
  - SX1281HalGetDioStatus from sx1281-hal.o(i.SX1281HalGetDioStatus) referenced from sx1281-hal.o(.constdata)
  - SX1281HalReadBuffer from sx1281-hal.o(i.SX1281HalReadBuffer) referenced from sx1281-hal.o(.constdata)
  - SX1281HalReadCommand from sx1281-hal.o(i.SX1281HalReadCommand) referenced from sx1281-hal.o(.constdata)
  - SX1281HalReadRegister from sx1281-hal.o(i.SX1281HalReadRegister) referenced from sx1281-hal.o(.constdata)
  - SX1281HalReadRegisters from sx1281-hal.o(i.SX1281HalReadRegisters) referenced from sx1281-hal.o(.constdata)
  - SX1281HalReset from sx1281-hal.o(i.SX1281HalReset) referenced from sx1281-hal.o(.constdata)
  - SX1281HalWriteBuffer from sx1281-hal.o(i.SX1281HalWriteBuffer) referenced from sx1281-hal.o(.constdata)
  - SX1281HalWriteCommand from sx1281-hal.o(i.SX1281HalWriteCommand) referenced from sx1281-hal.o(.constdata)
  - SX1281HalWriteRegister from sx1281-hal.o(i.SX1281HalWriteRegister) referenced from sx1281-hal.o(.constdata)
  - SX1281HalWriteRegisters from sx1281-hal.o(i.SX1281HalWriteRegisters) referenced from sx1281-hal.o(.constdata)
  - SX1281Init from sx1281.o(i.SX1281Init) referenced from sx1281-hal.o(.constdata)
  - SX1281OnDioIrq from sx1281.o(i.SX1281OnDioIrq) referenced from sx1281.o(.data)
  - SX1281SendPayload from sx1281.o(i.SX1281SendPayload) referenced from sx1281-hal.o(.constdata)
  - SX1281SetAutoFS from sx1281.o(i.SX1281SetAutoFS) referenced from sx1281-hal.o(.constdata)
  - SX1281SetAutoTx from sx1281.o(i.SX1281SetAutoTx) referenced from sx1281-hal.o(.constdata)
  - SX1281SetBleAccessAddress from sx1281.o(i.SX1281SetBleAccessAddress) referenced from sx1281-hal.o(.constdata)
  - SX1281SetBleAdvertizerAccessAddress from sx1281.o(i.SX1281SetBleAdvertizerAccessAddress) referenced from sx1281-hal.o(.constdata)
  - SX1281SetBufferBaseAddresses from sx1281.o(i.SX1281SetBufferBaseAddresses) referenced from sx1281-hal.o(.constdata)
  - SX1281SetCad from sx1281.o(i.SX1281SetCad) referenced from sx1281-hal.o(.constdata)
  - SX1281SetCadParams from sx1281.o(i.SX1281SetCadParams) referenced from sx1281-hal.o(.constdata)
  - SX1281SetCrcPolynomial from sx1281.o(i.SX1281SetCrcPolynomial) referenced from sx1281-hal.o(.constdata)
  - SX1281SetCrcSeed from sx1281.o(i.SX1281SetCrcSeed) referenced from sx1281-hal.o(.constdata)
  - SX1281SetDioIrqParams from sx1281.o(i.SX1281SetDioIrqParams) referenced from sx1281-hal.o(.constdata)
  - SX1281SetFs from sx1281.o(i.SX1281SetFs) referenced from sx1281-hal.o(.constdata)
  - SX1281SetInterruptMode from sx1281.o(i.SX1281SetInterruptMode) referenced from sx1281-hal.o(.constdata)
  - SX1281SetLongPreamble from sx1281.o(i.SX1281SetLongPreamble) referenced from sx1281-hal.o(.constdata)
  - SX1281SetModulationParams from sx1281.o(i.SX1281SetModulationParams) referenced from sx1281-hal.o(.constdata)
  - SX1281SetPacketParams from sx1281.o(i.SX1281SetPacketParams) referenced from sx1281-hal.o(.constdata)
  - SX1281SetPacketType from sx1281.o(i.SX1281SetPacketType) referenced from sx1281-hal.o(.constdata)
  - SX1281SetPayload from sx1281.o(i.SX1281SetPayload) referenced from sx1281-hal.o(.constdata)
  - SX1281SetPollingMode from sx1281.o(i.SX1281SetPollingMode) referenced from sx1281-hal.o(.constdata)
  - SX1281SetRegistersDefault from sx1281.o(i.SX1281SetRegistersDefault) referenced from sx1281-hal.o(.constdata)
  - SX1281SetRegulatorMode from sx1281.o(i.SX1281SetRegulatorMode) referenced from sx1281-hal.o(.constdata)
  - SX1281SetRfFrequency from sx1281.o(i.SX1281SetRfFrequency) referenced from sx1281-hal.o(.constdata)
  - SX1281SetRx from sx1281.o(i.SX1281SetRx) referenced from sx1281-hal.o(.constdata)
  - SX1281SetRxDutyCycle from sx1281.o(i.SX1281SetRxDutyCycle) referenced from sx1281-hal.o(.constdata)
  - SX1281SetSaveContext from sx1281.o(i.SX1281SetSaveContext) referenced from sx1281-hal.o(.constdata)
  - SX1281SetSleep from sx1281.o(i.SX1281SetSleep) referenced from sx1281-hal.o(.constdata)
  - SX1281SetStandby from sx1281.o(i.SX1281SetStandby) referenced from sx1281-hal.o(.constdata)
  - SX1281SetSyncWord from sx1281.o(i.SX1281SetSyncWord) referenced from sx1281-hal.o(.constdata)
  - SX1281SetSyncWordErrorTolerance from sx1281.o(i.SX1281SetSyncWordErrorTolerance) referenced from sx1281-hal.o(.constdata)
  - SX1281SetTx from sx1281.o(i.SX1281SetTx) referenced from sx1281-hal.o(.constdata)
  - SX1281SetTxContinuousPreamble from sx1281.o(i.SX1281SetTxContinuousPreamble) referenced from sx1281-hal.o(.constdata)
  - SX1281SetTxContinuousWave from sx1281.o(i.SX1281SetTxContinuousWave) referenced from sx1281-hal.o(.constdata)
  - SX1281SetTxParams from sx1281.o(i.SX1281SetTxParams) referenced from sx1281-hal.o(.constdata)
  - SX1281SetWhiteningSeed from sx1281.o(i.SX1281SetWhiteningSeed) referenced from sx1281-hal.o(.constdata)
  - SysTick_Handler from stm32f10x_it.o(i.SysTick_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - SystemInit from system_stm32f10x.o(i.SystemInit) referenced from startup_stm32f10x_md.o(.text)
  - TAMPER_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - TIM1_BRK_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - TIM1_TRG_COM_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - TIM1_UP_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - TIM2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - TIM3_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - TIM4_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - USART1_IRQHandler from hw-uart.o(i.USART1_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
  - USART2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - USART3_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - USBWakeUp_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - USB_HP_CAN1_TX_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - USB_LP_CAN1_RX0_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - UsageFault_Handler from stm32f10x_it.o(i.UsageFault_Handler) referenced from startup_stm32f10x_md.o(RESET)
  - WWDG_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f10x_md.o(.text)
  - fputc from hw-uart.o(i.fputc) referenced from printf8.o(i.__0printf$8)
  - 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_stm32f10x_md.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_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))

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

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

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

  - startup_stm32f10x_md.o(RESET)

  ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
  [Calls]

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

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - >> SX1281HalReadRegisters
  - >> SX1281HalWriteRegisters
  - >> SX1281HalWriteCommand
  - >> SX1281HalWriteBuffer
  - >> SX1281HalReadCommand
  - >> SX1281HalReadBuffer

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

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

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

  - >> _memset$wrapper
  - >> __aeabi_memclr

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

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

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

  - >> __aeabi_memset
  [Called By]
  - >> main

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

  - >> USART1_IRQHandler
  - >> UartInit

  __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

  __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]
  - >> pow
  - >> SX1281GetFrequencyError
  - >> __kernel_poly

  __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]
  - >> pow
  - >> SX1281SetRfFrequency
  - >> SX1281GetFrequencyError
  - >> __mathlib_dbl_invalid
  - >> __mathlib_dbl_divzero

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

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

  __aeabi_d2uiz (Thumb, 50 bytes, Stack size 8 bytes, dfixui.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_d2uiz
  [Calls]
  - >> __aeabi_llsr
  [Called By]
  - >> SX1281SetRfFrequency

  __aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsl
  - >> __aeabi_llsr
  [Called By]
  - >> _printf_core

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

  - >> __aeabi_d2uiz
  - >> __aeabi_uldivmod
  - >> _dsqrt
  - >> _double_epilogue

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

  __I$use$fp (Thumb, 0 bytes, Stack size 8 bytes, iusefp.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
  - >> _dsqrt
  - >> _double_epilogue

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

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

  __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]
  - >> __aeabi_dsub
  - >> __aeabi_drsub
  - >> pow
  - >> __kernel_poly
  - >> __mathlib_dbl_infnan2

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

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

  __ARM_scalbn (Thumb, 46 bytes, Stack size 16 bytes, dscalb.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __ARM_scalbn
  [Called By]
  - >> pow
  - >> __mathlib_dbl_underflow
  - >> __mathlib_dbl_overflow

  scalbn (Thumb, 0 bytes, Stack size 16 bytes, dscalb.o(.text), UNUSED)

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

  - >> pow

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

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

  - >> __aeabi_dadd
  - >> __aeabi_uldivmod
  - >> _double_epilogue

  _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.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)

  _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]
  - >> sqrt

  BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.BusFault_Handler))
  [Address Reference Count : 1]

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

  - >> HAL_Delay
  - >> main

  EXTI1_IRQHandler (Thumb, 22 bytes, Stack size 8 bytes, hw-gpio.o(i.EXTI1_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = EXTI1_IRQHandler
  [Calls]
  - >> EXTI_ClearITPendingBit
  [Address Reference Count : 1]
  - startup_stm32f10x_md.o(RESET)

  EXTI2_IRQHandler (Thumb, 22 bytes, Stack size 8 bytes, hw-gpio.o(i.EXTI2_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = EXTI2_IRQHandler
  [Calls]
  - >> EXTI_ClearITPendingBit
  [Address Reference Count : 1]
  - startup_stm32f10x_md.o(RESET)

  EXTI3_IRQHandler (Thumb, 22 bytes, Stack size 8 bytes, hw-gpio.o(i.EXTI3_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = EXTI3_IRQHandler
  [Calls]
  - >> EXTI_ClearITPendingBit
  [Address Reference Count : 1]
  - startup_stm32f10x_md.o(RESET)

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

  - >> EXTI3_IRQHandler
  - >> EXTI2_IRQHandler
  - >> EXTI1_IRQHandler

  GPIO_Init (Thumb, 278 bytes, Stack size 24 bytes, stm32f10x_gpio.o(i.GPIO_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = GPIO_Init
  [Called By]
  - >> UartInit
  - >> SpiInit
  - >> GpioInit

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

  - >> SX1281HalWaitOnBusy
  - >> GpioRead

  GPIO_SetBits (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_gpio.o(i.GPIO_SetBits))
  [Called By]

  - >> SpiInit

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

  - >> GpioWrite

  GpioInit (Thumb, 118 bytes, Stack size 16 bytes, hw-gpio.o(i.GpioInit))
  [Stack]

  - Max Depth = 40
  - Call Chain = GpioInit ⇒ GPIO_Init
  [Calls]
  - >> GPIO_Init
  - >> RCC_APB2PeriphClockCmd
  [Called By]
  - >> HwInit

  GpioRead (Thumb, 16 bytes, Stack size 16 bytes, hw-gpio.o(i.GpioRead))
  [Stack]

  - Max Depth = 16
  - Call Chain = GpioRead
  [Calls]
  - >> GPIO_ReadInputDataBit
  [Called By]
  - >> SX1281HalGetDioStatus

  GpioWrite (Thumb, 20 bytes, Stack size 16 bytes, hw-gpio.o(i.GpioWrite))
  [Stack]

  - Max Depth = 16
  - Call Chain = GpioWrite
  [Calls]
  - >> GPIO_WriteBit
  [Called By]
  - >> SX1281HalReset
  - >> SX1281HalReadRegisters
  - >> SX1281HalWriteRegisters
  - >> SX1281HalWriteCommand
  - >> SX1281HalWriteBuffer
  - >> SX1281HalReadCommand
  - >> SX1281HalReadBuffer

  HAL_Delay (Thumb, 12 bytes, Stack size 8 bytes, hw.o(i.HAL_Delay))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_Delay
  [Calls]
  - >> Delay_ms
  [Called By]
  - >> SX1281HalReset

  HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.HardFault_Handler))
  [Address Reference Count : 1]

  - startup_stm32f10x_md.o(RESET)

  HwInit (Thumb, 16 bytes, Stack size 8 bytes, hw.o(i.HwInit))
  [Stack]

  - Max Depth = 108
  - Call Chain = HwInit ⇒ UartInit ⇒ USART_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> UartInit
  - >> SpiInit
  - >> GpioInit
  [Called By]
  - >> main

  MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.MemManage_Handler))
  [Address Reference Count : 1]

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

  NVIC_Init (Thumb, 100 bytes, Stack size 16 bytes, misc.o(i.NVIC_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = NVIC_Init
  [Called By]
  - >> UartInit

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

  - >> UartInit

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

  - Max Depth = 32
  - Call Chain = OnRxDone ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - main.o(.data)

  OnRxError (Thumb, 18 bytes, Stack size 8 bytes, main.o(i.OnRxError))
  [Stack]

  - Max Depth = 32
  - Call Chain = OnRxError ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - main.o(.data)

  OnRxTimeout (Thumb, 16 bytes, Stack size 8 bytes, main.o(i.OnRxTimeout))
  [Stack]

  - Max Depth = 32
  - Call Chain = OnRxTimeout ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - main.o(.data)

  OnTxDone (Thumb, 34 bytes, Stack size 8 bytes, main.o(i.OnTxDone))
  [Stack]

  - Max Depth = 32
  - Call Chain = OnTxDone ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - main.o(.data)

  OnTxTimeout (Thumb, 34 bytes, Stack size 8 bytes, main.o(i.OnTxTimeout))
  [Stack]

  - Max Depth = 32
  - Call Chain = OnTxTimeout ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - main.o(.data)

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

  - startup_stm32f10x_md.o(RESET)

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

  - >> UartInit
  - >> SpiInit
  - >> GpioInit

  RCC_GetClocksFreq (Thumb, 192 bytes, Stack size 12 bytes, stm32f10x_rcc.o(i.RCC_GetClocksFreq))
  [Stack]

  - Max Depth = 12
  - Call Chain = RCC_GetClocksFreq
  [Called By]
  - >> USART_Init

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

  - >> SpiInit

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

  - >> SpiInOut
  - >> SpiIn

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

  - >> SpiIn

  SPI_I2S_SendData (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_spi.o(i.SPI_I2S_SendData))
  [Called By]

  - >> SpiIn

  SPI_Init (Thumb, 60 bytes, Stack size 8 bytes, stm32f10x_spi.o(i.SPI_Init))
  [Stack]

  - Max Depth = 8
  - Call Chain = SPI_Init
  [Called By]
  - >> SpiInit

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

  - startup_stm32f10x_md.o(RESET)

  SX1281Calibrate (Thumb, 86 bytes, Stack size 16 bytes, sx1281.o(i.SX1281Calibrate))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281Calibrate ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281ClearIrqStatus (Thumb, 28 bytes, Stack size 16 bytes, sx1281.o(i.SX1281ClearIrqStatus))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281ClearIrqStatus ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Called By]
  - >> SX1281SetTx
  - >> SX1281SetRx
  - >> SX1281ProcessIrqs
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetFirmwareVersion (Thumb, 26 bytes, Stack size 8 bytes, sx1281.o(i.SX1281GetFirmwareVersion))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281GetFirmwareVersion ⇒ SX1281HalReadRegister ⇒ SX1281HalReadRegisters ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadRegister
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetFrequencyError (Thumb, 212 bytes, Stack size 56 bytes, sx1281.o(i.SX1281GetFrequencyError))
  [Stack]

  - Max Depth = 144
  - Call Chain = SX1281GetFrequencyError ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_i2d
  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> SX1281HalReadRegister
  - >> SX1281GetPacketType
  - >> SX1281GetLoRaBandwidth
  - >> SX1281complement2
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetIrqStatus (Thumb, 26 bytes, Stack size 8 bytes, sx1281.o(i.SX1281GetIrqStatus))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281GetIrqStatus ⇒ SX1281HalReadCommand ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadCommand
  [Called By]
  - >> SX1281ProcessIrqs
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

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

  - >> SX1281GetFrequencyError

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

  - >> SX1281ProcessIrqs
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetPacketStatus (Thumb, 774 bytes, Stack size 16 bytes, sx1281.o(i.SX1281GetPacketStatus))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281GetPacketStatus ⇒ SX1281HalReadCommand ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadCommand
  - >> SX1281GetPacketType
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

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

  - >> SX1281SetWhiteningSeed
  - >> SX1281SetSyncWord
  - >> SX1281SetCrcSeed
  - >> SX1281SetCrcPolynomial
  - >> SX1281GetRxBufferStatus
  - >> SX1281GetPacketStatus
  - >> SX1281GetFrequencyError
  - >> SX1281ProcessIrqs
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetPayload (Thumb, 42 bytes, Stack size 24 bytes, sx1281.o(i.SX1281GetPayload))
  [Stack]

  - Max Depth = 104
  - Call Chain = SX1281GetPayload ⇒ SX1281GetRxBufferStatus ⇒ SX1281HalReadRegister ⇒ SX1281HalReadRegisters ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadBuffer
  - >> SX1281GetRxBufferStatus
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetRssiInst (Thumb, 32 bytes, Stack size 8 bytes, sx1281.o(i.SX1281GetRssiInst))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281GetRssiInst ⇒ SX1281HalReadCommand ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetRxBufferStatus (Thumb, 84 bytes, Stack size 16 bytes, sx1281.o(i.SX1281GetRxBufferStatus))
  [Stack]

  - Max Depth = 80
  - Call Chain = SX1281GetRxBufferStatus ⇒ SX1281HalReadRegister ⇒ SX1281HalReadRegisters ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadRegister
  - >> SX1281HalReadCommand
  - >> SX1281GetPacketType
  [Called By]
  - >> SX1281GetPayload
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281GetStatus (Thumb, 30 bytes, Stack size 16 bytes, sx1281.o(i.SX1281GetStatus))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281GetStatus ⇒ SX1281HalReadCommand ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalGetDioStatus (Thumb, 28 bytes, Stack size 8 bytes, sx1281-hal.o(i.SX1281HalGetDioStatus))
  [Stack]

  - Max Depth = 24
  - Call Chain = SX1281HalGetDioStatus ⇒ GpioRead
  [Calls]
  - >> GpioRead
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalInit (Thumb, 10 bytes, Stack size 8 bytes, sx1281-hal.o(i.SX1281HalInit))
  [Stack]

  - Max Depth = 32
  - Call Chain = SX1281HalInit ⇒ SX1281HalReset ⇒ GpioWrite
  [Calls]
  - >> SX1281HalReset
  [Called By]
  - >> SX1281Init

  SX1281HalReadBuffer (Thumb, 100 bytes, Stack size 24 bytes, sx1281-hal.o(i.SX1281HalReadBuffer))
  [Stack]

  - Max Depth = 48
  - Call Chain = SX1281HalReadBuffer ⇒ SpiInOut
  [Calls]
  - >> __aeabi_memcpy
  - >> SX1281HalWaitOnBusy
  - >> SpiInOut
  - >> GpioWrite
  [Called By]
  - >> SX1281GetPayload
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalReadCommand (Thumb, 98 bytes, Stack size 24 bytes, sx1281-hal.o(i.SX1281HalReadCommand))
  [Stack]

  - Max Depth = 48
  - Call Chain = SX1281HalReadCommand ⇒ SpiInOut
  [Calls]
  - >> __aeabi_memcpy
  - >> SX1281HalWaitOnBusy
  - >> SpiInOut
  - >> GpioWrite
  [Called By]
  - >> SX1281GetStatus
  - >> SX1281GetRxBufferStatus
  - >> SX1281GetRssiInst
  - >> SX1281GetPacketStatus
  - >> SX1281GetIrqStatus
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalReadRegister (Thumb, 20 bytes, Stack size 16 bytes, sx1281-hal.o(i.SX1281HalReadRegister))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281HalReadRegister ⇒ SX1281HalReadRegisters ⇒ SpiInOut
  [Calls]
  - >> SX1281HalReadRegisters
  [Called By]
  - >> SX1281SetSyncWordErrorTolerance
  - >> SX1281GetRxBufferStatus
  - >> SX1281GetFrequencyError
  - >> SX1281GetFirmwareVersion
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalReadRegisters (Thumb, 104 bytes, Stack size 24 bytes, sx1281-hal.o(i.SX1281HalReadRegisters))
  [Stack]

  - Max Depth = 48
  - Call Chain = SX1281HalReadRegisters ⇒ SpiInOut
  [Calls]
  - >> __aeabi_memcpy
  - >> SX1281HalWaitOnBusy
  - >> SpiInOut
  - >> GpioWrite
  [Called By]
  - >> SX1281HalReadRegister
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalReset (Thumb, 54 bytes, Stack size 8 bytes, sx1281-hal.o(i.SX1281HalReset))
  [Stack]

  - Max Depth = 24
  - Call Chain = SX1281HalReset ⇒ GpioWrite
  [Calls]
  - >> GpioWrite
  - >> HAL_Delay
  [Called By]
  - >> SX1281HalInit
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalWaitOnBusy (Thumb, 18 bytes, Stack size 8 bytes, sx1281-hal.o(i.SX1281HalWaitOnBusy))
  [Stack]

  - Max Depth = 8
  - Call Chain = SX1281HalWaitOnBusy
  [Calls]
  - >> GPIO_ReadInputDataBit
  [Called By]
  - >> SX1281HalReadRegisters
  - >> SX1281HalWriteRegisters
  - >> SX1281HalWriteCommand
  - >> SX1281HalWriteBuffer
  - >> SX1281HalReadCommand
  - >> SX1281HalReadBuffer

  SX1281HalWriteBuffer (Thumb, 74 bytes, Stack size 24 bytes, sx1281-hal.o(i.SX1281HalWriteBuffer))
  [Stack]

  - Max Depth = 48
  - Call Chain = SX1281HalWriteBuffer ⇒ SpiIn
  [Calls]
  - >> __aeabi_memcpy
  - >> SX1281HalWaitOnBusy
  - >> SpiIn
  - >> GpioWrite
  [Called By]
  - >> SX1281SetPayload
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalWriteCommand (Thumb, 72 bytes, Stack size 24 bytes, sx1281-hal.o(i.SX1281HalWriteCommand))
  [Stack]

  - Max Depth = 48
  - Call Chain = SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> __aeabi_memcpy
  - >> SX1281HalWaitOnBusy
  - >> SpiIn
  - >> GpioWrite
  [Called By]
  - >> SX1281SetTxParams
  - >> SX1281SetTxContinuousWave
  - >> SX1281SetTxContinuousPreamble
  - >> SX1281SetTx
  - >> SX1281SetStandby
  - >> SX1281SetSleep
  - >> SX1281SetSaveContext
  - >> SX1281SetRxDutyCycle
  - >> SX1281SetRx
  - >> SX1281SetRfFrequency
  - >> SX1281SetRegulatorMode
  - >> SX1281SetPacketType
  - >> SX1281SetPacketParams
  - >> SX1281SetModulationParams
  - >> SX1281SetLongPreamble
  - >> SX1281SetFs
  - >> SX1281SetDioIrqParams
  - >> SX1281SetCadParams
  - >> SX1281SetCad
  - >> SX1281SetBufferBaseAddresses
  - >> SX1281SetAutoTx
  - >> SX1281SetAutoFS
  - >> SX1281ClearIrqStatus
  - >> SX1281Calibrate
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalWriteRegister (Thumb, 16 bytes, Stack size 16 bytes, sx1281-hal.o(i.SX1281HalWriteRegister))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281HalWriteRegister ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegisters
  [Called By]
  - >> SX1281SetWhiteningSeed
  - >> SX1281SetSyncWordErrorTolerance
  - >> SX1281SetRegistersDefault
  - >> SX1281SetBleAccessAddress
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281HalWriteRegisters (Thumb, 78 bytes, Stack size 24 bytes, sx1281-hal.o(i.SX1281HalWriteRegisters))
  [Stack]

  - Max Depth = 48
  - Call Chain = SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> __aeabi_memcpy
  - >> SX1281HalWaitOnBusy
  - >> SpiIn
  - >> GpioWrite
  [Called By]
  - >> SX1281HalWriteRegister
  - >> SX1281SetSyncWord
  - >> SX1281SetCrcSeed
  - >> SX1281SetCrcPolynomial
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281Init (Thumb, 16 bytes, Stack size 8 bytes, sx1281.o(i.SX1281Init))
  [Stack]

  - Max Depth = 40
  - Call Chain = SX1281Init ⇒ SX1281HalInit ⇒ SX1281HalReset ⇒ GpioWrite
  [Calls]
  - >> SX1281HalInit
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281OnDioIrq (Thumb, 22 bytes, Stack size 8 bytes, sx1281.o(i.SX1281OnDioIrq))
  [Stack]

  - Max Depth = 88
  - Call Chain = SX1281OnDioIrq ⇒ SX1281ProcessIrqs ⇒ SX1281ClearIrqStatus ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281ProcessIrqs
  [Address Reference Count : 1]
  - sx1281.o(.data)

  SX1281ProcessIrqs (Thumb, 726 bytes, Stack size 16 bytes, sx1281.o(i.SX1281ProcessIrqs))
  [Stack]

  - Max Depth = 80
  - Call Chain = SX1281ProcessIrqs ⇒ SX1281ClearIrqStatus ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281GetPacketType
  - >> SX1281GetOpMode
  - >> SX1281GetIrqStatus
  - >> SX1281ClearIrqStatus
  [Called By]
  - >> SX1281OnDioIrq
  - >> main

  SX1281SendPayload (Thumb, 22 bytes, Stack size 24 bytes, sx1281.o(i.SX1281SendPayload))
  [Stack]

  - Max Depth = 104
  - Call Chain = SX1281SendPayload ⇒ SX1281SetTx ⇒ SX1281ClearIrqStatus ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281SetTx
  - >> SX1281SetPayload
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetAutoFS (Thumb, 14 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetAutoFS))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetAutoFS ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetAutoTx (Thumb, 34 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetAutoTx))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281SetAutoTx ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetBleAccessAddress (Thumb, 50 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetBleAccessAddress))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetBleAccessAddress ⇒ SX1281HalWriteRegister ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegister
  [Called By]
  - >> SX1281SetBleAdvertizerAccessAddress
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetBleAdvertizerAccessAddress (Thumb, 10 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetBleAdvertizerAccessAddress))
  [Stack]

  - Max Depth = 80
  - Call Chain = SX1281SetBleAdvertizerAccessAddress ⇒ SX1281SetBleAccessAddress ⇒ SX1281HalWriteRegister ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281SetBleAccessAddress
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetBufferBaseAddresses (Thumb, 26 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetBufferBaseAddresses))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281SetBufferBaseAddresses ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetCad (Thumb, 20 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetCad))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetCad ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetCadParams (Thumb, 20 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetCadParams))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetCadParams ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetCrcPolynomial (Thumb, 50 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetCrcPolynomial))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281SetCrcPolynomial ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegisters
  - >> SX1281GetPacketType
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetCrcSeed (Thumb, 50 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetCrcSeed))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281SetCrcSeed ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegisters
  - >> SX1281GetPacketType
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetDioIrqParams (Thumb, 74 bytes, Stack size 32 bytes, sx1281.o(i.SX1281SetDioIrqParams))
  [Stack]

  - Max Depth = 80
  - Call Chain = SX1281SetDioIrqParams ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetFs (Thumb, 20 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetFs))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetFs ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetInterruptMode (Thumb, 8 bytes, Stack size 0 bytes, sx1281.o(i.SX1281SetInterruptMode))
  [Address Reference Count : 1]

  - sx1281-hal.o(.constdata)

  SX1281SetLongPreamble (Thumb, 14 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetLongPreamble))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetLongPreamble ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetModulationParams (Thumb, 164 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetModulationParams))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetModulationParams ⇒ SX1281SetPacketType ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  - >> SX1281SetPacketType
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetPacketParams (Thumb, 264 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetPacketParams))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetPacketParams ⇒ SX1281SetPacketType ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  - >> SX1281SetPacketType
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetPacketType (Thumb, 22 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetPacketType))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetPacketType ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Called By]
  - >> SX1281SetPacketParams
  - >> SX1281SetModulationParams
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetPayload (Thumb, 18 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetPayload))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281SetPayload ⇒ SX1281HalWriteBuffer ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteBuffer
  [Called By]
  - >> SX1281SendPayload
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetPollingMode (Thumb, 8 bytes, Stack size 0 bytes, sx1281.o(i.SX1281SetPollingMode))
  [Address Reference Count : 1]

  - sx1281-hal.o(.constdata)

  SX1281SetRegistersDefault (Thumb, 34 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetRegistersDefault))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetRegistersDefault ⇒ SX1281HalWriteRegister ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegister
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetRegulatorMode (Thumb, 14 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetRegulatorMode))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetRegulatorMode ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetRfFrequency (Thumb, 104 bytes, Stack size 48 bytes, sx1281.o(i.SX1281SetRfFrequency))
  [Stack]

  - Max Depth = 288
  - Call Chain = SX1281SetRfFrequency ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> pow
  - >> __aeabi_ui2d
  - >> __aeabi_ddiv
  - >> __aeabi_d2uiz
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetRx (Thumb, 58 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetRx))
  [Stack]

  - Max Depth = 80
  - Call Chain = SX1281SetRx ⇒ SX1281ClearIrqStatus ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  - >> SX1281ClearIrqStatus
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetRxDutyCycle (Thumb, 54 bytes, Stack size 24 bytes, sx1281.o(i.SX1281SetRxDutyCycle))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetRxDutyCycle ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetSaveContext (Thumb, 14 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetSaveContext))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetSaveContext ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetSleep (Thumb, 66 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetSleep))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281SetSleep ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetStandby (Thumb, 34 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetStandby))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetStandby ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetSyncWord (Thumb, 152 bytes, Stack size 24 bytes, sx1281.o(i.SX1281SetSyncWord))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetSyncWord ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegisters
  - >> SX1281GetPacketType
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetSyncWordErrorTolerance (Thumb, 36 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetSyncWordErrorTolerance))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetSyncWordErrorTolerance ⇒ SX1281HalWriteRegister ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegister
  - >> SX1281HalReadRegister
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetTx (Thumb, 58 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetTx))
  [Stack]

  - Max Depth = 80
  - Call Chain = SX1281SetTx ⇒ SX1281ClearIrqStatus ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  - >> SX1281ClearIrqStatus
  [Called By]
  - >> SX1281SendPayload
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetTxContinuousPreamble (Thumb, 14 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetTxContinuousPreamble))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetTxContinuousPreamble ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetTxContinuousWave (Thumb, 14 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetTxContinuousWave))
  [Stack]

  - Max Depth = 56
  - Call Chain = SX1281SetTxContinuousWave ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetTxParams (Thumb, 32 bytes, Stack size 16 bytes, sx1281.o(i.SX1281SetTxParams))
  [Stack]

  - Max Depth = 64
  - Call Chain = SX1281SetTxParams ⇒ SX1281HalWriteCommand ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteCommand
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SX1281SetWhiteningSeed (Thumb, 42 bytes, Stack size 8 bytes, sx1281.o(i.SX1281SetWhiteningSeed))
  [Stack]

  - Max Depth = 72
  - Call Chain = SX1281SetWhiteningSeed ⇒ SX1281HalWriteRegister ⇒ SX1281HalWriteRegisters ⇒ SpiIn
  [Calls]
  - >> SX1281HalWriteRegister
  - >> SX1281GetPacketType
  [Address Reference Count : 1]
  - sx1281-hal.o(.constdata)

  SpiIn (Thumb, 70 bytes, Stack size 24 bytes, hw-spi.o(i.SpiIn))
  [Stack]

  - Max Depth = 24
  - Call Chain = SpiIn
  [Calls]
  - >> SPI_I2S_SendData
  - >> SPI_I2S_ReceiveData
  - >> SPI_I2S_GetFlagStatus
  [Called By]
  - >> SX1281HalWriteRegisters
  - >> SX1281HalWriteCommand
  - >> SX1281HalWriteBuffer

  SpiInOut (Thumb, 66 bytes, Stack size 24 bytes, hw-spi.o(i.SpiInOut))
  [Stack]

  - Max Depth = 24
  - Call Chain = SpiInOut
  [Calls]
  - >> SPI_I2S_GetFlagStatus
  [Called By]
  - >> SX1281HalReadRegisters
  - >> SX1281HalReadCommand
  - >> SX1281HalReadBuffer

  SpiInit (Thumb, 122 bytes, Stack size 32 bytes, hw-spi.o(i.SpiInit))
  [Stack]

  - Max Depth = 56
  - Call Chain = SpiInit ⇒ GPIO_Init
  [Calls]
  - >> GPIO_SetBits
  - >> GPIO_Init
  - >> SPI_Init
  - >> SPI_Cmd
  - >> RCC_APB2PeriphClockCmd
  [Called By]
  - >> HwInit

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

  - startup_stm32f10x_md.o(RESET)

  SystemInit (Thumb, 78 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SystemInit))
  [Stack]

  - Max Depth = 28
  - Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
  [Calls]
  - >> SetSysClock
  [Address Reference Count : 1]
  - startup_stm32f10x_md.o(.text)

  USART1_IRQHandler (Thumb, 116 bytes, Stack size 8 bytes, hw-uart.o(i.USART1_IRQHandler))
  [Stack]

  - Max Depth = 32
  - Call Chain = USART1_IRQHandler ⇒ __2printf
  [Calls]
  - >> __aeabi_memclr4
  - >> USART_ReceiveData
  - >> USART_GetFlagStatus
  - >> __2printf
  [Address Reference Count : 1]
  - startup_stm32f10x_md.o(RESET)

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

  - >> UartInit

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

  - >> fputc
  - >> USART1_IRQHandler

  USART_ITConfig (Thumb, 74 bytes, Stack size 20 bytes, stm32f10x_usart.o(i.USART_ITConfig))
  [Stack]

  - Max Depth = 20
  - Call Chain = USART_ITConfig
  [Called By]
  - >> UartInit

  USART_Init (Thumb, 210 bytes, Stack size 56 bytes, stm32f10x_usart.o(i.USART_Init))
  [Stack]

  - Max Depth = 68
  - Call Chain = USART_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> RCC_GetClocksFreq
  [Called By]
  - >> UartInit

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

  - >> USART1_IRQHandler

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

  - >> fputc

  UartInit (Thumb, 192 bytes, Stack size 32 bytes, hw-uart.o(i.UartInit))
  [Stack]

  - Max Depth = 100
  - Call Chain = UartInit ⇒ USART_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> NVIC_PriorityGroupConfig
  - >> NVIC_Init
  - >> GPIO_Init
  - >> RCC_APB2PeriphClockCmd
  - >> __aeabi_memclr4
  - >> USART_Init
  - >> USART_ITConfig
  - >> USART_Cmd
  [Called By]
  - >> HwInit

  UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.UsageFault_Handler))
  [Address Reference Count : 1]

  - startup_stm32f10x_md.o(RESET)

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

  - >> _printf_core

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

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

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> USART1_IRQHandler
  - >> main
  - >> OnTxTimeout
  - >> OnTxDone
  - >> OnRxTimeout
  - >> OnRxError
  - >> OnRxDone

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

  - >> pow

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

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

  __mathlib_dbl_divzero (Thumb, 12 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_divzero))
  [Stack]

  - Max Depth = 40
  - Call Chain = __mathlib_dbl_divzero ⇒ __aeabi_ddiv ⇒ _double_round
  [Calls]
  - >> __aeabi_ddiv
  [Called By]
  - >> pow

  __mathlib_dbl_infnan2 (Thumb, 4 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_infnan2))
  [Stack]

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

  __mathlib_dbl_invalid (Thumb, 12 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_invalid))
  [Stack]

  - Max Depth = 40
  - Call Chain = __mathlib_dbl_invalid ⇒ __aeabi_ddiv ⇒ _double_round
  [Calls]
  - >> __aeabi_ddiv
  [Called By]
  - >> pow

  __mathlib_dbl_overflow (Thumb, 14 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_overflow))
  [Stack]

  - Max Depth = 16
  - Call Chain = __mathlib_dbl_overflow ⇒ __ARM_scalbn
  [Calls]
  - >> __ARM_scalbn
  [Called By]
  - >> pow

  __mathlib_dbl_underflow (Thumb, 10 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_underflow))
  [Stack]

  - Max Depth = 16
  - Call Chain = __mathlib_dbl_underflow ⇒ __ARM_scalbn
  [Calls]
  - >> __ARM_scalbn
  [Called By]
  - >> pow

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

  - >> pow
  - >> sqrt

  fputc (Thumb, 32 bytes, Stack size 16 bytes, hw-uart.o(i.fputc))
  [Stack]

  - Max Depth = 16
  - Call Chain = fputc
  [Calls]
  - >> USART_SendData
  - >> USART_GetFlagStatus
  [Address Reference Count : 1]
  - printf8.o(i.__0printf$8)

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

  - Max Depth = 116
  - Call Chain = main ⇒ HwInit ⇒ UartInit ⇒ USART_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> __aeabi_memclr
  - >> SX1281ProcessIrqs
  - >> HwInit
  - >> Delay_ms
  - >> radio_init
  - >> __2printf
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  pow (Thumb, 2512 bytes, Stack size 128 bytes, pow.o(i.pow))
  [Stack]

  - Max Depth = 240
  - Call Chain = pow ⇒ __kernel_poly ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_dsub
  - >> __aeabi_drsub
  - >> __aeabi_dadd
  - >> __aeabi_cdrcmple
  - >> __ARM_scalbn
  - >> __aeabi_i2d
  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> __set_errno
  - >> sqrt
  - >> __kernel_poly
  - >> __ARM_fpclassify
  - >> __mathlib_dbl_underflow
  - >> __mathlib_dbl_overflow
  - >> __mathlib_dbl_invalid
  - >> __mathlib_dbl_infnan2
  - >> __mathlib_dbl_divzero
  [Called By]
  - >> SX1281SetRfFrequency

  radio_init (Thumb, 212 bytes, Stack size 24 bytes, main.o(i.radio_init))
  [Stack]

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

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

  - Max Depth = 64
  - Call Chain = sqrt ⇒ _dsqrt ⇒ _double_round
  [Calls]
  - >> __set_errno
  - >> _dsqrt
  [Called By]
  - >> pow

  ### Local Symbols

  SetSysClock (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
  [Stack]

  - Max Depth = 20
  - Call Chain = SetSysClock ⇒ SetSysClockTo72
  [Calls]
  - >> SetSysClockTo72
  [Called By]
  - >> SystemInit

  SetSysClockTo72 (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
  [Stack]

  - Max Depth = 12
  - Call Chain = SetSysClockTo72
  [Called By]
  - >> SetSysClock

  SX1281complement2 (Thumb, 26 bytes, Stack size 8 bytes, sx1281.o(i.SX1281complement2))
  [Stack]

  - Max Depth = 8
  - Call Chain = SX1281complement2
  [Called By]
  - >> SX1281GetFrequencyError

  _printf_core (Thumb, 984 bytes, Stack size 104 bytes, printf8.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> _printf_pre_padding
  - >> _printf_post_padding
  [Called By]
  - >> __0printf$8

  _printf_post_padding (Thumb, 36 bytes, Stack size 24 bytes, printf8.o(i._printf_post_padding), UNUSED)
  [Called By]

  - >> _printf_core

  _printf_pre_padding (Thumb, 46 bytes, Stack size 24 bytes, printf8.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

  ### Undefined Global Symbols