# Static Call Graph for image .\Out\ADC.axf

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Tue Mar 09 18:48:44 2021

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

### Call chain for Maximum Stack Depth:

main ⇒ System_Config ⇒ RCC_Config ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_Handler
- SysTick_Handler ⇒ SysTick_Handler
- ACMP_IRQHandler ⇒ ACMP_IRQHandler

  ### Function Pointers

  - ACMP_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - ADC_IRQHandler from main_1.o(.text) referenced from startup_ob6627.o(RESET)
  - CT16B0_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - CT16B1_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - CT32B0_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - CT32B1_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - GPIO0_IRQHandler from gpio.o(.text) referenced from startup_ob6627.o(RESET)
  - GPIO1_IRQHandler from gpio.o(.text) referenced from startup_ob6627.o(RESET)
  - GPIO2_IRQHandler from gpio.o(.text) referenced from startup_ob6627.o(RESET)
  - GPIO3_IRQHandler from gpio.o(.text) referenced from startup_ob6627.o(RESET)
  - HardFault_Handler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - I2C0_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - I2C1_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - LVI_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - NMI_Handler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - PDMA_IRQHandler from main_1.o(.text) referenced from startup_ob6627.o(RESET)
  - PWMTM_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - PWM_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - PendSV_Handler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - QEI_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - RTC_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - Reset_Handler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - SPI_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - SVC_Handler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - SysTick_Handler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - SystemInit from system_ob6627.o(.text) referenced from startup_ob6627.o(.text)
  - UART0_IRQHandler from uart.o(.text) referenced from startup_ob6627.o(RESET)
  - UART1_IRQHandler from uart.o(.text) referenced from startup_ob6627.o(RESET)
  - WDT_IRQHandler from startup_ob6627.o(.text) referenced from startup_ob6627.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_ob6627.o(.text)
  - main from main_1.o(.text) 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_ob6627.o(.text)

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

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

  - >> __scatterload

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

  - >> __scatterload

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

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

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

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

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

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

  - startup_ob6627.o(RESET)

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

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

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

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

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

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

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

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

  SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_ob6627.o(.text))
  [Calls]

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

  ACMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_ob6627.o(.text))
  [Calls]

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

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

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

  - startup_ob6627.o(RESET)

  SystemInit (Thumb, 262 bytes, Stack size 24 bytes, system_ob6627.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = SystemInit
  [Address Reference Count : 1]
  - startup_ob6627.o(.text)

  SystemCoreClockUpdate (Thumb, 24 bytes, Stack size 8 bytes, system_ob6627.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> RCC_Config

  GetPeripheralClock (Thumb, 68 bytes, Stack size 16 bytes, system_ob6627.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  [Called By]
  - >> UART_Open

  WaitingCPUReady (Thumb, 20 bytes, Stack size 0 bytes, system_ob6627.o(.text), UNUSED)

  DMA_Config (Thumb, 186 bytes, Stack size 0 bytes, main_1.o(.text))
  [Called By]

  - >> System_Config

  ADC_Config (Thumb, 224 bytes, Stack size 8 bytes, main_1.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ADC_Config
  [Calls]
  - >> __NVIC_EnableIRQ
  [Called By]
  - >> System_Config

  RCC_Config (Thumb, 8 bytes, Stack size 8 bytes, main_1.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = RCC_Config ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> SystemCoreClockUpdate
  [Called By]
  - >> System_Config

  NVIC_Config (Thumb, 32 bytes, Stack size 8 bytes, main_1.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = NVIC_Config ⇒ __NVIC_SetPriority
  [Calls]
  - >> __NVIC_EnableIRQ
  - >> __NVIC_SetPriority
  [Called By]
  - >> System_Config

  IWDG_Config (Thumb, 80 bytes, Stack size 0 bytes, main_1.o(.text))
  [Called By]

  - >> System_Config

  System_Config (Thumb, 24 bytes, Stack size 8 bytes, main_1.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = System_Config ⇒ RCC_Config ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> IWDG_Config
  - >> NVIC_Config
  - >> RCC_Config
  - >> ADC_Config
  - >> DMA_Config
  [Called By]
  - >> main

  IWDG_ReloadCounter (Thumb, 8 bytes, Stack size 0 bytes, main_1.o(.text))
  [Called By]

  - >> main

  main (Thumb, 12 bytes, Stack size 0 bytes, main_1.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = main ⇒ System_Config ⇒ RCC_Config ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> IWDG_ReloadCounter
  - >> System_Config
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  ADC_IRQHandler (Thumb, 14 bytes, Stack size 0 bytes, main_1.o(.text))
  [Address Reference Count : 1]

  - startup_ob6627.o(RESET)

  PDMA_IRQHandler (Thumb, 54 bytes, Stack size 0 bytes, main_1.o(.text))
  [Address Reference Count : 1]

  - startup_ob6627.o(RESET)

  GPIO0_IRQHandler (Thumb, 22 bytes, Stack size 0 bytes, gpio.o(.text))
  [Address Reference Count : 1]

  - startup_ob6627.o(RESET)

  GPIO1_IRQHandler (Thumb, 18 bytes, Stack size 0 bytes, gpio.o(.text))
  [Address Reference Count : 1]

  - startup_ob6627.o(RESET)

  GPIO2_IRQHandler (Thumb, 18 bytes, Stack size 0 bytes, gpio.o(.text))
  [Address Reference Count : 1]

  - startup_ob6627.o(RESET)

  GPIO3_IRQHandler (Thumb, 18 bytes, Stack size 0 bytes, gpio.o(.text))
  [Address Reference Count : 1]

  - startup_ob6627.o(RESET)

  GPIO_SetPinMode (Thumb, 476 bytes, Stack size 12 bytes, gpio.o(.text), UNUSED)
  [Called By]

  - >> GPIO_SetFunMode

  GPIO_SetFunMode (Thumb, 168 bytes, Stack size 20 bytes, gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_SetPinMode
  - >> __ARM_common_switch8
  [Called By]
  - >> GPIO_SetPinMFType

  GPIO_SetPinMFType (Thumb, 3838 bytes, Stack size 16 bytes, gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_SetFunMode

  GPIO_EnableINT (Thumb, 540 bytes, Stack size 16 bytes, gpio.o(.text), UNUSED)
  [Calls]

  - >> __NVIC_EnableIRQ

  GPIO_EnablePinINTDebounce (Thumb, 8 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIO_DisablePinINTDebounce (Thumb, 8 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIO_SetINTDebounce (Thumb, 4 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIO_GetINTStatus (Thumb, 20 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIO_ClearINTStatus (Thumb, 4 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIO_SetTADC0 (Thumb, 490 bytes, Stack size 12 bytes, gpio.o(.text), UNUSED)

  UART_DisableInt (Thumb, 8 bytes, Stack size 0 bytes, uart.o(.text))
  [Called By]

  - >> UART1_IRQHandler
  - >> UART0_IRQHandler

  UART0_IRQHandler (Thumb, 66 bytes, Stack size 4 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = UART0_IRQHandler
  [Calls]
  - >> UART_DisableInt
  [Address Reference Count : 1]
  - startup_ob6627.o(RESET)

  UART1_IRQHandler (Thumb, 66 bytes, Stack size 4 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = UART1_IRQHandler
  [Calls]
  - >> UART_DisableInt
  [Address Reference Count : 1]
  - startup_ob6627.o(RESET)

  UART_EnableInt (Thumb, 4 bytes, Stack size 0 bytes, uart.o(.text), UNUSED)

  UART_Open (Thumb, 52 bytes, Stack size 24 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  - >> GetPeripheralClock

  UART_Read (Thumb, 56 bytes, Stack size 12 bytes, uart.o(.text), UNUSED)
  [Called By]

  - >> fgetc

  UART_Write (Thumb, 56 bytes, Stack size 16 bytes, uart.o(.text), UNUSED)
  [Called By]

  - >> fputc

  fputc (Thumb, 24 bytes, Stack size 16 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> UART_Write

  fgetc (Thumb, 22 bytes, Stack size 12 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> UART_Read

  __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_Open
  - >> GetPeripheralClock
  - >> SystemCoreClockUpdate

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

  __ARM_common_switch8 (Thumb, 28 bytes, Stack size 8 bytes, adc.o(i.__ARM_common_switch8), UNUSED)
  [Called By]

  - >> GPIO_SetFunMode

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

  ### Local Symbols

  __NVIC_SetPriority (Thumb, 110 bytes, Stack size 8 bytes, main_1.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __NVIC_SetPriority
  [Called By]
  - >> NVIC_Config

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

  - >> NVIC_Config
  - >> ADC_Config

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

  - >> GPIO_EnableINT

  ### Undefined Global Symbols