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

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Nov 28 11:04:50 2025

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

### Call chain for Maximum Stack Depth:

main ⇒ port_init_flash ⇒ port_write_flash

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - EXTI0_1_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - EXTI2_3_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - EXTI4_15_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - FLASH_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - HardFault_Handler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - I2C1_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - IWDG_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - NMI_Handler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - PVD_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - PendSV_Handler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - RCC_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - Reset_Handler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - SPI1_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - SVC_Handler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - SysTick_Handler from board.o(i.SysTick_Handler) referenced from startup_mm32g0001_keil.o(RESET)
  - SystemInit from system_mm32g0001.o(i.SystemInit) referenced from startup_mm32g0001_keil.o(.text)
  - TIM14_IRQHandler from board.o(i.TIM14_IRQHandler) referenced from startup_mm32g0001_keil.o(RESET)
  - TIM1_BRK_UP_TRG_COM_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - TIM1_CC_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - TIM3_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - USART1_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - USART2_IRQHandler from startup_mm32g0001_keil.o(.text) referenced from startup_mm32g0001_keil.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_mm32g0001_keil.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_mm32g0001_keil.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))
  [Calls]

  - >> __arm_fini_ (Weak Reference)

  __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_mm32g0001_keil.o(.text))
  [Address Reference Count : 1]

  - startup_mm32g0001_keil.o(RESET)

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

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

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

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

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

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

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

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

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

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

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  - startup_mm32g0001_keil.o(RESET)

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

  __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = __aeabi_uidivmod
  [Called By]
  - >> uart_init
  - >> delay_init
  - >> TIM14_Configure

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

  HS6220_Bank_Switch (Thumb, 42 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_Bank_Switch))
  [Stack]

  - Max Depth = 40
  - Call Chain = HS6220_Bank_Switch ⇒ HS6220_read_byte ⇒ HS6220_read_buffer
  [Calls]
  - >> HS6220_write_byte_cmd
  - >> HS6220_read_byte
  [Called By]
  - >> HS6220_initialize
  - >> HS6220_calibration

  HS6220_CE_High (Thumb, 10 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_CE_High))
  [Stack]

  - Max Depth = 16
  - Call Chain = HS6220_CE_High ⇒ HS6220_Operation
  [Calls]
  - >> HS6220_Operation
  [Called By]
  - >> HS6220_initialize
  - >> HS6220_calibration
  - >> hs6220_send
  - >> hs6220_rx_check
  - >> HS6220_ModeSwitch
  - >> main

  HS6220_CE_Low (Thumb, 10 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_CE_Low))
  [Stack]

  - Max Depth = 16
  - Call Chain = HS6220_CE_Low ⇒ HS6220_Operation
  [Calls]
  - >> HS6220_Operation
  [Called By]
  - >> HS6220_soft_rst
  - >> HS6220_calibration
  - >> hs6220_send
  - >> hs6220_rx_check
  - >> HS6220_ModeSwitch
  - >> main

  HS6220_Clear_All_Irq (Thumb, 12 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_Clear_All_Irq))
  [Stack]

  - Max Depth = 40
  - Call Chain = HS6220_Clear_All_Irq ⇒ HS6220_write_byte ⇒ HS6220_wr_buffer
  [Calls]
  - >> HS6220_write_byte
  [Called By]
  - >> HS6220_initialize
  - >> hs6220_send
  - >> hs6220_rx_check
  - >> main

  HS6220_Flush_Rx (Thumb, 10 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_Flush_Rx))
  [Stack]

  - Max Depth = 16
  - Call Chain = HS6220_Flush_Rx ⇒ HS6220_Operation
  [Calls]
  - >> HS6220_Operation
  [Called By]
  - >> HS6220_initialize
  - >> hs6220_rx_check
  - >> main

  HS6220_Flush_Tx (Thumb, 10 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_Flush_Tx))
  [Stack]

  - Max Depth = 16
  - Call Chain = HS6220_Flush_Tx ⇒ HS6220_Operation
  [Calls]
  - >> HS6220_Operation
  [Called By]
  - >> hs6220_send
  - >> main

  HS6220_Init (Thumb, 30 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = HS6220_Init ⇒ HS6220_initialize ⇒ HS6220_Bank_Switch ⇒ HS6220_read_byte ⇒ HS6220_read_buffer
  [Calls]
  - >> HS6220_soft_rst
  - >> HS6220_initialize
  - >> HS6220_calibration
  - >> hal_get_tick
  [Called By]
  - >> hs6220_rx_check
  - >> main

  HS6220_ModeSwitch (Thumb, 58 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_ModeSwitch))
  [Stack]

  - Max Depth = 40
  - Call Chain = HS6220_ModeSwitch ⇒ HS6220_write_byte ⇒ HS6220_wr_buffer
  [Calls]
  - >> HS6220_write_byte
  - >> HS6220_read_byte
  - >> HS6220_CE_Low
  - >> HS6220_CE_High
  [Called By]
  - >> main

  HS6220_delay_ms (Thumb, 8 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_delay_ms))
  [Stack]

  - Max Depth = 40
  - Call Chain = HS6220_delay_ms ⇒ delay_ms ⇒ delay_us
  [Calls]
  - >> delay_ms
  [Called By]
  - >> HS6220_soft_rst
  - >> hs6220_rx_check
  - >> main

  HS6220_soft_rst (Thumb, 68 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_soft_rst))
  [Stack]

  - Max Depth = 48
  - Call Chain = HS6220_soft_rst ⇒ HS6220_delay_ms ⇒ delay_ms ⇒ delay_us
  [Calls]
  - >> HS6220_write_byte
  - >> HS6220_delay_ms
  - >> HS6220_CE_Low
  [Called By]
  - >> HS6220_Init

  IWDG_Configure (Thumb, 90 bytes, Stack size 0 bytes, board.o(i.IWDG_Configure))
  [Called By]

  - >> main

  SysTick_Handler (Thumb, 8 bytes, Stack size 4 bytes, board.o(i.SysTick_Handler))
  [Stack]

  - Max Depth = 4
  - Call Chain = SysTick_Handler
  [Calls]
  - >> hal_inc_tick
  [Address Reference Count : 1]
  - startup_mm32g0001_keil.o(RESET)

  SystemInit (Thumb, 46 bytes, Stack size 8 bytes, system_mm32g0001.o(i.SystemInit))
  [Stack]

  - Max Depth = 20
  - Call Chain = SystemInit ⇒ SetSysClockToDefine
  [Calls]
  - >> SetSysClockToDefine
  [Address Reference Count : 1]
  - startup_mm32g0001_keil.o(.text)

  TIM14_Configure (Thumb, 88 bytes, Stack size 16 bytes, board.o(i.TIM14_Configure))
  [Stack]

  - Max Depth = 28
  - Call Chain = TIM14_Configure ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> __NVIC_SetPriority
  [Called By]
  - >> main

  TIM14_IRQHandler (Thumb, 30 bytes, Stack size 0 bytes, board.o(i.TIM14_IRQHandler))
  [Address Reference Count : 1]

  - startup_mm32g0001_keil.o(RESET)

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

  debug_printf (Thumb, 88 bytes, Stack size 16 bytes, uart.o(i.debug_printf))
  [Stack]

  - Max Depth = 16
  - Call Chain = debug_printf
  [Called By]
  - >> log_printf

  delay_init (Thumb, 82 bytes, Stack size 16 bytes, board.o(i.delay_init))
  [Stack]

  - Max Depth = 28
  - Call Chain = delay_init ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> __NVIC_SetPriority
  [Called By]
  - >> main

  delay_ms (Thumb, 26 bytes, Stack size 16 bytes, board.o(i.delay_ms))
  [Stack]

  - Max Depth = 32
  - Call Chain = delay_ms ⇒ delay_us
  [Calls]
  - >> delay_us
  [Called By]
  - >> HS6220_calibration
  - >> HS6220_delay_ms

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

  - Max Depth = 16
  - Call Chain = delay_us
  [Called By]
  - >> HS6220_delay_us
  - >> delay_ms

  hal_get_elapsed_time (Thumb, 20 bytes, Stack size 4 bytes, board.o(i.hal_get_elapsed_time))
  [Stack]

  - Max Depth = 4
  - Call Chain = hal_get_elapsed_time
  [Calls]
  - >> hal_get_tick
  [Called By]
  - >> hs6220_send
  - >> hs6220_rx_check

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

  - >> hal_get_elapsed_time
  - >> hs6220_send
  - >> hs6220_rx_check
  - >> HS6220_Init

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

  - >> SysTick_Handler

  hs6220_rx_check (Thumb, 154 bytes, Stack size 16 bytes, hs6220.o(i.hs6220_rx_check))
  [Stack]

  - Max Depth = 96
  - Call Chain = hs6220_rx_check ⇒ HS6220_Init ⇒ HS6220_initialize ⇒ HS6220_Bank_Switch ⇒ HS6220_read_byte ⇒ HS6220_read_buffer
  [Calls]
  - >> HS6220_write_byte
  - >> HS6220_read_byte
  - >> HS6220_read_buffer
  - >> hal_get_tick
  - >> hal_get_elapsed_time
  - >> HS6220_delay_ms
  - >> HS6220_Init
  - >> HS6220_Flush_Rx
  - >> HS6220_Clear_All_Irq
  - >> HS6220_CE_Low
  - >> HS6220_CE_High
  [Called By]
  - >> main

  hs6220_send (Thumb, 84 bytes, Stack size 32 bytes, hs6220.o(i.hs6220_send))
  [Stack]

  - Max Depth = 72
  - Call Chain = hs6220_send ⇒ HS6220_Clear_All_Irq ⇒ HS6220_write_byte ⇒ HS6220_wr_buffer
  [Calls]
  - >> HS6220_wr_buffer
  - >> HS6220_read_byte
  - >> hal_get_tick
  - >> hal_get_elapsed_time
  - >> HS6220_Flush_Tx
  - >> HS6220_Clear_All_Irq
  - >> HS6220_CE_Low
  - >> HS6220_CE_High
  [Called By]
  - >> main

  log_printf (Thumb, 98 bytes, Stack size 28 bytes, uart.o(i.log_printf))
  [Stack]

  - Max Depth = 44
  - Call Chain = log_printf ⇒ debug_printf
  [Calls]
  - >> debug_printf
  [Called By]
  - >> main

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

  - Max Depth = 172
  - Call Chain = main ⇒ port_init_flash ⇒ port_write_flash
  [Calls]
  - >> uart_init
  - >> spi_int
  - >> port_init_flash
  - >> log_printf
  - >> hs6220_send
  - >> hs6220_rx_check
  - >> delay_init
  - >> TIM14_Configure
  - >> IWDG_Configure
  - >> HS6220_delay_ms
  - >> HS6220_ModeSwitch
  - >> HS6220_Init
  - >> HS6220_Flush_Tx
  - >> HS6220_Flush_Rx
  - >> HS6220_Clear_All_Irq
  - >> HS6220_CE_Low
  - >> HS6220_CE_High
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  port_erase_flash (Thumb, 78 bytes, Stack size 8 bytes, board.o(i.port_erase_flash))
  [Stack]

  - Max Depth = 8
  - Call Chain = port_erase_flash
  [Called By]
  - >> port_init_flash

  port_init_flash (Thumb, 84 bytes, Stack size 152 bytes, board.o(i.port_init_flash))
  [Stack]

  - Max Depth = 172
  - Call Chain = port_init_flash ⇒ port_write_flash
  [Calls]
  - >> port_write_flash
  - >> port_read_flash
  - >> port_erase_flash
  [Called By]
  - >> main

  port_read_flash (Thumb, 34 bytes, Stack size 8 bytes, board.o(i.port_read_flash))
  [Stack]

  - Max Depth = 8
  - Call Chain = port_read_flash
  [Called By]
  - >> port_init_flash

  port_write_flash (Thumb, 104 bytes, Stack size 20 bytes, board.o(i.port_write_flash))
  [Stack]

  - Max Depth = 20
  - Call Chain = port_write_flash
  [Called By]
  - >> port_init_flash

  spi_inout (Thumb, 54 bytes, Stack size 0 bytes, spi.o(i.spi_inout))
  [Called By]

  - >> HS6220_write_byte_cmd
  - >> HS6220_wr_buffer
  - >> HS6220_read_buffer
  - >> HS6220_Operation

  spi_int (Thumb, 234 bytes, Stack size 20 bytes, spi.o(i.spi_int))
  [Stack]

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

  uart_init (Thumb, 158 bytes, Stack size 16 bytes, uart.o(i.uart_init))
  [Stack]

  - Max Depth = 28
  - Call Chain = uart_init ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> main

  ### Local Symbols

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

  - >> delay_init
  - >> TIM14_Configure

  SetSysClockToDefine (Thumb, 106 bytes, Stack size 12 bytes, system_mm32g0001.o(i.SetSysClockToDefine))
  [Stack]

  - Max Depth = 12
  - Call Chain = SetSysClockToDefine
  [Called By]
  - >> SystemInit

  HS6220_Operation (Thumb, 26 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_Operation))
  [Stack]

  - Max Depth = 8
  - Call Chain = HS6220_Operation
  [Calls]
  - >> spi_inout
  [Called By]
  - >> HS6220_Flush_Tx
  - >> HS6220_Flush_Rx
  - >> HS6220_CE_Low
  - >> HS6220_CE_High

  HS6220_calibration (Thumb, 112 bytes, Stack size 16 bytes, hs6220.o(i.HS6220_calibration))
  [Stack]

  - Max Depth = 56
  - Call Chain = HS6220_calibration ⇒ HS6220_Bank_Switch ⇒ HS6220_read_byte ⇒ HS6220_read_buffer
  [Calls]
  - >> HS6220_Bank_Switch
  - >> HS6220_write_byte
  - >> HS6220_wr_buffer
  - >> HS6220_read_byte
  - >> HS6220_delay_us
  - >> delay_ms
  - >> HS6220_CE_Low
  - >> HS6220_CE_High
  [Called By]
  - >> HS6220_Init

  HS6220_delay_us (Thumb, 8 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_delay_us))
  [Stack]

  - Max Depth = 24
  - Call Chain = HS6220_delay_us ⇒ delay_us
  [Calls]
  - >> delay_us
  [Called By]
  - >> HS6220_calibration

  HS6220_initialize (Thumb, 164 bytes, Stack size 32 bytes, hs6220.o(i.HS6220_initialize))
  [Stack]

  - Max Depth = 72
  - Call Chain = HS6220_initialize ⇒ HS6220_Bank_Switch ⇒ HS6220_read_byte ⇒ HS6220_read_buffer
  [Calls]
  - >> HS6220_Bank_Switch
  - >> HS6220_write_byte
  - >> HS6220_wr_buffer
  - >> HS6220_Flush_Rx
  - >> HS6220_Clear_All_Irq
  - >> HS6220_CE_High
  [Called By]
  - >> HS6220_Init

  HS6220_read_buffer (Thumb, 50 bytes, Stack size 24 bytes, hs6220.o(i.HS6220_read_buffer))
  [Stack]

  - Max Depth = 24
  - Call Chain = HS6220_read_buffer
  [Calls]
  - >> spi_inout
  [Called By]
  - >> HS6220_read_byte
  - >> hs6220_rx_check

  HS6220_read_byte (Thumb, 16 bytes, Stack size 8 bytes, hs6220.o(i.HS6220_read_byte))
  [Stack]

  - Max Depth = 32
  - Call Chain = HS6220_read_byte ⇒ HS6220_read_buffer
  [Calls]
  - >> HS6220_read_buffer
  [Called By]
  - >> HS6220_Bank_Switch
  - >> HS6220_calibration
  - >> hs6220_send
  - >> hs6220_rx_check
  - >> HS6220_ModeSwitch

  HS6220_wr_buffer (Thumb, 54 bytes, Stack size 16 bytes, hs6220.o(i.HS6220_wr_buffer))
  [Stack]

  - Max Depth = 16
  - Call Chain = HS6220_wr_buffer
  [Calls]
  - >> spi_inout
  [Called By]
  - >> HS6220_write_byte
  - >> HS6220_initialize
  - >> HS6220_calibration
  - >> hs6220_send

  HS6220_write_byte (Thumb, 12 bytes, Stack size 16 bytes, hs6220.o(i.HS6220_write_byte))
  [Stack]

  - Max Depth = 32
  - Call Chain = HS6220_write_byte ⇒ HS6220_wr_buffer
  [Calls]
  - >> HS6220_wr_buffer
  [Called By]
  - >> HS6220_soft_rst
  - >> HS6220_initialize
  - >> HS6220_calibration
  - >> hs6220_rx_check
  - >> HS6220_ModeSwitch
  - >> HS6220_Clear_All_Irq

  HS6220_write_byte_cmd (Thumb, 38 bytes, Stack size 16 bytes, hs6220.o(i.HS6220_write_byte_cmd))
  [Stack]

  - Max Depth = 16
  - Call Chain = HS6220_write_byte_cmd
  [Calls]
  - >> spi_inout
  [Called By]
  - >> HS6220_Bank_Switch

  ### Undefined Global Symbols

  __arm_fini_ (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_shutdown_fini