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

#<CALLGRAPH># ARM Linker, RVCT4.0 [Build 728]: Last Updated: Sat Sep 22 16:31:07 2012

### Maximum Stack Usage = 156 bytes + Unknown(Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

main ⇒ ili9320_Initializtion ⇒ LCD_X_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit

### Function Pointers

- Reset_Handler
- NMIException
- HardFaultException
- MemManageException
- BusFaultException
- UsageFaultException
- SVCHandler
- DebugMonitor
- PendSVC
- SysTickHandler
- WWDG_IRQHandler
- PVD_IRQHandler
- TAMPER_IRQHandler
- RTC_IRQHandler
- FLASH_IRQHandler
- RCC_IRQHandler
- EXTI0_IRQHandler
- EXTI1_IRQHandler
- EXTI2_IRQHandler
- EXTI3_IRQHandler
- EXTI4_IRQHandler
- DMA1_Channel1_IRQHandler
- DMA1_Channel2_IRQHandler
- DMA1_Channel3_IRQHandler
- DMA1_Channel4_IRQHandler
- DMA1_Channel5_IRQHandler
- DMA1_Channel6_IRQHandler
- DMA1_Channel7_IRQHandler
- ADC1_2_IRQHandler
- USB_HP_CAN_TX_IRQHandler
- USB_LP_CAN_RX0_IRQHandler
- CAN_RX1_IRQHandler
- CAN_SCE_IRQHandler
- EXTI9_5_IRQHandler
- TIM1_BRK_IRQHandler
- TIM1_UP_IRQHandler
- TIM1_TRG_COM_IRQHandler
- TIM1_CC_IRQHandler
- TIM2_IRQHandler
- TIM3_IRQHandler
- TIM4_IRQHandler
- I2C1_EV_IRQHandler
- I2C1_ER_IRQHandler
- I2C2_EV_IRQHandler
- I2C2_ER_IRQHandler
- SPI1_IRQHandler
- SPI2_IRQHandler
- USART1_IRQHandler
- USART2_IRQHandler
- USART3_IRQHandler
- EXTI15_10_IRQHandler
- RTCAlarm_IRQHandler
- USBWakeUp_IRQHandler
- TIM8_BRK_IRQHandler
- TIM8_UP_IRQHandler
- TIM8_TRG_COM_IRQHandler
- TIM8_CC_IRQHandler
- ADC3_IRQHandler
- FSMC_IRQHandler
- SDIO_IRQHandler
- TIM5_IRQHandler
- SPI3_IRQHandler
- UART4_IRQHandler
- UART5_IRQHandler
- TIM6_IRQHandler
- TIM7_IRQHandler
- DMA2_Channel1_IRQHandler
- DMA2_Channel2_IRQHandler
- DMA2_Channel3_IRQHandler
- DMA2_Channel4_5_IRQHandler
- main
- __main

### Global Symbols

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

- stm32f10x_vector.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_init (Thumb, 0 bytes, Stack size unknown bytes, entry7.o(.ARM.Collect$$$$00000007))

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

- stm32f10x_vector.o(RESET)

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

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

CLK_init_OFF (Thumb, 40 bytes, Stack size 8 bytes, ov7670.o(i.CLK_init_OFF))
[Stack]

- Max Depth = 28
- Call Chain = CLK_init_OFF ⇒ GPIO_Init

[Calls]

- >> RCC_APB2PeriphClockCmd
- >> GPIO_Init

[Called By]

- >> main

CLK_init_ON (Thumb, 46 bytes, Stack size 8 bytes, ov7670.o(i.CLK_init_ON))
[Stack]

- Max Depth = 28
- Call Chain = CLK_init_ON ⇒ GPIO_Init

[Calls]

- >> RCC_MCOConfig
- >> RCC_APB2PeriphClockCmd
- >> GPIO_Init

[Called By]

- >> main
- >> OV7670_init

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- >> ili9320_Initializtion

Demo_Init (Thumb, 168 bytes, Stack size 8 bytes, main.o(i.Demo_Init))
[Stack]

- Max Depth = 20
- Call Chain = Demo_Init ⇒ RCC_WaitForHSEStartUp

[Calls]

- >> RCC_WaitForHSEStartUp
- >> RCC_SYSCLKConfig
- >> RCC_PLLConfig
- >> RCC_PLLCmd
- >> RCC_PCLK2Config
- >> RCC_PCLK1Config
- >> RCC_HSEConfig
- >> RCC_HCLKConfig
- >> RCC_GetSYSCLKSource
- >> RCC_GetFlagStatus
- >> RCC_DeInit
- >> RCC_ADCCLKConfig
- >> NVIC_SetSystemHandlerPendingBit
- >> FLASH_SetLatency
- >> FLASH_PrefetchBufferCmd
- >> RCC_APB2PeriphClockCmd
- >> RCC_AHBPeriphClockCmd

