# Static Call Graph for image .\rvmdk\hello.axf

#<CALLGRAPH># ARM Linker, 5060061: Last Updated: Sun Apr 17 00:17:43 2016

### Maximum Stack Usage = 120 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

main ⇒ UARTprintf ⇒ UARTvprintf ⇒ UARTwrite

### Functions with no stack information

- Reset_Handler
- NmiSR
- FaultISR
- IntDefaultHandler

### Mutually Recursive functions

- SysCtlDelay ⇒ SysCtlDelay
- NmiSR ⇒ NmiSR
- FaultISR ⇒ FaultISR
- IntDefaultHandler ⇒ IntDefaultHandler

  ### Function Pointers

  - FaultISR from startup_rvmdk.o(RESET) referenced from startup_rvmdk.o(RESET)
  - IntDefaultHandler from startup_rvmdk.o(RESET) referenced 117 times from startup_rvmdk.o(RESET)
  - NmiSR from startup_rvmdk.o(RESET) referenced from startup_rvmdk.o(RESET)
  - Reset_Handler from startup_rvmdk.o(RESET) referenced from startup_rvmdk.o(RESET)
  - _sputc from printfa.o(i._sputc) referenced from printfa.o(i.__0sprintf)
  - main from hello.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)

  ### Global Symbols

  Reset_Handler (Thumb, 0 bytes, Stack size unknown bytes, startup_rvmdk.o(RESET))
  [Calls]

  - >> __main

  __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
  [Called By]

  - >> Reset_Handler

  _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

  _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Calls]

  - >> __scatterload

  __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Called By]

  - >> __scatterload

  _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

  _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

  _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

  __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

  __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

  SysCtlDelay (Thumb, 6 bytes, Stack size 0 bytes, sysctl.o(.emb_text))
  [Calls]

  - >> SysCtlDelay
  [Called By]
  - >> SysCtlDelay
  - >> main

  __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), UNUSED)
  [Called By]

  - >> _printf_core

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

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> _printf_core
  - >> _fp_digits

  __I$use$fp (Thumb, 0 bytes, Stack size 48 bytes, iusefp.o(.text), UNUSED)

  __aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_lasr
  - >> __aeabi_llsl
  - >> _double_round
  - >> _double_epilogue
  [Called By]
  - >> __aeabi_drsub
  - >> __aeabi_dsub
  - >> _fp_digits

  __aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

  __aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

  __aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text), UNUSED)
  [Calls]

  - >> _double_epilogue
  [Called By]
  - >> _fp_digits

  __aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text), UNUSED)
  [Calls]

  - >> _double_round
  [Called By]
  - >> _fp_digits

  __aeabi_d2ulz (Thumb, 48 bytes, Stack size 0 bytes, dfixul.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> _fp_digits

  __aeabi_cdrcmple (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
  [Called By]

  - >> _fp_digits

  __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
  [Calls]

  - >> __main_after_scatterload
  [Called By]
  - >> _main_scatterload

  __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

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

  - >> _double_epilogue
  - >> __aeabi_uldivmod
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz

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

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

  - >> _double_epilogue
  - >> __aeabi_uldivmod
  - >> __aeabi_d2ulz

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

  __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_dadd

  _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)

  _double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text), UNUSED)
  [Called By]

  - >> _double_epilogue
  - >> __aeabi_ddiv
  - >> __aeabi_dadd

  _double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> _double_round
  [Called By]
  - >> __aeabi_dmul
  - >> __aeabi_dadd

  ConfigureUART (Thumb, 70 bytes, Stack size 8 bytes, hello.o(i.ConfigureUART))
  [Stack]

  - Max Depth = 40
  - Call Chain = ConfigureUART ⇒ UARTStdioConfig
  [Calls]
  - >> UARTStdioConfig
  [Called By]
  - >> main

  GPIODirModeSet (Thumb, 40 bytes, Stack size 0 bytes, gpio.o(i.GPIODirModeSet))
  [Called By]

  - >> GPIOPinTypeEthernetLED

  GPIOPadConfigSet (Thumb, 314 bytes, Stack size 28 bytes, gpio.o(i.GPIOPadConfigSet))
  [Stack]

  - Max Depth = 28
  - Call Chain = GPIOPadConfigSet
  [Called By]
  - >> GPIOPinTypeEthernetLED
  - >> PinoutSet

  GPIOPinTypeEthernetLED (Thumb, 28 bytes, Stack size 12 bytes, gpio.o(i.GPIOPinTypeEthernetLED))
  [Stack]

  - Max Depth = 40
  - Call Chain = GPIOPinTypeEthernetLED ⇒ GPIOPadConfigSet
  [Calls]
  - >> GPIODirModeSet
  - >> GPIOPadConfigSet
  [Called By]
  - >> PinoutSet

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

  - >> LEDWrite

  LEDWrite (Thumb, 104 bytes, Stack size 16 bytes, pinout.o(i.LEDWrite))
  [Stack]

  - Max Depth = 16
  - Call Chain = LEDWrite
  [Calls]
  - >> GPIOPinWrite
  [Called By]
  - >> main

  PinoutSet (Thumb, 406 bytes, Stack size 24 bytes, pinout.o(i.PinoutSet))
  [Stack]

  - Max Depth = 64
  - Call Chain = PinoutSet ⇒ GPIOPinTypeEthernetLED ⇒ GPIOPadConfigSet
  [Calls]
  - >> GPIOPinTypeEthernetLED
  - >> GPIOPadConfigSet
  [Called By]
  - >> main

  SysCtlClockFreqSet (Thumb, 672 bytes, Stack size 28 bytes, sysctl.o(i.SysCtlClockFreqSet))
  [Stack]

  - Max Depth = 28
  - Call Chain = SysCtlClockFreqSet
  [Called By]
  - >> main

  UARTStdioConfig (Thumb, 82 bytes, Stack size 32 bytes, uartstdio.o(i.UARTStdioConfig))
  [Stack]

  - Max Depth = 32
  - Call Chain = UARTStdioConfig
  [Called By]
  - >> ConfigureUART

  UARTprintf (Thumb, 18 bytes, Stack size 24 bytes, uartstdio.o(i.UARTprintf))
  [Stack]

  - Max Depth = 104
  - Call Chain = UARTprintf ⇒ UARTvprintf ⇒ UARTwrite
  [Calls]
  - >> UARTvprintf
  [Called By]
  - >> main

  UARTvprintf (Thumb, 420 bytes, Stack size 56 bytes, uartstdio.o(i.UARTvprintf))
  [Stack]

  - Max Depth = 80
  - Call Chain = UARTvprintf ⇒ UARTwrite
  [Calls]
  - >> UARTwrite
  [Called By]
  - >> UARTprintf

  UARTwrite (Thumb, 56 bytes, Stack size 24 bytes, uartstdio.o(i.UARTwrite))
  [Stack]

  - Max Depth = 24
  - Call Chain = UARTwrite
  [Called By]
  - >> UARTvprintf

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

  - >> _sputc
  - >> _printf_core

  __1sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

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

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

  __c89sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

  sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), 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)

  main (Thumb, 110 bytes, Stack size 16 bytes, hello.o(i.main))
  [Stack]

  - Max Depth = 120
  - Call Chain = main ⇒ UARTprintf ⇒ UARTvprintf ⇒ UARTwrite
  [Calls]
  - >> UARTprintf
  - >> SysCtlDelay
  - >> SysCtlClockFreqSet
  - >> PinoutSet
  - >> LEDWrite
  - >> ConfigureUART
  - >> __2sprintf
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  ### Local Symbols

  NmiSR (Thumb, 0 bytes, Stack size unknown bytes, startup_rvmdk.o(RESET))
  [Calls]

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

  FaultISR (Thumb, 0 bytes, Stack size unknown bytes, startup_rvmdk.o(RESET))
  [Calls]

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

  IntDefaultHandler (Thumb, 0 bytes, Stack size unknown bytes, startup_rvmdk.o(RESET))
  [Calls]

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

  _fp_digits (Thumb, 334 bytes, Stack size 56 bytes, printfa.o(i._fp_digits), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz
  - >> __aeabi_cdrcmple
  [Called By]
  - >> _printf_core

  _printf_core (Thumb, 1744 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> __aeabi_uidivmod
  - >> _printf_pre_padding
  - >> _printf_post_padding
  - >> _fp_digits
  [Called By]
  - >> __0sprintf

  _printf_post_padding (Thumb, 36 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)
  [Called By]

  - >> _printf_core

  _printf_pre_padding (Thumb, 46 bytes, Stack size 24 bytes, printfa.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

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

  - >> __0sprintf
  [Address Reference Count : 1]
  - printfa.o(i.__0sprintf)

  ### Undefined Global Symbols