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

#<CALLGRAPH># ARM Linker, 4.1 [Build 644]: Last Updated: Tue Jan 17 15:11:23 2012

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

### Call chain for Maximum Stack Depth:

main ⇒ VCOM_Init ⇒ CDC_Init ⇒ ser_InitPort1

### 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
- SysTick_Handler ⇒ SysTick_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - BOD_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - BusFault_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - CANActivity_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - CAN_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - DMA_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - DebugMon_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT3_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - ENET_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - HardFault_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2C0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2C1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2C2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2S_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - MCPWM_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - MemManage_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - NMI_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PLL0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PLL1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PWM1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PendSV_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - QEI_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - RIT_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - RTC_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - Reset_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SPI_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SSP0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SSP1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SVC_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SysTick_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SystemInit from system_lpc17xx.o(.text) referenced from startup_lpc17xx.o(.text)
  - TIMER0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - TIMER1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - TIMER2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - TIMER3_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART0_IRQHandler from serial.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART3_IRQHandler from serial.o(.text) referenced from startup_lpc17xx.o(RESET)
  - USBActivity_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - USB_EndPoint0 from usbcore.o(.text) referenced from usbuser.o(.constdata)
  - USB_EndPoint1 from usbuser.o(.text) referenced from usbuser.o(.constdata)
  - USB_EndPoint2 from usbuser.o(.text) referenced from usbuser.o(.constdata)
  - USB_IRQHandler from usbhw.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UsageFault_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - WDT_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_lpc17xx.o(.text)
  - main from vcomdemo.o(.text) referenced from entry7.o(.ARM.Collect$$$$00000007)

  ### Global Symbols

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

  - startup_lpc17xx.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, 8 bytes, Stack size 0 bytes, startup_lpc17xx.o(.text))
  [Address Reference Count : 1]

  - startup_lpc17xx.o(RESET)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

  USB_Reset_Event (Thumb, 8 bytes, Stack size 8 bytes, usbuser.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_Reset_Event
  [Calls]
  - >> USB_ResetCore
  [Called By]
  - >> USB_IRQHandler

  USB_Configure_Event (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text))
  [Called By]

  - >> USB_EndPoint0

  USB_EndPoint1 (Thumb, 36 bytes, Stack size 16 bytes, usbuser.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = USB_EndPoint1 ⇒ CDC_NotificationIn ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> CDC_NotificationIn
  - >> CDC_GetSerialState
  [Address Reference Count : 1]
  - usbuser.o(.constdata)

  USB_EndPoint2 (Thumb, 30 bytes, Stack size 8 bytes, usbuser.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = USB_EndPoint2 ⇒ CDC_BulkIn ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> CDC_BulkOut
  - >> CDC_BulkIn
  [Address Reference Count : 1]
  - usbuser.o(.constdata)

  USB_EndPoint3 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint4 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint5 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint6 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint7 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint8 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint9 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint10 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint11 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint12 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint13 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint14 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  USB_EndPoint15 (Thumb, 2 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

  VCOM_Init (Thumb, 10 bytes, Stack size 8 bytes, vcomdemo.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = VCOM_Init ⇒ CDC_Init ⇒ ser_InitPort1
  [Calls]
  - >> CDC_Init
  [Called By]
  - >> main

  VCOM_Serial2Usb (Thumb, 52 bytes, Stack size 16 bytes, vcomdemo.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = VCOM_Serial2Usb ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> ser_Read
  - >> ser_AvailChar
  - >> USB_WriteEP
  [Called By]
  - >> main

  VCOM_Usb2Serial (Thumb, 52 bytes, Stack size 16 bytes, vcomdemo.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = VCOM_Usb2Serial ⇒ ser_Write
  [Calls]
  - >> ser_Write
  - >> CDC_OutBufAvailChar
  - >> CDC_RdOutBuf
  [Called By]
  - >> main

  VCOM_CheckSerialState (Thumb, 26 bytes, Stack size 8 bytes, vcomdemo.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = VCOM_CheckSerialState ⇒ CDC_NotificationIn ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> CDC_NotificationIn
  - >> CDC_GetSerialState
  [Called By]
  - >> main

  main (Thumb, 40 bytes, Stack size 0 bytes, vcomdemo.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = main ⇒ VCOM_Init ⇒ CDC_Init ⇒ ser_InitPort1
  [Calls]
  - >> VCOM_CheckSerialState
  - >> VCOM_Usb2Serial
  - >> VCOM_Serial2Usb
  - >> VCOM_Init
  - >> USB_Connect
  - >> USB_Init
  [Address Reference Count : 1]
  - entry7.o(.ARM.Collect$$$$00000007)

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

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

  SystemCoreClockUpdate (Thumb, 316 bytes, Stack size 0 bytes, system_lpc17xx.o(.text), UNUSED)

  SystemInit (Thumb, 296 bytes, Stack size 0 bytes, system_lpc17xx.o(.text))
  [Address Reference Count : 1]

  - startup_lpc17xx.o(.text)

  CDC_RdOutBuf (Thumb, 68 bytes, Stack size 16 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = CDC_RdOutBuf
  [Called By]
  - >> VCOM_Usb2Serial

  CDC_WrOutBuf (Thumb, 56 bytes, Stack size 20 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = CDC_WrOutBuf
  [Called By]
  - >> CDC_BulkOut

  CDC_OutBufAvailChar (Thumb, 26 bytes, Stack size 0 bytes, cdcuser.o(.text))
  [Called By]

  - >> VCOM_Usb2Serial

  CDC_GetSerialState (Thumb, 176 bytes, Stack size 8 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = CDC_GetSerialState
  [Calls]
  - >> ser_LineState
  [Called By]
  - >> VCOM_CheckSerialState
  - >> USB_EndPoint1
  - >> CDC_Init

  CDC_Init (Thumb, 104 bytes, Stack size 16 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = CDC_Init ⇒ ser_InitPort1
  [Calls]
  - >> ser_OpenPort
  - >> ser_InitPort1
  - >> ser_InitPort0
  - >> CDC_GetSerialState
  [Called By]
  - >> VCOM_Init

  CDC_SendEncapsulatedCommand (Thumb, 4 bytes, Stack size 0 bytes, cdcuser.o(.text))
  [Called By]

  - >> USB_EndPoint0

  CDC_GetEncapsulatedResponse (Thumb, 4 bytes, Stack size 0 bytes, cdcuser.o(.text))
  [Called By]

  - >> USB_EndPoint0

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

  - >> USB_EndPoint0

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

  - >> USB_EndPoint0

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

  - >> USB_EndPoint0

  CDC_SetLineCoding (Thumb, 98 bytes, Stack size 8 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = CDC_SetLineCoding ⇒ ser_InitPort0
  [Calls]
  - >> ser_OpenPort
  - >> ser_InitPort0
  - >> ser_ClosePort
  [Called By]
  - >> USB_EndPoint0

  CDC_GetLineCoding (Thumb, 62 bytes, Stack size 0 bytes, cdcuser.o(.text))
  [Called By]

  - >> USB_EndPoint0

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

  - >> USB_EndPoint0

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

  - >> USB_EndPoint0

  CDC_BulkIn (Thumb, 44 bytes, Stack size 16 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = CDC_BulkIn ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> ser_Read
  - >> ser_AvailChar
  - >> USB_WriteEP
  [Called By]
  - >> USB_EndPoint2

  CDC_BulkOut (Thumb, 22 bytes, Stack size 8 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = CDC_BulkOut ⇒ USB_ReadEP ⇒ WrCmdEP
  [Calls]
  - >> USB_ReadEP
  - >> CDC_WrOutBuf
  [Called By]
  - >> USB_EndPoint2

  CDC_NotificationIn (Thumb, 70 bytes, Stack size 8 bytes, cdcuser.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = CDC_NotificationIn ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> USB_WriteEP
  [Called By]
  - >> VCOM_CheckSerialState
  - >> USB_EndPoint1

  ser_OpenPort (Thumb, 82 bytes, Stack size 8 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ser_OpenPort
  [Calls]
  - >> NVIC_DisableIRQ
  [Called By]
  - >> CDC_SetLineCoding
  - >> CDC_Init

  ser_ClosePort (Thumb, 66 bytes, Stack size 8 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ser_ClosePort
  [Calls]
  - >> NVIC_DisableIRQ
  [Called By]
  - >> CDC_SetLineCoding

  ser_InitPort0 (Thumb, 318 bytes, Stack size 56 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = ser_InitPort0
  [Calls]
  - >> NVIC_EnableIRQ
  [Called By]
  - >> CDC_SetLineCoding
  - >> CDC_Init

  ser_InitPort1 (Thumb, 318 bytes, Stack size 56 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = ser_InitPort1
  [Calls]
  - >> NVIC_EnableIRQ
  [Called By]
  - >> CDC_Init

  ser_Read (Thumb, 92 bytes, Stack size 16 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = ser_Read
  [Called By]
  - >> VCOM_Serial2Usb
  - >> CDC_BulkIn

  ser_Write (Thumb, 218 bytes, Stack size 20 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = ser_Write
  [Called By]
  - >> VCOM_Usb2Serial

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

  - >> VCOM_Serial2Usb
  - >> CDC_BulkIn

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

  - >> CDC_GetSerialState

  UART0_IRQHandler (Thumb, 156 bytes, Stack size 8 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART0_IRQHandler
  [Address Reference Count : 1]
  - startup_lpc17xx.o(RESET)

  UART3_IRQHandler (Thumb, 156 bytes, Stack size 8 bytes, serial.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART3_IRQHandler
  [Address Reference Count : 1]
  - startup_lpc17xx.o(RESET)

  USB_ResetCore (Thumb, 38 bytes, Stack size 0 bytes, usbcore.o(.text))
  [Called By]

  - >> USB_Reset_Event

  USB_SetupStage (Thumb, 12 bytes, Stack size 8 bytes, usbcore.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USB_SetupStage ⇒ USB_ReadEP ⇒ WrCmdEP
  [Calls]
  - >> USB_ReadEP
  [Called By]
  - >> USB_EndPoint0

  USB_DataInStage (Thumb, 58 bytes, Stack size 8 bytes, usbcore.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USB_DataInStage ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> USB_WriteEP
  [Called By]
  - >> USB_EndPoint0

  USB_DataOutStage (Thumb, 38 bytes, Stack size 8 bytes, usbcore.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USB_DataOutStage ⇒ USB_ReadEP ⇒ WrCmdEP
  [Calls]
  - >> USB_ReadEP
  [Called By]
  - >> USB_EndPoint0

  USB_StatusInStage (Thumb, 14 bytes, Stack size 8 bytes, usbcore.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USB_StatusInStage ⇒ USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> USB_WriteEP
  [Called By]
  - >> USB_EndPoint0

  USB_StatusOutStage (Thumb, 12 bytes, Stack size 8 bytes, usbcore.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USB_StatusOutStage ⇒ USB_ReadEP ⇒ WrCmdEP
  [Calls]
  - >> USB_ReadEP
  [Called By]
  - >> USB_EndPoint0

  USB_EndPoint0 (Thumb, 904 bytes, Stack size 8 bytes, usbcore.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = USB_EndPoint0 ⇒ CDC_SetLineCoding ⇒ ser_InitPort0
  [Calls]
  - >> USB_SetStallEP
  - >> USB_SetAddress
  - >> USB_DirCtrlEP
  - >> USB_Configure_Event
  - >> USB_ClrStallEP
  - >> USB_ReqSetInterface
  - >> USB_ReqSetConfiguration
  - >> USB_ReqSetClrFeature
  - >> USB_ReqGetStatus
  - >> USB_ReqGetDescriptor
  - >> USB_StatusOutStage
  - >> USB_StatusInStage
  - >> USB_DataOutStage
  - >> USB_DataInStage
  - >> USB_SetupStage
  - >> CDC_SendBreak
  - >> CDC_SetControlLineState
  - >> CDC_GetLineCoding
  - >> CDC_SetLineCoding
  - >> CDC_ClearCommFeature
  - >> CDC_GetCommFeature
  - >> CDC_SetCommFeature
  - >> CDC_GetEncapsulatedResponse
  - >> CDC_SendEncapsulatedCommand
  [Address Reference Count : 1]
  - usbuser.o(.constdata)

  EPAdr (Thumb, 26 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> WrCmdEP
  - >> USB_SetStallEP
  - >> USB_ResetEP
  - >> USB_EnableEP
  - >> USB_DisableEP
  - >> USB_ConfigEP
  - >> USB_ClrStallEP

  WrCmd (Thumb, 30 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> USB_IRQHandler
  - >> USB_GetFrame

  WrCmdDat (Thumb, 58 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> USB_WakeUp
  - >> USB_Connect
  - >> USB_SetStallEP
  - >> USB_SetAddress
  - >> USB_ResetEP
  - >> USB_EnableEP
  - >> USB_DisableEP
  - >> USB_Configure
  - >> USB_ClrStallEP

  WrCmdEP (Thumb, 78 bytes, Stack size 8 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = WrCmdEP
  [Calls]
  - >> EPAdr
  [Called By]
  - >> USB_ClearEPBuf
  - >> USB_WriteEP
  - >> USB_ReadEP

  RdCmdDat (Thumb, 36 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> USB_IRQHandler
  - >> USB_GetFrame

  USB_SetAddress (Thumb, 46 bytes, Stack size 8 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_SetAddress
  [Calls]
  - >> WrCmdDat
  [Called By]
  - >> USB_Init
  - >> USB_EndPoint0

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

  - >> USB_IRQHandler
  - >> USB_Init

  USB_Init (Thumb, 150 bytes, Stack size 4 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_Init ⇒ USB_SetAddress
  [Calls]
  - >> USB_Reset
  - >> USB_SetAddress
  [Called By]
  - >> main

  USB_Connect (Thumb, 28 bytes, Stack size 8 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_Connect
  [Calls]
  - >> WrCmdDat
  [Called By]
  - >> main

  USB_Suspend (Thumb, 2 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> USB_IRQHandler

  USB_Resume (Thumb, 2 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> USB_IRQHandler

  USB_WakeUp (Thumb, 22 bytes, Stack size 4 bytes, usbhw.o(.text), UNUSED)
  [Calls]

  - >> WrCmdDat

  USB_WakeUpCfg (Thumb, 2 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> USB_ReqSetClrFeature

  USB_Configure (Thumb, 58 bytes, Stack size 8 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_Configure
  [Calls]
  - >> WrCmdDat
  [Called By]
  - >> USB_ReqSetConfiguration

  USB_ConfigEP (Thumb, 70 bytes, Stack size 8 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_ConfigEP
  [Calls]
  - >> EPAdr
  [Called By]
  - >> USB_ReqSetInterface
  - >> USB_ReqSetConfiguration

  USB_DirCtrlEP (Thumb, 2 bytes, Stack size 0 bytes, usbhw.o(.text))
  [Called By]

  - >> USB_EndPoint0

  USB_EnableEP (Thumb, 26 bytes, Stack size 12 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_EnableEP
  [Calls]
  - >> WrCmdDat
  - >> EPAdr
  [Called By]
  - >> USB_ReqSetInterface
  - >> USB_ReqSetConfiguration

  USB_DisableEP (Thumb, 26 bytes, Stack size 12 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_DisableEP
  [Calls]
  - >> WrCmdDat
  - >> EPAdr
  [Called By]
  - >> USB_ReqSetInterface
  - >> USB_ReqSetConfiguration

  USB_ResetEP (Thumb, 26 bytes, Stack size 12 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_ResetEP
  [Calls]
  - >> WrCmdDat
  - >> EPAdr
  [Called By]
  - >> USB_ReqSetInterface
  - >> USB_ReqSetConfiguration

  USB_SetStallEP (Thumb, 26 bytes, Stack size 12 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_SetStallEP
  [Calls]
  - >> WrCmdDat
  - >> EPAdr
  [Called By]
  - >> USB_ReqSetClrFeature
  - >> USB_EndPoint0

  USB_ClrStallEP (Thumb, 26 bytes, Stack size 12 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_ClrStallEP
  [Calls]
  - >> WrCmdDat
  - >> EPAdr
  [Called By]
  - >> USB_ReqSetClrFeature
  - >> USB_EndPoint0

  USB_ClearEPBuf (Thumb, 14 bytes, Stack size 8 bytes, usbhw.o(.text), UNUSED)
  [Calls]

  - >> WrCmdEP

  USB_ReadEP (Thumb, 106 bytes, Stack size 20 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = USB_ReadEP ⇒ WrCmdEP
  [Calls]
  - >> WrCmdEP
  [Called By]
  - >> USB_StatusOutStage
  - >> USB_DataOutStage
  - >> USB_SetupStage
  - >> CDC_BulkOut

  USB_WriteEP (Thumb, 188 bytes, Stack size 20 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = USB_WriteEP ⇒ WrCmdEP
  [Calls]
  - >> WrCmdEP
  [Called By]
  - >> VCOM_Serial2Usb
  - >> USB_StatusInStage
  - >> USB_DataInStage
  - >> CDC_NotificationIn
  - >> CDC_BulkIn

  USB_GetFrame (Thumb, 32 bytes, Stack size 4 bytes, usbhw.o(.text), UNUSED)
  [Calls]

  - >> RdCmdDat
  - >> WrCmd

  USB_IRQHandler (Thumb, 260 bytes, Stack size 32 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = USB_IRQHandler ⇒ USB_Reset_Event
  [Calls]
  - >> USB_Reset_Event
  - >> USB_Resume
  - >> USB_Suspend
  - >> USB_Reset
  - >> RdCmdDat
  - >> WrCmd
  [Address Reference Count : 1]
  - startup_lpc17xx.o(RESET)

  USB_ReqGetDescriptor (Thumb, 182 bytes, Stack size 8 bytes, usbcore.o(i.USB_ReqGetDescriptor))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_ReqGetDescriptor
  [Called By]
  - >> USB_EndPoint0

  USB_ReqGetStatus (Thumb, 196 bytes, Stack size 0 bytes, usbcore.o(i.USB_ReqGetStatus))
  [Called By]

  - >> USB_EndPoint0

  USB_ReqSetClrFeature (Thumb, 220 bytes, Stack size 16 bytes, usbcore.o(i.USB_ReqSetClrFeature))
  [Stack]

  - Max Depth = 28
  - Call Chain = USB_ReqSetClrFeature ⇒ USB_SetStallEP
  [Calls]
  - >> USB_WakeUpCfg
  - >> USB_SetStallEP
  - >> USB_ClrStallEP
  [Called By]
  - >> USB_EndPoint0

  USB_ReqSetConfiguration (Thumb, 472 bytes, Stack size 24 bytes, usbcore.o(i.USB_ReqSetConfiguration))
  [Stack]

  - Max Depth = 36
  - Call Chain = USB_ReqSetConfiguration ⇒ USB_ResetEP
  [Calls]
  - >> USB_ResetEP
  - >> USB_EnableEP
  - >> USB_DisableEP
  - >> USB_Configure
  - >> USB_ConfigEP
  [Called By]
  - >> USB_EndPoint0

  USB_ReqSetInterface (Thumb, 324 bytes, Stack size 40 bytes, usbcore.o(i.USB_ReqSetInterface))
  [Stack]

  - Max Depth = 52
  - Call Chain = USB_ReqSetInterface ⇒ USB_ResetEP
  [Calls]
  - >> USB_ResetEP
  - >> USB_EnableEP
  - >> USB_DisableEP
  - >> USB_ConfigEP
  [Called By]
  - >> USB_EndPoint0

  ### Local Symbols

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

  - >> ser_InitPort1
  - >> ser_InitPort0

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

  - >> ser_OpenPort
  - >> ser_ClosePort

  ### Undefined Global Symbols