[Called By]

- >> main

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- >> Demo_Init

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

- >> Demo_Init

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

- stm32f10x_vector.o(RESET)

FSMC_NORSRAMCmd (Thumb, 28 bytes, Stack size 0 bytes, stm32f10x_fsmc.o(i.FSMC_NORSRAMCmd))
[Called By]

- >> LCD_FSMCConfig

FSMC_NORSRAMInit (Thumb, 190 bytes, Stack size 20 bytes, stm32f10x_fsmc.o(i.FSMC_NORSRAMInit))
[Stack]

- Max Depth = 20
- Call Chain = FSMC_NORSRAMInit

[Called By]

- >> LCD_FSMCConfig

GPIO_Init (Thumb, 160 bytes, Stack size 20 bytes, stm32f10x_gpio.o(i.GPIO_Init))
[Stack]

- Max Depth = 20
- Call Chain = GPIO_Init

[Called By]

- >> OV7670_GPIO_Init
- >> OV7670_GPIO_CONTRL_CONFIG
- >> CLK_init_ON
- >> CLK_init_OFF
- >> SCCB_SID_GPIO_OUTPUT
- >> SCCB_SID_GPIO_INPUT
- >> SCCB_GPIO_Config
- >> LCD_CtrlLinesConfig

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

- >> LCD_CtrlLinesConfig

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

LCD_CtrlLinesConfig (Thumb, 106 bytes, Stack size 8 bytes, ili9320.o(i.LCD_CtrlLinesConfig))
[Stack]

- Max Depth = 28
- Call Chain = LCD_CtrlLinesConfig ⇒ GPIO_Init

[Calls]

- >> RCC_APB2PeriphClockCmd
- >> RCC_AHBPeriphClockCmd
- >> GPIO_WriteBit
- >> GPIO_Init

[Called By]

- >> LCD_X_Init

LCD_FSMCConfig (Thumb, 88 bytes, Stack size 96 bytes, ili9320.o(i.LCD_FSMCConfig))
[Stack]

- Max Depth = 116
- Call Chain = LCD_FSMCConfig ⇒ FSMC_NORSRAMInit

[Calls]

- >> FSMC_NORSRAMInit
- >> FSMC_NORSRAMCmd

[Called By]

- >> LCD_X_Init

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

- >> ili9320_Initializtion

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

- >> main

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

- >> main
- >> ili9320_Clear

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

- >> main
- >> ili9320_SetCursor
- >> ili9320_Initializtion

LCD_X_Init (Thumb, 12 bytes, Stack size 8 bytes, ili9320.o(i.LCD_X_Init))
[Stack]

- Max Depth = 124
- Call Chain = LCD_X_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit

[Calls]

- >> LCD_FSMCConfig
- >> LCD_CtrlLinesConfig

[Called By]

- >> ili9320_Initializtion

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- >> Demo_Init

OV7670_GPIO_CONTRL_CONFIG (Thumb, 40 bytes, Stack size 8 bytes, ov7670.o(i.OV7670_GPIO_CONTRL_CONFIG))
[Stack]

- Max Depth = 28
- Call Chain = OV7670_GPIO_CONTRL_CONFIG ⇒ GPIO_Init

[Calls]

- >> RCC_MCOConfig
- >> RCC_APB2PeriphClockCmd
- >> GPIO_Init

[Called By]

- >> OV7670_init

OV7670_GPIO_Init (Thumb, 34 bytes, Stack size 8 bytes, ov7670.o(i.OV7670_GPIO_Init))
[Stack]

- Max Depth = 28
- Call Chain = OV7670_GPIO_Init ⇒ GPIO_Init

[Calls]

- >> RCC_APB2PeriphClockCmd
- >> GPIO_Init

[Called By]

- >> OV7670_init

OV7670_config_window (Thumb, 170 bytes, Stack size 40 bytes, ov7670.o(i.OV7670_config_window))
[Stack]

- Max Depth = 100
- Call Chain = OV7670_config_window ⇒ wrOV7670Reg ⇒ SCCBwriteByte ⇒ SCCB_SID_GPIO_OUTPUT ⇒ GPIO_Init

[Calls]

- >> wrOV7670Reg
- >> rdOV7670Reg

[Called By]

- >> OV7670_init

OV7670_init (Thumb, 66 bytes, Stack size 16 bytes, ov7670.o(i.OV7670_init))
[Stack]

- Max Depth = 116
- Call Chain = OV7670_init ⇒ OV7670_config_window ⇒ wrOV7670Reg ⇒ SCCBwriteByte ⇒ SCCB_SID_GPIO_OUTPUT ⇒ GPIO_Init

[Calls]

