# Static Call Graph for image .\FLASH\usbdev_hid.axf

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

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

### Call chain for Maximum Stack Depth:

USB_IRQHandler ⇒ USB_EndPoint0 ⇒ USB_GetDescriptor ⇒ USB_DataInStage ⇒ USB_WriteEP

### 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 startup_lpc17xx.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 startup_lpc17xx.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 demo.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)

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

  UART3_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, 24 bytes, Stack size 8 bytes, usbuser.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = USB_Configure_Event ⇒ USB_WriteEP
  [Calls]
  - >> GetInReport
  - >> USB_WriteEP
  [Called By]
  - >> USB_EndPoint0

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

  - Max Depth = 28
  - Call Chain = USB_EndPoint1 ⇒ USB_WriteEP
  [Calls]
  - >> GetInReport
  - >> USB_WriteEP
  [Called By]
  - >> USB_IRQHandler
  [Address Reference Count : 1]
  - usbuser.o(.constdata)

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

  - Max Depth = 28
  - Call Chain = USB_EndPoint2 ⇒ USB_WriteEP
  [Calls]
  - >> GetInReport
  - >> USB_WriteEP
  [Called By]
  - >> USB_IRQHandler
  [Address Reference Count : 1]
  - usbuser.o(.constdata)

  USB_EndPoint3 (Thumb, 28 bytes, Stack size 8 bytes, usbuser.o(.text), UNUSED)
  [Calls]

  - >> GetInReport
  - >> USB_WriteEP

  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)

  HID_GetReport (Thumb, 48 bytes, Stack size 8 bytes, hiduser.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = HID_GetReport
  [Calls]
  - >> GetInReport
  [Called By]
  - >> USB_EndPoint0

  HID_SetReport (Thumb, 48 bytes, Stack size 8 bytes, hiduser.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = HID_SetReport
  [Calls]
  - >> SetOutReport
  [Called By]
  - >> USB_EndPoint0

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

  - >> USB_EndPoint0

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

  - >> USB_EndPoint0

  HID_GetProtocol (Thumb, 12 bytes, Stack size 0 bytes, hiduser.o(.text))
  [Called By]

  - >> USB_EndPoint0

  HID_SetProtocol (Thumb, 12 bytes, Stack size 0 bytes, hiduser.o(.text))
  [Called By]

  - >> USB_EndPoint0

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

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

  - >> USB_DMA_BufCnt
  - >> USB_DMA_BufAdr
  - >> USB_DMA_Status
  - >> USB_DMA_Disable
  - >> USB_DMA_Enable
  - >> USB_DMA_Setup
  - >> USB_WriteEP
  - >> USB_ReadEP
  - >> USB_ClrStallEP
  - >> USB_SetStallEP
  - >> USB_ResetEP
  - >> USB_DisableEP
  - >> USB_EnableEP
  - >> USB_ConfigEP

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

  - >> USB_IRQHandler
  - >> USB_GetFrame
  - >> USB_WriteEP
  - >> USB_ReadEP

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

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

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

  - >> USB_IRQHandler
  - >> USB_GetFrame

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

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

  USB_Reset (Thumb, 172 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), UNUSED)

  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_SetConfiguration

  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_SetConfiguration

  USB_DirCtrlEP (Thumb, 2 bytes, Stack size 0 bytes, usbhw.o(.text), UNUSED)

  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_SetConfiguration

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

  - >> WrCmdDat
  - >> EPAdr

  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_SetConfiguration

  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_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_EndPoint0

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

  - Max Depth = 20
  - Call Chain = USB_ReadEP
  [Calls]
  - >> WrCmd
  - >> EPAdr
  [Called By]
  - >> USB_StatusOutStage
  - >> USB_DataOutStage
  - >> USB_SetupStage

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

  - Max Depth = 20
  - Call Chain = USB_WriteEP
  [Calls]
  - >> WrCmd
  - >> EPAdr
  [Called By]
  - >> USB_StatusInStage
  - >> USB_DataInStage
  - >> USB_EndPoint3
  - >> USB_Configure_Event
  - >> USB_EndPoint2
  - >> USB_EndPoint1

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

  - >> EPAdr

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

  - >> EPAdr

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

  - >> EPAdr

  USB_DMA_Status (Thumb, 78 bytes, Stack size 12 bytes, usbhw.o(.text), UNUSED)
  [Calls]

  - >> EPAdr

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

  - >> EPAdr

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

  - >> EPAdr

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

  - >> RdCmdDat
  - >> WrCmd

  USB_IRQHandler (Thumb, 650 bytes, Stack size 24 bytes, usbhw.o(.text))
  [Stack]

  - Max Depth = 76
  - Call Chain = USB_IRQHandler ⇒ USB_EndPoint0 ⇒ USB_GetDescriptor ⇒ USB_DataInStage ⇒ USB_WriteEP
  [Calls]
  - >> USB_Reset_Event
  - >> USB_EndPoint2
  - >> USB_EndPoint1
  - >> USB_EndPoint0
  - >> USB_Resume
  - >> USB_Suspend
  - >> USB_Reset
  - >> RdCmdDat
  - >> WrCmd
  [Address Reference Count : 1]
  - startup_lpc17xx.o(RESET)

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

  - >> HID_GetReport
  - >> USB_EndPoint3
  - >> USB_Configure_Event
  - >> USB_EndPoint2
  - >> USB_EndPoint1

  SetOutReport (Thumb, 318 bytes, Stack size 0 bytes, demo.o(.text))
  [Called By]

  - >> HID_SetReport

  main (Thumb, 34 bytes, Stack size 0 bytes, demo.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = main ⇒ USB_Init ⇒ USB_SetAddress
  [Calls]
  - >> USB_Connect
  - >> USB_Init
  [Address Reference Count : 1]
  - entry7.o(.ARM.Collect$$$$00000007)

  check_failed (Thumb, 4 bytes, Stack size 0 bytes, demo.o(.text), UNUSED)

  USB_ResetCore (Thumb, 34 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 = 28
  - Call Chain = USB_SetupStage ⇒ USB_ReadEP
  [Calls]
  - >> USB_ReadEP
  [Called By]
  - >> USB_EndPoint0

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

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

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

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

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

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

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

  - >> USB_ReadEP

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

  - Max Depth = 52
  - Call Chain = USB_EndPoint0 ⇒ USB_GetDescriptor ⇒ USB_DataInStage ⇒ USB_WriteEP
  [Calls]
  - >> HID_SetReport
  - >> HID_SetProtocol
  - >> HID_SetIdle
  - >> HID_GetReport
  - >> HID_GetProtocol
  - >> HID_GetIdle
  - >> USB_SetConfiguration
  - >> USB_GetDescriptor
  - >> USB_StatusInStage
  - >> USB_DataOutStage
  - >> USB_DataInStage
  - >> USB_SetupStage
  - >> USB_Configure_Event
  - >> USB_ClrStallEP
  - >> USB_SetStallEP
  - >> USB_SetAddress
  [Called By]
  - >> USB_IRQHandler
  [Address Reference Count : 1]
  - usbuser.o(.constdata)

  USB_GetDescriptor (Thumb, 226 bytes, Stack size 16 bytes, usbcore.o(i.USB_GetDescriptor))
  [Stack]

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

  USB_SetConfiguration (Thumb, 160 bytes, Stack size 24 bytes, usbcore.o(i.USB_SetConfiguration))
  [Stack]

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

  ### Local Symbols

  ### Undefined Global Symbols