# Static Call Graph for image .\STM320518\STM320518-EVAL.axf

#<CALLGRAPH># ARM Linker, 4.1 [Build 894]: Last Updated: Wed Jun 06 18:02:15 2012

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

### Call chain for Maximum Stack Depth:

main ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite

### Mutually Recursive functions

- ADC1_COMP_IRQHandler ⇒ ADC1_COMP_IRQHandler
- HardFault_Handler ⇒ HardFault_Handler

  ### Function Pointers

  - ADC1_COMP_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - CEC_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - DMA1_Channel1_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - DMA1_Channel2_3_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - DMA1_Channel4_5_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - EXTI0_1_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - EXTI2_3_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - EXTI4_15_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - FLASH_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - HardFault_Handler from stm32f0xx_it.o(i.HardFault_Handler) referenced from startup_stm32f0xx.o(RESET)
  - I2C1_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - I2C2_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - NMI_Handler from stm32f0xx_it.o(i.NMI_Handler) referenced from startup_stm32f0xx.o(RESET)
  - PVD_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - PendSV_Handler from stm32f0xx_it.o(i.PendSV_Handler) referenced from startup_stm32f0xx.o(RESET)
  - RCC_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - RTC_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - Reset_Handler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - SPI1_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - SPI2_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - SVC_Handler from stm32f0xx_it.o(i.SVC_Handler) referenced from startup_stm32f0xx.o(RESET)
  - SysTick_Handler from stm32f0xx_it.o(i.SysTick_Handler) referenced from startup_stm32f0xx.o(RESET)
  - SystemInit from system_stm32f0xx.o(i.SystemInit) referenced from startup_stm32f0xx.o(.text)
  - TIM14_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM15_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM16_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM17_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM1_BRK_UP_TRG_COM_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM2_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM3_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TIM6_DAC_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - TS_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - USART1_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - USART2_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - WWDG_IRQHandler from startup_stm32f0xx.o(.text) referenced from startup_stm32f0xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f0xx.o(.text)
  - main from main.o(i.main) referenced from entry8.o(.ARM.Collect$$$$00000009)

  ### Global Symbols

  __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
  [Address Reference Count : 1]

  - startup_stm32f0xx.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_init (Thumb, 0 bytes, Stack size unknown bytes, entry8.o(.ARM.Collect$$$$00000009))

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

  - startup_stm32f0xx.o(RESET)

  ADC1_COMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f0xx.o(.text))
  [Calls]

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

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.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]
  - >> LCD_DrawChar

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

  COMP_Cmd (Thumb, 22 bytes, Stack size 0 bytes, stm32f0xx_comp.o(i.COMP_Cmd))
  [Called By]

  - >> COMP_Config

  COMP_Config (Thumb, 82 bytes, Stack size 40 bytes, main.o(i.COMP_Config))
  [Stack]

  - Max Depth = 60
  - Call Chain = COMP_Config ⇒ GPIO_Init
  [Calls]
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_AHBPeriphClockCmd
  - >> GPIO_Init
  - >> COMP_Init
  - >> COMP_Cmd
  [Called By]
  - >> main

  COMP_GetOutputLevel (Thumb, 26 bytes, Stack size 8 bytes, stm32f0xx_comp.o(i.COMP_GetOutputLevel))
  [Stack]

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

  COMP_Init (Thumb, 38 bytes, Stack size 16 bytes, stm32f0xx_comp.o(i.COMP_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = COMP_Init
  [Called By]
  - >> COMP_Config

  DAC_Cmd (Thumb, 22 bytes, Stack size 0 bytes, stm32f0xx_dac.o(i.DAC_Cmd))
  [Called By]

  - >> DAC_Config

  DAC_Config (Thumb, 40 bytes, Stack size 16 bytes, main.o(i.DAC_Config))
  [Stack]

  - Max Depth = 24
  - Call Chain = DAC_Config ⇒ DAC_Init
  [Calls]
  - >> RCC_APB1PeriphClockCmd
  - >> DAC_Init
  - >> DAC_DeInit
  - >> DAC_Cmd
  [Called By]
  - >> main

  DAC_DeInit (Thumb, 22 bytes, Stack size 8 bytes, stm32f0xx_dac.o(i.DAC_DeInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = DAC_DeInit
  [Calls]
  - >> RCC_APB1PeriphResetCmd
  [Called By]
  - >> DAC_Config

  DAC_Init (Thumb, 26 bytes, Stack size 8 bytes, stm32f0xx_dac.o(i.DAC_Init))
  [Stack]

  - Max Depth = 8
  - Call Chain = DAC_Init
  [Called By]
  - >> DAC_Config

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

  - >> main

  GPIO_Init (Thumb, 112 bytes, Stack size 20 bytes, stm32f0xx_gpio.o(i.GPIO_Init))
  [Stack]

  - Max Depth = 20
  - Call Chain = GPIO_Init
  [Called By]
  - >> COMP_Config
  - >> LCD_SPIConfig
  - >> LCD_CtrlLinesConfig

  GPIO_PinAFConfig (Thumb, 32 bytes, Stack size 8 bytes, stm32f0xx_gpio.o(i.GPIO_PinAFConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPIO_PinAFConfig
  [Called By]
  - >> LCD_SPIConfig

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

  - >> LCD_CtrlLinesWrite

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_it.o(i.HardFault_Handler))
  [Calls]

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

  LCD_Clear (Thumb, 60 bytes, Stack size 16 bytes, stm320518_eval_lcd.o(i.LCD_Clear))
  [Stack]

  - Max Depth = 80
  - Call Chain = LCD_Clear ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_WriteRAM_Prepare
  - >> LCD_WriteRAM
  - >> LCD_SetCursor
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> main

  LCD_CtrlLinesConfig (Thumb, 98 bytes, Stack size 24 bytes, stm320518_eval_lcd.o(i.LCD_CtrlLinesConfig))
  [Stack]

  - Max Depth = 44
  - Call Chain = LCD_CtrlLinesConfig ⇒ GPIO_Init
  [Calls]
  - >> RCC_AHBPeriphClockCmd
  - >> GPIO_Init
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> LCD_Setup

  LCD_CtrlLinesWrite (Thumb, 8 bytes, Stack size 8 bytes, stm320518_eval_lcd.o(i.LCD_CtrlLinesWrite))
  [Stack]

  - Max Depth = 8
  - Call Chain = LCD_CtrlLinesWrite
  [Calls]
  - >> GPIO_WriteBit
  [Called By]
  - >> LCD_Clear
  - >> LCD_nCS_StartByte
  - >> LCD_WriteRegIndex
  - >> LCD_WriteReg
  - >> LCD_WriteRAMWord
  - >> LCD_ReadReg
  - >> LCD_DrawLine
  - >> LCD_DrawChar
  - >> LCD_CtrlLinesConfig

  LCD_DisplayChar (Thumb, 26 bytes, Stack size 8 bytes, stm320518_eval_lcd.o(i.LCD_DisplayChar))
  [Stack]

  - Max Depth = 112
  - Call Chain = LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_DrawChar
  [Called By]
  - >> LCD_DisplayStringLine

  LCD_DisplayStringLine (Thumb, 100 bytes, Stack size 32 bytes, stm320518_eval_lcd.o(i.LCD_DisplayStringLine))
  [Stack]

  - Max Depth = 144
  - Call Chain = LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_DisplayChar
  [Called By]
  - >> main

  LCD_DrawChar (Thumb, 126 bytes, Stack size 40 bytes, stm320518_eval_lcd.o(i.LCD_DrawChar))
  [Stack]

  - Max Depth = 104
  - Call Chain = LCD_DrawChar ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> __aeabi_uidivmod
  - >> LCD_WriteRAM_Prepare
  - >> LCD_WriteRAM
  - >> LCD_SetCursor
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> LCD_DisplayChar

  LCD_DrawFullRect (Thumb, 126 bytes, Stack size 40 bytes, stm320518_eval_lcd.o(i.LCD_DrawFullRect))
  [Stack]

  - Max Depth = 144
  - Call Chain = LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_DrawLine
  [Called By]
  - >> main

  LCD_DrawLine (Thumb, 102 bytes, Stack size 40 bytes, stm320518_eval_lcd.o(i.LCD_DrawLine))
  [Stack]

  - Max Depth = 104
  - Call Chain = LCD_DrawLine ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_WriteRAM_Prepare
  - >> LCD_WriteRAMWord
  - >> LCD_WriteRAM
  - >> LCD_SetCursor
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> LCD_DrawRect
  - >> LCD_DrawFullRect

  LCD_DrawRect (Thumb, 62 bytes, Stack size 24 bytes, stm320518_eval_lcd.o(i.LCD_DrawRect))
  [Stack]

  - Max Depth = 128
  - Call Chain = LCD_DrawRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_DrawLine
  [Called By]
  - >> main

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

  - >> main

  LCD_ReadReg (Thumb, 170 bytes, Stack size 16 bytes, stm320518_eval_lcd.o(i.LCD_ReadReg))
  [Stack]

  - Max Depth = 48
  - Call Chain = LCD_ReadReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> SPI_SendData8
  - >> SPI_ReceiveData8
  - >> SPI_I2S_ReceiveData16
  - >> SPI_I2S_GetFlagStatus
  - >> LCD_nCS_StartByte
  - >> LCD_WriteRegIndex
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> STM320518_LCD_Init

  LCD_SPIConfig (Thumb, 208 bytes, Stack size 48 bytes, stm320518_eval_lcd.o(i.LCD_SPIConfig))
  [Stack]

  - Max Depth = 68
  - Call Chain = LCD_SPIConfig ⇒ GPIO_Init
  [Calls]
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_AHBPeriphClockCmd
  - >> GPIO_Init
  - >> GPIO_PinAFConfig
  - >> SPI_RxFIFOThresholdConfig
  - >> SPI_Init
  - >> SPI_I2S_DeInit
  - >> SPI_Cmd
  [Called By]
  - >> LCD_Setup

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

  - >> main

  LCD_SetCursor (Thumb, 62 bytes, Stack size 16 bytes, stm320518_eval_lcd.o(i.LCD_SetCursor))
  [Stack]

  - Max Depth = 64
  - Call Chain = LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_WriteReg
  [Called By]
  - >> LCD_Clear
  - >> LCD_DrawLine
  - >> LCD_DrawChar

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

  - >> main

  LCD_Setup (Thumb, 2068 bytes, Stack size 24 bytes, stm320518_eval_lcd.o(i.LCD_Setup))
  [Stack]

  - Max Depth = 92
  - Call Chain = LCD_Setup ⇒ LCD_SPIConfig ⇒ GPIO_Init
  [Calls]
  - >> LCD_WriteReg
  - >> LCD_SPIConfig
  - >> LCD_CtrlLinesConfig
  - >> delay
  [Called By]
  - >> STM320518_LCD_Init

  LCD_WriteRAM (Thumb, 48 bytes, Stack size 16 bytes, stm320518_eval_lcd.o(i.LCD_WriteRAM))
  [Stack]

  - Max Depth = 16
  - Call Chain = LCD_WriteRAM
  [Calls]
  - >> SPI_SendData8
  - >> SPI_I2S_GetFlagStatus
  [Called By]
  - >> LCD_Clear
  - >> LCD_WriteRAMWord
  - >> LCD_DrawLine
  - >> LCD_DrawChar

  LCD_WriteRAMWord (Thumb, 26 bytes, Stack size 8 bytes, stm320518_eval_lcd.o(i.LCD_WriteRAMWord))
  [Stack]

  - Max Depth = 48
  - Call Chain = LCD_WriteRAMWord ⇒ LCD_WriteRAM_Prepare ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_WriteRAM_Prepare
  - >> LCD_WriteRAM
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> LCD_DrawLine

  LCD_WriteRAM_Prepare (Thumb, 16 bytes, Stack size 8 bytes, stm320518_eval_lcd.o(i.LCD_WriteRAM_Prepare))
  [Stack]

  - Max Depth = 40
  - Call Chain = LCD_WriteRAM_Prepare ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> LCD_nCS_StartByte
  - >> LCD_WriteRegIndex
  [Called By]
  - >> LCD_Clear
  - >> LCD_WriteRAMWord
  - >> LCD_DrawLine
  - >> LCD_DrawChar

  LCD_WriteReg (Thumb, 68 bytes, Stack size 16 bytes, stm320518_eval_lcd.o(i.LCD_WriteReg))
  [Stack]

  - Max Depth = 48
  - Call Chain = LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> SPI_SendData8
  - >> SPI_I2S_GetFlagStatus
  - >> LCD_nCS_StartByte
  - >> LCD_WriteRegIndex
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> LCD_Setup
  - >> LCD_SetCursor

  LCD_WriteRegIndex (Thumb, 64 bytes, Stack size 16 bytes, stm320518_eval_lcd.o(i.LCD_WriteRegIndex))
  [Stack]

  - Max Depth = 32
  - Call Chain = LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> SPI_SendData8
  - >> SPI_I2S_GetFlagStatus
  - >> LCD_nCS_StartByte
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> LCD_WriteReg
  - >> LCD_WriteRAM_Prepare
  - >> LCD_ReadReg

  LCD_nCS_StartByte (Thumb, 38 bytes, Stack size 8 bytes, stm320518_eval_lcd.o(i.LCD_nCS_StartByte))
  [Stack]

  - Max Depth = 16
  - Call Chain = LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> SPI_SendData8
  - >> SPI_I2S_GetFlagStatus
  - >> LCD_CtrlLinesWrite
  [Called By]
  - >> LCD_WriteRegIndex
  - >> LCD_WriteReg
  - >> LCD_WriteRAM_Prepare
  - >> LCD_ReadReg

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

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

  - >> COMP_Config
  - >> LCD_SPIConfig
  - >> LCD_CtrlLinesConfig

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

  - >> DAC_Config

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

  - >> DAC_DeInit
  - >> SPI_I2S_DeInit

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

  - >> COMP_Config
  - >> LCD_SPIConfig

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

  - >> SPI_I2S_DeInit

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

  - >> LCD_SPIConfig

  SPI_I2S_DeInit (Thumb, 54 bytes, Stack size 8 bytes, stm32f0xx_spi.o(i.SPI_I2S_DeInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = SPI_I2S_DeInit
  [Calls]
  - >> RCC_APB1PeriphResetCmd
  - >> RCC_APB2PeriphResetCmd
  [Called By]
  - >> LCD_SPIConfig

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

  - >> LCD_nCS_StartByte
  - >> LCD_WriteRegIndex
  - >> LCD_WriteReg
  - >> LCD_WriteRAM
  - >> LCD_ReadReg

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

  - >> LCD_ReadReg

  SPI_Init (Thumb, 74 bytes, Stack size 12 bytes, stm32f0xx_spi.o(i.SPI_Init))
  [Stack]

  - Max Depth = 12
  - Call Chain = SPI_Init
  [Called By]
  - >> LCD_SPIConfig

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

  - >> LCD_ReadReg

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

  - >> LCD_SPIConfig

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

  - >> LCD_nCS_StartByte
  - >> LCD_WriteRegIndex
  - >> LCD_WriteReg
  - >> LCD_WriteRAM
  - >> LCD_ReadReg

  STM320518_LCD_Init (Thumb, 52 bytes, Stack size 8 bytes, stm320518_eval_lcd.o(i.STM320518_LCD_Init))
  [Stack]

  - Max Depth = 100
  - Call Chain = STM320518_LCD_Init ⇒ LCD_Setup ⇒ LCD_SPIConfig ⇒ GPIO_Init
  [Calls]
  - >> LCD_Setup
  - >> LCD_ReadReg
  [Called By]
  - >> main

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

  - startup_stm32f0xx.o(RESET)

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

  - startup_stm32f0xx.o(RESET)

  SystemInit (Thumb, 84 bytes, Stack size 8 bytes, system_stm32f0xx.o(i.SystemInit))
  [Stack]

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

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

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [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)

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

  - Max Depth = 144
  - Call Chain = main ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor ⇒ LCD_WriteReg ⇒ LCD_WriteRegIndex ⇒ LCD_nCS_StartByte ⇒ LCD_CtrlLinesWrite
  [Calls]
  - >> STM320518_LCD_Init
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  - >> LCD_GetFont
  - >> LCD_DrawRect
  - >> LCD_DrawFullRect
  - >> LCD_DisplayStringLine
  - >> LCD_Clear
  - >> DAC_SetChannel1Data
  - >> COMP_GetOutputLevel
  - >> __ARM_common_switch8
  - >> DAC_Config
  - >> COMP_Config
  [Address Reference Count : 1]
  - entry8.o(.ARM.Collect$$$$00000009)

  ### Local Symbols

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

  - Max Depth = 8
  - Call Chain = SetSysClock
  [Called By]
  - >> SystemInit

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

  - >> LCD_Setup

  ### Undefined Global Symbols