- >> wrOV7670Reg
- >> set_OV7670reg
- >> OV7670_config_window
- >> OV7670_GPIO_Init
- >> OV7670_GPIO_CONTRL_CONFIG
- >> CLK_init_ON
- >> SCCB_GPIO_Config
- >> delay_ms

[Called By]

- >> main

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- >> Demo_Init

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

- >> Demo_Init
- >> LCD_CtrlLinesConfig

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

- >> Demo_Init
- >> OV7670_GPIO_Init
- >> OV7670_GPIO_CONTRL_CONFIG
- >> CLK_init_ON
- >> CLK_init_OFF
- >> SCCB_SID_GPIO_OUTPUT
- >> SCCB_SID_GPIO_INPUT
- >> SCCB_GPIO_Config
- >> LCD_CtrlLinesConfig

RCC_DeInit (Thumb, 48 bytes, Stack size 0 bytes, stm32f10x_rcc.o(i.RCC_DeInit))
[Called By]

- >> Demo_Init

RCC_GetFlagStatus (Thumb, 42 bytes, Stack size 0 bytes, stm32f10x_rcc.o(i.RCC_GetFlagStatus))
[Called By]

- >> RCC_WaitForHSEStartUp
- >> Demo_Init

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

- >> Demo_Init

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

- >> Demo_Init

RCC_HSEConfig (Thumb, 48 bytes, Stack size 0 bytes, stm32f10x_rcc.o(i.RCC_HSEConfig))
[Called By]

- >> Demo_Init

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

- stm32f10x_vector.o(RESET)

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

- >> OV7670_GPIO_CONTRL_CONFIG
- >> CLK_init_ON

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

- >> Demo_Init

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

- >> Demo_Init

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

- >> Demo_Init

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

- >> Demo_Init

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

- >> Demo_Init

RCC_WaitForHSEStartUp (Thumb, 46 bytes, Stack size 12 bytes, stm32f10x_rcc.o(i.RCC_WaitForHSEStartUp))
[Stack]

- Max Depth = 12
- Call Chain = RCC_WaitForHSEStartUp

[Calls]

- >> RCC_GetFlagStatus

[Called By]

- >> Demo_Init

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

SCCB_GPIO_Config (Thumb, 38 bytes, Stack size 8 bytes, sccb.o(i.SCCB_GPIO_Config))
[Stack]

- Max Depth = 28
- Call Chain = SCCB_GPIO_Config ⇒ GPIO_Init

[Calls]

- >> RCC_APB2PeriphClockCmd
- >> GPIO_Init

[Called By]

- >> OV7670_init

SCCB_SID_GPIO_INPUT (Thumb, 32 bytes, Stack size 8 bytes, sccb.o(i.SCCB_SID_GPIO_INPUT))
[Stack]

- Max Depth = 28
- Call Chain = SCCB_SID_GPIO_INPUT ⇒ GPIO_Init

[Calls]

- >> RCC_APB2PeriphClockCmd
- >> GPIO_Init

[Called By]

- >> SCCBwriteByte
- >> SCCBreadByte

SCCB_SID_GPIO_OUTPUT (Thumb, 38 bytes, Stack size 8 bytes, sccb.o(i.SCCB_SID_GPIO_OUTPUT))
[Stack]

- Max Depth = 28
- Call Chain = SCCB_SID_GPIO_OUTPUT ⇒ GPIO_Init

[Calls]

- >> RCC_APB2PeriphClockCmd
- >> GPIO_Init

[Called By]

- >> SCCBwriteByte

SCCBreadByte (Thumb, 88 bytes, Stack size 16 bytes, sccb.o(i.SCCBreadByte))
[Stack]

- Max Depth = 44
- Call Chain = SCCBreadByte ⇒ SCCB_SID_GPIO_INPUT ⇒ GPIO_Init

[Calls]

- >> SCCB_SID_GPIO_INPUT
- >> delay_us

[Called By]

- >> rdOV7670Reg

SCCBwriteByte (Thumb, 150 bytes, Stack size 16 bytes, sccb.o(i.SCCBwriteByte))
[Stack]

- Max Depth = 44
- Call Chain = SCCBwriteByte ⇒ SCCB_SID_GPIO_OUTPUT ⇒ GPIO_Init

[Calls]

- >> SCCB_SID_GPIO_OUTPUT
- >> SCCB_SID_GPIO_INPUT
- >> delay_us

[Called By]

- >> wrOV7670Reg
- >> rdOV7670Reg

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

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

- stm32f10x_vector.o(RESET)

__scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

__scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

__scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

delay_ms (Thumb, 24 bytes, Stack size 4 bytes, delay.o(i.delay_ms))
[Stack]

- Max Depth = 4
- Call Chain = delay_ms

[Calls]

- >> delay_us

[Called By]

- >> main
- >> OV7670_init

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

