# Static Call Graph for image .\Flash\Blinky.axf

#<CALLGRAPH># ARM Linker, 5060061: Last Updated: Sun Jan 31 22:39:29 2016

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

### Call chain for Maximum Stack Depth:

main ⇒ lcd_bargraphXY ⇒ set_cursor ⇒ lcd_write_cmd ⇒ wait_while_busy ⇒ lcd_read_status

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemManage_Handler ⇒ MemManage_Handler
- BusFault_Handler ⇒ BusFault_Handler
- UsageFault_Handler ⇒ UsageFault_Handler
- SVC_Handler ⇒ SVC_Handler
- DebugMon_Handler ⇒ DebugMon_Handler
- PendSV_Handler ⇒ PendSV_Handler
- 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 startup_stm32f10x_md.o(.text) 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 adc.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 startup_stm32f10x_md.o(.text) 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 startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI2_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - EXTI3_IRQHandler from startup_stm32f10x_md.o(.text) 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 startup_stm32f10x_md.o(.text) 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 startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - NMI_Handler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - PVD_IRQHandler from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - PendSV_Handler from startup_stm32f10x_md.o(.text) 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 startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - SysTick_Handler from irq.o(.text) referenced from startup_stm32f10x_md.o(RESET)
  - SystemInit from system_stm32f10x.o(.text) 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 startup_stm32f10x_md.o(.text) 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 startup_stm32f10x_md.o(.text) 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)
  - _sputc from printf8.o(i._sputc) referenced from printf8.o(i.__0sprintf$8)
  - fputc from retarget.o(.text) referenced from printf8.o(i.__0printf$8)
  - main from blinky.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_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_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_stm32f10x_md.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f10x_md.o(RESET)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  - >> PendSV_Handler
  [Called By]
  - >> PendSV_Handler
  [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_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)

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

  - startup_stm32f10x_md.o(RESET)

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

  - startup_stm32f10x_md.o(RESET)

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

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

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

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

  SystemCoreClockUpdate (Thumb, 142 bytes, Stack size 8 bytes, system_stm32f10x.o(.text), UNUSED)

  fputc (Thumb, 14 bytes, Stack size 16 bytes, retarget.o(.text))
  [Stack]

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

  fgetc (Thumb, 10 bytes, Stack size 8 bytes, retarget.o(.text), UNUSED)
  [Calls]

  - >> SER_GetChar

  ferror (Thumb, 8 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

  _ttywrch (Thumb, 12 bytes, Stack size 8 bytes, retarget.o(.text), UNUSED)
  [Calls]

  - >> SER_PutChar

  _sys_exit (Thumb, 4 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

  lcd_write_4bit (Thumb, 76 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = lcd_write_4bit
  [Calls]
  - >> delay
  [Called By]
  - >> lcd_init
  - >> lcd_write_cmd
  - >> lcd_write_data

  lcd_write_cmd (Thumb, 34 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = lcd_write_cmd ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> lcd_write_4bit
  - >> wait_while_busy
  [Called By]
  - >> lcd_clear
  - >> set_cursor
  - >> lcd_init

  lcd_putchar (Thumb, 12 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = lcd_putchar ⇒ lcd_write_data ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> lcd_write_data
  [Called By]
  - >> lcd_bargraphXY
  - >> lcd_bargraph
  - >> lcd_print
  - >> lcd_init

  lcd_init (Thumb, 158 bytes, Stack size 16 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = lcd_init ⇒ lcd_putchar ⇒ lcd_write_data ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> lcd_putchar
  - >> lcd_write_cmd
  - >> lcd_write_4bit
  - >> delay
  [Called By]
  - >> main

  set_cursor (Thumb, 32 bytes, Stack size 16 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = set_cursor ⇒ lcd_write_cmd ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> lcd_write_cmd
  [Called By]
  - >> main
  - >> lcd_bargraphXY
  - >> lcd_clear

  lcd_clear (Thumb, 18 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = lcd_clear ⇒ set_cursor ⇒ lcd_write_cmd ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> set_cursor
  - >> lcd_write_cmd
  [Called By]
  - >> main

  lcd_print (Thumb, 22 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = lcd_print ⇒ lcd_putchar ⇒ lcd_write_data ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> lcd_putchar
  [Called By]
  - >> main

  lcd_bargraph (Thumb, 52 bytes, Stack size 16 bytes, lcd_4bit.o(.text), UNUSED)
  [Calls]

  - >> lcd_putchar

  lcd_bargraphXY (Thumb, 68 bytes, Stack size 24 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lcd_bargraphXY ⇒ set_cursor ⇒ lcd_write_cmd ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> set_cursor
  - >> lcd_putchar
  [Called By]
  - >> main

  main (Thumb, 226 bytes, Stack size 0 bytes, blinky.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = main ⇒ lcd_bargraphXY ⇒ set_cursor ⇒ lcd_write_cmd ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> __2sprintf
  - >> __2printf
  - >> SER_Init
  - >> LED_Init
  - >> ADC_Init
  - >> lcd_bargraphXY
  - >> lcd_print
  - >> lcd_clear
  - >> set_cursor
  - >> lcd_init
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  SysTick_Handler (Thumb, 96 bytes, Stack size 8 bytes, irq.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = SysTick_Handler ⇒ LED_Out
  [Calls]
  - >> LED_Out
  - >> ADC_StartCnv
  [Address Reference Count : 1]
  - startup_stm32f10x_md.o(RESET)

  LED_Init (Thumb, 50 bytes, Stack size 0 bytes, led.o(.text))
  [Called By]

  - >> main

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

  - >> LED_Out

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

  - >> LED_Out

  LED_Out (Thumb, 38 bytes, Stack size 8 bytes, led.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = LED_Out
  [Calls]
  - >> LED_Off
  - >> LED_On
  [Called By]
  - >> SysTick_Handler

  ADC_Init (Thumb, 232 bytes, Stack size 0 bytes, adc.o(.text))
  [Called By]

  - >> main

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

  - >> SysTick_Handler

  ADC_StopCnv (Thumb, 18 bytes, Stack size 0 bytes, adc.o(.text), UNUSED)

  ADC_GetCnv (Thumb, 22 bytes, Stack size 0 bytes, adc.o(.text), UNUSED)

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

  - startup_stm32f10x_md.o(RESET)

  SER_Init (Thumb, 126 bytes, Stack size 0 bytes, serial.o(.text))
  [Called By]

  - >> main

  SER_PutChar (Thumb, 28 bytes, Stack size 0 bytes, serial.o(.text))
  [Called By]

  - >> _ttywrch
  - >> fputc

  SER_GetChar (Thumb, 28 bytes, Stack size 0 bytes, serial.o(.text), UNUSED)
  [Called By]

  - >> fgetc

  SER_CheckChar (Thumb, 20 bytes, Stack size 0 bytes, serial.o(.text), UNUSED)

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

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [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)

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

  - >> __aeabi_uldivmod

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

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

  - >> __aeabi_uldivmod

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

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

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

  - >> _sputc
  - >> _printf_core

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

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

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

  __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

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

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

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

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

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

  - >> lcd_init
  - >> lcd_write_4bit
  - >> lcd_read_status

  lcd_read_status (Thumb, 170 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = lcd_read_status
  [Calls]
  - >> delay
  [Called By]
  - >> wait_while_busy

  wait_while_busy (Thumb, 18 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> lcd_read_status
  [Called By]
  - >> lcd_write_cmd
  - >> lcd_write_data

  lcd_write_data (Thumb, 34 bytes, Stack size 8 bytes, lcd_4bit.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = lcd_write_data ⇒ wait_while_busy ⇒ lcd_read_status
  [Calls]
  - >> lcd_write_4bit
  - >> wait_while_busy
  [Called By]
  - >> lcd_putchar

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

  - >> _printf_pre_padding
  - >> _printf_post_padding
  - >> __aeabi_uldivmod
  [Called By]
  - >> __0sprintf$8
  - >> __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

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

  - >> __0sprintf$8
  [Address Reference Count : 1]
  - printf8.o(i.__0sprintf$8)

  ### Undefined Global Symbols