# Static Call Graph for image .\Out\APM32F407\I2C_EEPROM.axf

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Thu Apr 16 15:01:10 2026

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

### Call chain for Maximum Stack Depth:

main ⇒ UsartInit ⇒ BOARD_COMInit ⇒ USART_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq

### Mutually Recursive functions

- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - BN_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - BusFault_Handler from apm32f4xx_int.o(i.BusFault_Handler) referenced from startup_apm32f407xx.o(RESET)
  - CAN1_RX0_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - CAN1_RX1_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - CAN1_SCE_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - CAN1_TX_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - CAN2_RX0_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - CAN2_RX1_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - CAN2_SCE_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - CAN2_TX_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DCI_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR0_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR1_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR2_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR3_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR4_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR5_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR6_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA1_STR7_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR0_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR1_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR2_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR3_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR4_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR5_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR6_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DMA2_STR7_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - DebugMon_Handler from apm32f4xx_int.o(i.DebugMon_Handler) referenced from startup_apm32f407xx.o(RESET)
  - EINT0_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - EINT15_10_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - EINT1_IRQHandler from apm32f4xx_int.o(i.EINT1_IRQHandler) referenced from startup_apm32f407xx.o(RESET)
  - EINT2_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - EINT3_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - EINT4_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - EINT9_5_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - EMMC_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - ETH_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - ETH_WKUP_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - FLASH_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - FPU_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - HASH_RNG_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - HardFault_Handler from apm32f4xx_int.o(i.HardFault_Handler) referenced from startup_apm32f407xx.o(RESET)
  - I2C1_ER_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - I2C1_EV_IRQHandler from apm32f4xx_int.o(i.I2C1_EV_IRQHandler) referenced from startup_apm32f407xx.o(RESET)
  - I2C2_ER_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - I2C2_EV_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - I2C3_ER_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - I2C3_EV_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - MemManage_Handler from apm32f4xx_int.o(i.MemManage_Handler) referenced from startup_apm32f407xx.o(RESET)
  - NMI_Handler from apm32f4xx_int.o(i.NMI_Handler) referenced from startup_apm32f407xx.o(RESET)
  - OTG_FS_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - OTG_FS_WKUP_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - OTG_HS1_EP1_IN_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - OTG_HS1_EP1_OUT_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - OTG_HS1_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - OTG_HS1_WKUP_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - PVD_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - PendSV_Handler from apm32f4xx_int.o(i.PendSV_Handler) referenced from startup_apm32f407xx.o(RESET)
  - RCM_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - RTC_Alarm_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - RTC_WKUP_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - Reset_Handler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - SDIO_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - SM3_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - SM4_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - SPI1_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - SPI2_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - SPI3_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - SVC_Handler from apm32f4xx_int.o(i.SVC_Handler) referenced from startup_apm32f407xx.o(RESET)
  - SysTick_Handler from apm32f4xx_int.o(i.SysTick_Handler) referenced from startup_apm32f407xx.o(RESET)
  - SystemInit from system_apm32f4xx.o(i.SystemInit) referenced from startup_apm32f407xx.o(.text)
  - TAMP_STAMP_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR1_BRK_TMR9_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR1_CC_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR1_TRG_COM_TMR11_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR1_UP_TMR10_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR2_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR3_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR4_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR5_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR6_DAC_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR7_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR8_BRK_TMR12_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR8_CC_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR8_TRG_COM_TMR14_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - TMR8_UP_TMR13_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - UART4_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - UART5_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - USART1_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - USART2_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - USART3_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - USART6_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - UsageFault_Handler from apm32f4xx_int.o(i.UsageFault_Handler) referenced from startup_apm32f407xx.o(RESET)
  - WWDT_IRQHandler from startup_apm32f407xx.o(.text) referenced from startup_apm32f407xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_apm32f407xx.o(.text)
  - fputc from main.o(i.fputc) referenced from printf1.o(i.__0printf$1)
  - 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_apm32f407xx.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_apm32f407xx.o(.text))
  [Address Reference Count : 1]

  - startup_apm32f407xx.o(RESET)

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

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

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.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), UNUSED)
  [Called By]

  - >> _printf_core

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

  BOARD_COMInit (Thumb, 178 bytes, Stack size 24 bytes, board.o(i.BOARD_COMInit))
  [Stack]

  - Max Depth = 128
  - Call Chain = BOARD_COMInit ⇒ USART_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> GPIO_ConfigStructInit
  - >> GPIO_ConfigPinAF
  - >> GPIO_Config
  - >> RCM_EnableAPB2PeriphClock
  - >> RCM_EnableAPB1PeriphClock
  - >> RCM_EnableAHB1PeriphClock
  - >> USART_Enable
  - >> USART_Config
  [Called By]
  - >> UsartInit

  BOARD_LEDInit (Thumb, 70 bytes, Stack size 16 bytes, board.o(i.BOARD_LEDInit))
  [Stack]

  - Max Depth = 36
  - Call Chain = BOARD_LEDInit ⇒ GPIO_Config
  [Calls]
  - >> GPIO_ConfigStructInit
  - >> GPIO_Config
  - >> RCM_EnableAHB1PeriphClock
  [Called By]
  - >> main

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

  - >> I2C1_Isr

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

  - >> main

  BOARD_PBGetState (Thumb, 22 bytes, Stack size 8 bytes, board.o(i.BOARD_PBGetState))
  [Stack]

  - Max Depth = 8
  - Call Chain = BOARD_PBGetState
  [Calls]
  - >> GPIO_ReadInputBit
  [Called By]
  - >> ModeSelect

  BOARD_PBInit (Thumb, 124 bytes, Stack size 32 bytes, board.o(i.BOARD_PBInit))
  [Stack]

  - Max Depth = 60
  - Call Chain = BOARD_PBInit ⇒ NVIC_EnableIRQRequest
  [Calls]
  - >> NVIC_EnableIRQRequest
  - >> GPIO_ConfigStructInit
  - >> GPIO_Config
  - >> EINT_Config
  - >> RCM_EnableAPB2PeriphClock
  - >> RCM_EnableAHB1PeriphClock
  - >> SYSCFG_ConfigEINTLine
  [Called By]
  - >> main

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

  - startup_apm32f407xx.o(RESET)

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

  - startup_apm32f407xx.o(RESET)

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

  - Max Depth = 8
  - Call Chain = Delay
  [Called By]
  - >> main

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

  - startup_apm32f407xx.o(RESET)

  EINT_Config (Thumb, 142 bytes, Stack size 0 bytes, apm32f4xx_eint.o(i.EINT_Config))
  [Called By]

  - >> BOARD_PBInit

  GPIO_Config (Thumb, 144 bytes, Stack size 20 bytes, apm32f4xx_gpio.o(i.GPIO_Config))
  [Stack]

  - Max Depth = 20
  - Call Chain = GPIO_Config
  [Called By]
  - >> I2CInit
  - >> BOARD_PBInit
  - >> BOARD_LEDInit
  - >> BOARD_COMInit

  GPIO_ConfigPinAF (Thumb, 74 bytes, Stack size 20 bytes, apm32f4xx_gpio.o(i.GPIO_ConfigPinAF))
  [Stack]

  - Max Depth = 20
  - Call Chain = GPIO_ConfigPinAF
  [Called By]
  - >> I2CInit
  - >> BOARD_COMInit

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

  - >> BOARD_PBInit
  - >> BOARD_LEDInit
  - >> BOARD_COMInit

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

  - >> BOARD_PBGetState

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

  - startup_apm32f407xx.o(RESET)

  I2C1Write (Thumb, 110 bytes, Stack size 16 bytes, main.o(i.I2C1Write))
  [Stack]

  - Max Depth = 48
  - Call Chain = I2C1Write ⇒ I2C_TIMEOUT_UserCallback ⇒ __2printf
  [Calls]
  - >> I2C_TxData
  - >> I2C_ReadEventStatus
  - >> I2C_EnableGenerateStop
  - >> I2C_TIMEOUT_UserCallback
  [Called By]
  - >> I2C1_Isr

  I2C1_EV_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, apm32f4xx_int.o(i.I2C1_EV_IRQHandler))
  [Stack]

  - Max Depth = 64
  - Call Chain = I2C1_EV_IRQHandler ⇒ I2C1_Isr ⇒ I2C1Write ⇒ I2C_TIMEOUT_UserCallback ⇒ __2printf
  [Calls]
  - >> I2C1_Isr
  [Address Reference Count : 1]
  - startup_apm32f407xx.o(RESET)

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

  - Max Depth = 56
  - Call Chain = I2C1_Isr ⇒ I2C1Write ⇒ I2C_TIMEOUT_UserCallback ⇒ __2printf
  [Calls]
  - >> I2C_TxData
  - >> I2C_RxData
  - >> I2C_ReadStatusFlag
  - >> I2C_ReadIntFlag
  - >> I2C_EnableGenerateStop
  - >> I2C_Enable
  - >> I2C_DisableInterrupt
  - >> I2C_ClearIntFlag
  - >> USART_Write
  - >> I2C1Write
  - >> BOARD_LEDOn
  [Called By]
  - >> I2C1_EV_IRQHandler

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

  - Max Depth = 144
  - Call Chain = I2C1_RX_AddressSend ⇒ I2CInit ⇒ I2C_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> I2C_TxData
  - >> I2C_Tx7BitAddress
  - >> I2C_ReadStatusFlag
  - >> I2C_ReadEventStatus
  - >> I2C_EnableInterrupt
  - >> I2C_EnableGenerateStart
  - >> I2C_DisableInterrupt
  - >> I2C_TIMEOUT_UserCallback
  - >> I2CInit
  [Called By]
  - >> main

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

  - Max Depth = 144
  - Call Chain = I2C1_TX_AddressSend ⇒ I2CInit ⇒ I2C_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> I2C_Tx7BitAddress
  - >> I2C_ReadStatusFlag
  - >> I2C_ReadEventStatus
  - >> I2C_EnableInterrupt
  - >> I2C_EnableGenerateStart
  - >> I2C_DisableInterrupt
  - >> I2C_TIMEOUT_UserCallback
  - >> I2CInit
  [Called By]
  - >> main

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

  - Max Depth = 136
  - Call Chain = I2CInit ⇒ I2C_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> NVIC_EnableIRQRequest
  - >> I2C_Reset
  - >> I2C_EnableInterrupt
  - >> I2C_Enable
  - >> I2C_DisableDualAddress
  - >> I2C_Config
  - >> GPIO_ConfigPinAF
  - >> GPIO_Config
  - >> RCM_EnableAPB1PeriphClock
  - >> RCM_EnableAHB1PeriphClock
  [Called By]
  - >> main
  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend

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

  - >> I2C1_Isr

  I2C_Config (Thumb, 244 bytes, Stack size 32 bytes, apm32f4xx_i2c.o(i.I2C_Config))
  [Stack]

  - Max Depth = 104
  - Call Chain = I2C_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> RCM_ReadPCLKFreq
  [Called By]
  - >> I2CInit

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

  - >> I2CInit

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

  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend
  - >> I2C1_Isr

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

  - >> I2CInit
  - >> I2C1_Isr

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

  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend

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

  - >> I2C1Write
  - >> I2C1_Isr

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

  - >> I2CInit
  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend

  I2C_ReadEventStatus (Thumb, 44 bytes, Stack size 12 bytes, apm32f4xx_i2c.o(i.I2C_ReadEventStatus))
  [Stack]

  - Max Depth = 12
  - Call Chain = I2C_ReadEventStatus
  [Called By]
  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend
  - >> I2C1Write

  I2C_ReadIntFlag (Thumb, 36 bytes, Stack size 8 bytes, apm32f4xx_i2c.o(i.I2C_ReadIntFlag))
  [Stack]

  - Max Depth = 8
  - Call Chain = I2C_ReadIntFlag
  [Called By]
  - >> I2C1_Isr

  I2C_ReadStatusFlag (Thumb, 208 bytes, Stack size 0 bytes, apm32f4xx_i2c.o(i.I2C_ReadStatusFlag))
  [Called By]

  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend
  - >> I2C1_Isr

  I2C_Reset (Thumb, 76 bytes, Stack size 8 bytes, apm32f4xx_i2c.o(i.I2C_Reset))
  [Stack]

  - Max Depth = 8
  - Call Chain = I2C_Reset
  [Calls]
  - >> RCM_EnableAPB1PeriphReset
  - >> RCM_DisableAPB1PeriphReset
  [Called By]
  - >> I2CInit

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

  - >> I2C1_Isr

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

  - Max Depth = 32
  - Call Chain = I2C_TIMEOUT_UserCallback ⇒ __2printf
  [Calls]
  - >> __2printf
  [Called By]
  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend
  - >> I2C1Write

  I2C_Tx7BitAddress (Thumb, 32 bytes, Stack size 8 bytes, apm32f4xx_i2c.o(i.I2C_Tx7BitAddress))
  [Stack]

  - Max Depth = 8
  - Call Chain = I2C_Tx7BitAddress
  [Called By]
  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend

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

  - >> I2C1_RX_AddressSend
  - >> I2C1Write
  - >> I2C1_Isr

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

  - startup_apm32f407xx.o(RESET)

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

  - Max Depth = 16
  - Call Chain = ModeSelect ⇒ BOARD_PBGetState
  [Calls]
  - >> BOARD_PBGetState
  [Called By]
  - >> main

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

  - startup_apm32f407xx.o(RESET)

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

  - >> NVIC_EnableIRQRequest

  NVIC_EnableIRQRequest (Thumb, 150 bytes, Stack size 28 bytes, apm32f4xx_misc.o(i.NVIC_EnableIRQRequest))
  [Stack]

  - Max Depth = 28
  - Call Chain = NVIC_EnableIRQRequest
  [Calls]
  - >> NVIC_ConfigPriorityGroup
  [Called By]
  - >> I2CInit
  - >> BOARD_PBInit

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

  - startup_apm32f407xx.o(RESET)

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

  - >> I2C_Reset

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

  - >> I2CInit
  - >> BOARD_PBInit
  - >> BOARD_LEDInit
  - >> BOARD_COMInit

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

  - >> I2CInit
  - >> BOARD_COMInit

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

  - >> I2C_Reset

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

  - >> BOARD_PBInit
  - >> BOARD_COMInit

  RCM_ReadHCLKFreq (Thumb, 38 bytes, Stack size 32 bytes, apm32f4xx_rcm.o(i.RCM_ReadHCLKFreq))
  [Stack]

  - Max Depth = 44
  - Call Chain = RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> RCM_ReadSYSCLKFreq
  [Called By]
  - >> RCM_ReadPCLKFreq

  RCM_ReadPCLKFreq (Thumb, 62 bytes, Stack size 28 bytes, apm32f4xx_rcm.o(i.RCM_ReadPCLKFreq))
  [Stack]

  - Max Depth = 72
  - Call Chain = RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> RCM_ReadHCLKFreq
  [Called By]
  - >> I2C_Config
  - >> USART_Config

  RCM_ReadSYSCLKFreq (Thumb, 122 bytes, Stack size 12 bytes, apm32f4xx_rcm.o(i.RCM_ReadSYSCLKFreq))
  [Stack]

  - Max Depth = 12
  - Call Chain = RCM_ReadSYSCLKFreq
  [Called By]
  - >> RCM_ReadHCLKFreq

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

  - startup_apm32f407xx.o(RESET)

  SYSCFG_ConfigEINTLine (Thumb, 118 bytes, Stack size 16 bytes, apm32f4xx_syscfg.o(i.SYSCFG_ConfigEINTLine))
  [Stack]

  - Max Depth = 16
  - Call Chain = SYSCFG_ConfigEINTLine
  [Called By]
  - >> BOARD_PBInit

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

  - startup_apm32f407xx.o(RESET)

  SystemClockConfig (Thumb, 252 bytes, Stack size 8 bytes, system_apm32f4xx.o(i.SystemClockConfig))
  [Stack]

  - Max Depth = 24
  - Call Chain = SystemClockConfig ⇒ SystemCoreClockUpdate
  [Calls]
  - >> SystemCoreClockUpdate
  [Called By]
  - >> main

  SystemCoreClockUpdate (Thumb, 160 bytes, Stack size 16 bytes, system_apm32f4xx.o(i.SystemCoreClockUpdate))
  [Stack]

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

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

  - startup_apm32f407xx.o(.text)

  USART_Config (Thumb, 236 bytes, Stack size 32 bytes, apm32f4xx_usart.o(i.USART_Config))
  [Stack]

  - Max Depth = 104
  - Call Chain = USART_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> RCM_ReadPCLKFreq
  [Called By]
  - >> BOARD_COMInit

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

  - >> UsartInit

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

  - >> BOARD_COMInit

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

  - >> fputc
  - >> USART_Write

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

  - >> fputc
  - >> USART_Write

  USART_Write (Thumb, 42 bytes, Stack size 16 bytes, main.o(i.USART_Write))
  [Stack]

  - Max Depth = 16
  - Call Chain = USART_Write
  [Calls]
  - >> USART_TxData
  - >> USART_ReadStatusFlag
  [Called By]
  - >> I2C1_Isr

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

  - startup_apm32f407xx.o(RESET)

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

  - Max Depth = 144
  - Call Chain = UsartInit ⇒ BOARD_COMInit ⇒ USART_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> USART_ConfigStructInit
  - >> BOARD_COMInit
  [Called By]
  - >> main

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

  - >> _printf_core

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

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

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> I2C_TIMEOUT_UserCallback

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

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

  - Max Depth = 16
  - Call Chain = fputc
  [Calls]
  - >> USART_TxData
  - >> USART_ReadStatusFlag
  [Address Reference Count : 1]
  - printf1.o(i.__0printf$1)

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

  - Max Depth = 144
  - Call Chain = main ⇒ UsartInit ⇒ BOARD_COMInit ⇒ USART_Config ⇒ RCM_ReadPCLKFreq ⇒ RCM_ReadHCLKFreq ⇒ RCM_ReadSYSCLKFreq
  [Calls]
  - >> SystemClockConfig
  - >> UsartInit
  - >> ModeSelect
  - >> I2CInit
  - >> I2C1_TX_AddressSend
  - >> I2C1_RX_AddressSend
  - >> Delay
  - >> BOARD_PBInit
  - >> BOARD_LEDToggle
  - >> BOARD_LEDInit
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  ### Local Symbols

  _printf_core (Thumb, 336 bytes, Stack size 88 bytes, printf1.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  [Called By]
  - >> __0printf$1

  ### Undefined Global Symbols