- >> wrOV7670Reg
- >> rdOV7670Reg
- >> stopSCCB
- >> startSCCB
- >> noAck
- >> SCCBwriteByte
- >> SCCBreadByte
- >> delay_ms

ili9320_BGR2RGB (Thumb, 26 bytes, Stack size 12 bytes, ili9320.o(i.ili9320_BGR2RGB))
[Stack]

- Max Depth = 12
- Call Chain = ili9320_BGR2RGB

[Called By]

- >> main

ili9320_Clear (Thumb, 38 bytes, Stack size 12 bytes, ili9320.o(i.ili9320_Clear))
[Stack]

- Max Depth = 20
- Call Chain = ili9320_Clear ⇒ ili9320_SetCursor

[Calls]

- >> ili9320_SetCursor
- >> LCD_WriteRAM_Prepare

[Called By]

- >> main

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

- >> ili9320_Initializtion

ili9320_Initializtion (Thumb, 3612 bytes, Stack size 8 bytes, ili9320.o(i.ili9320_Initializtion))
[Stack]

- Max Depth = 132
- Call Chain = ili9320_Initializtion ⇒ LCD_X_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit

[Calls]

- >> ili9320_Delay
- >> LCD_X_Init
- >> LCD_WriteReg
- >> LCD_ReadReg
- >> Delay

[Called By]

- >> main

ili9320_SetCursor (Thumb, 126 bytes, Stack size 8 bytes, ili9320.o(i.ili9320_SetCursor))
[Stack]

- Max Depth = 8
- Call Chain = ili9320_SetCursor

[Calls]

- >> LCD_WriteReg

[Called By]

- >> main
- >> ili9320_Clear

main (Thumb, 242 bytes, Stack size 24 bytes, main.o(i.main))
[Stack]

- Max Depth = 156
- Call Chain = main ⇒ ili9320_Initializtion ⇒ LCD_X_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit

[Calls]

- >> Demo_Init
- >> OV7670_init
- >> CLK_init_ON
- >> CLK_init_OFF
- >> ili9320_SetCursor
- >> ili9320_Initializtion
- >> ili9320_Clear
- >> ili9320_BGR2RGB
- >> LCD_WriteReg
- >> LCD_WriteRAM_Prepare
- >> LCD_WriteRAM
- >> delay_ms

[Address Reference Count : 1]

- entry7.o(.ARM.Collect$$$$00000007)

noAck (Thumb, 64 bytes, Stack size 8 bytes, sccb.o(i.noAck))
[Stack]

- Max Depth = 8
- Call Chain = noAck

[Calls]

- >> delay_us

[Called By]

- >> rdOV7670Reg

rdOV7670Reg (Thumb, 102 bytes, Stack size 16 bytes, ov7670.o(i.rdOV7670Reg))
[Stack]

- Max Depth = 60
- Call Chain = rdOV7670Reg ⇒ SCCBwriteByte ⇒ SCCB_SID_GPIO_OUTPUT ⇒ GPIO_Init

[Calls]

- >> stopSCCB
- >> startSCCB
- >> noAck
- >> SCCBwriteByte
- >> SCCBreadByte
- >> delay_us

[Called By]

- >> OV7670_config_window

set_OV7670reg (Thumb, 1124 bytes, Stack size 8 bytes, ov7670.o(i.set_OV7670reg))
[Stack]

- Max Depth = 68
- Call Chain = set_OV7670reg ⇒ wrOV7670Reg ⇒ SCCBwriteByte ⇒ SCCB_SID_GPIO_OUTPUT ⇒ GPIO_Init

[Calls]

- >> wrOV7670Reg

[Called By]

- >> OV7670_init

startSCCB (Thumb, 64 bytes, Stack size 8 bytes, sccb.o(i.startSCCB))
[Stack]

- Max Depth = 8
- Call Chain = startSCCB

[Calls]

- >> delay_us

[Called By]

- >> wrOV7670Reg
- >> rdOV7670Reg

stopSCCB (Thumb, 48 bytes, Stack size 8 bytes, sccb.o(i.stopSCCB))
[Stack]

- Max Depth = 8
- Call Chain = stopSCCB

[Calls]

- >> delay_us

[Called By]

- >> wrOV7670Reg
- >> rdOV7670Reg

wrOV7670Reg (Thumb, 78 bytes, Stack size 16 bytes, ov7670.o(i.wrOV7670Reg))
[Stack]

- Max Depth = 60
- Call Chain = wrOV7670Reg ⇒ SCCBwriteByte ⇒ SCCB_SID_GPIO_OUTPUT ⇒ GPIO_Init

[Calls]

- >> stopSCCB
- >> startSCCB
- >> SCCBwriteByte
- >> delay_us

[Called By]

- >> set_OV7670reg
- >> OV7670_init
- >> OV7670_config_window

### Local Symbols

### Undefined Global Symbols