# Static Call Graph for image .\Outputs\BaseTarget.axf

#<CALLGRAPH># ARM Linker, 5040049: Last Updated: Tue Nov 17 22:33:16 2015

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

### Call chain for Maximum Stack Depth:

RunFlame ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf

### Functions with no stack information

- Reset_Handler
- __user_initial_stackheap
- NmiSR
- FaultISR
- IntDefaultHandler

### Mutually Recursive functions

- UARTCharPut ⇒ UARTCharPut
- NmiSR ⇒ NmiSR
- FaultISR ⇒ FaultISR
- IntDefaultHandler ⇒ IntDefaultHandler
- SysCtlDelay ⇒ SysCtlDelay
- _sys_exit ⇒ _sys_exit

  ### Function Pointers

  - Check4Keystroke from eventcheckers.o(i.Check4Keystroke) referenced from es_checkevents.o(.constdata)
  - CheckFlameEvents from flame.o(i.CheckFlameEvents) referenced from es_checkevents.o(.constdata)
  - CheckPulse from watergun.o(i.CheckPulse) referenced from es_checkevents.o(.constdata)
  - CheckResetButton from eventcheckers.o(i.CheckResetButton) referenced from es_checkevents.o(.constdata)
  - CheckSpigotEvents from spigot.o(i.CheckSpigotEvents) referenced from es_checkevents.o(.constdata)
  - CheckTrigPull from trigger.o(i.CheckTrigPull) referenced from es_checkevents.o(.constdata)
  - CheckTrigRelease from trigger.o(i.CheckTrigRelease) referenced from es_checkevents.o(.constdata)
  - FaultISR from startup_rvmdk.o(RESET) referenced from startup_rvmdk.o(RESET)
  - InitFlame from flame.o(i.InitFlame) referenced from es_framework.o(.constdata)
  - InitResetButton from resetbutton.o(i.InitResetButton) referenced from es_framework.o(.constdata)
  - InitServo from servosm.o(i.InitServo) referenced from es_framework.o(.constdata)
  - InitSpigot from spigot.o(i.InitSpigot) referenced from es_framework.o(.constdata)
  - InitTrigger from trigger.o(i.InitTrigger) referenced from es_framework.o(.constdata)
  - InitWaterGun from watergun.o(i.InitWaterGun) referenced from es_framework.o(.constdata)
  - InitWaterReservoir from waterreservoir.o(i.InitWaterReservoir) referenced from es_framework.o(.constdata)
  - IntDefaultHandler from startup_rvmdk.o(RESET) referenced 111 times from startup_rvmdk.o(RESET)
  - NmiSR from startup_rvmdk.o(RESET) referenced from startup_rvmdk.o(RESET)
  - PostResetButton from resetbutton.o(i.PostResetButton) referenced 3 times from es_timers.o(.constdata)
  - PostServo from servosm.o(i.PostServo) referenced from es_timers.o(.constdata)
  - PostTrigger from trigger.o(i.PostTrigger) referenced from es_timers.o(.constdata)
  - PostWaterGun from watergun.o(i.PostWaterGun) referenced from es_timers.o(.constdata)
  - PostWaterReservoir from waterreservoir.o(i.PostWaterReservoir) referenced from es_timers.o(.constdata)
  - Reset_Handler from startup_rvmdk.o(RESET) referenced from startup_rvmdk.o(RESET)
  - RunFlame from flame.o(i.RunFlame) referenced from es_framework.o(.constdata)
  - RunResetButton from resetbutton.o(i.RunResetButton) referenced from es_framework.o(.constdata)
  - RunServo from servosm.o(i.RunServo) referenced from es_framework.o(.constdata)
  - RunSpigot from spigot.o(i.RunSpigot) referenced from es_framework.o(.constdata)
  - RunTrigger from trigger.o(i.RunTrigger) referenced from es_framework.o(.constdata)
  - RunWaterGun from watergun.o(i.RunWaterGun) referenced from es_framework.o(.constdata)
  - RunWaterReservoir from waterreservoir.o(i.RunWaterReservoir) referenced from es_framework.o(.constdata)
  - ShortTimerAHandler from es_shorttimer.o(i.ShortTimerAHandler) referenced from startup_rvmdk.o(RESET)
  - ShortTimerBHandler from es_shorttimer.o(i.ShortTimerBHandler) referenced from startup_rvmdk.o(RESET)
  - SysTickIntHandler from es_port.o(i.SysTickIntHandler) referenced from startup_rvmdk.o(RESET)
  - _printf_input_char from _printf_char_common.o(.text) referenced from _printf_char_common.o(.text)
  - fputc from retarget.o(i.fputc) referenced from _printf_char_file.o(.text)

  ### Global Symbols

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

  - >> __main

  __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
  [Calls]

  - >> __scatterload
  - >> __rt_entry
  [Called By]
  - >> Reset_Handler

  __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
  [Called By]

  - >> __main

  __scatterload_rt2 (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
  [Calls]

  - >> __rt_entry

  __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
  [Calls]

  - >> __scatterload_copy
  [Called By]
  - >> __scatterload_copy

  __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

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

  - >> __printf

  _printf_s (Thumb, 0 bytes, Stack size unknown bytes, _printf_s.o(.ARM.Collect$$_printf_percent$$00000014))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = _printf_s ⇒ _printf_string ⇒ _printf_cs_common ⇒ _printf_str
  [Calls]
  - >> _printf_string

  _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))

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

  - >> __rt_entry_li

  __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000001))
  [Calls]

  - >> _fp_init

  __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))

  __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002A))

  __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))

  __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))

  __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))

  __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))

  __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))

  __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))

  __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000008))

  __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000F))

  __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

  __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))

  __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))

  __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))

  __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

  __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000031))

  __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))

  __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))

  __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

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

  - >> __rt_exit_ls

  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))

  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))

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

  - >> __scatterload_rt2
  - >> __main

  __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000002))

  __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, rtentry4.o(.ARM.Collect$$rtentry$$00000004))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
  [Calls]
  - >> __user_setup_stackheap

  __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
  [Calls]

  - >> __rt_lib_init

  __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000009))

  __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = __rt_entry_main ⇒ main ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> main
  - >> exit

  __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

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

  - >> exit

  __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
  [Calls]

  - >> __rt_lib_shutdown

  __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

  __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
  [Calls]

  - >> _sys_exit

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

  - >> SysCtlDelay
  [Called By]
  - >> SysCtlClockSet
  - >> SysCtlDelay

  CPUcpsid (Thumb, 8 bytes, Stack size 0 bytes, cpu.o(.emb_text), UNUSED)

  CPUprimask (Thumb, 6 bytes, Stack size 0 bytes, cpu.o(.emb_text), UNUSED)

  CPUcpsie (Thumb, 8 bytes, Stack size 0 bytes, cpu.o(.emb_text))
  [Called By]

  - >> IntMasterEnable

  CPUwfi (Thumb, 4 bytes, Stack size 0 bytes, cpu.o(.emb_text), UNUSED)

  CPUbasepriSet (Thumb, 6 bytes, Stack size 0 bytes, cpu.o(.emb_text), UNUSED)

  CPUbasepriGet (Thumb, 6 bytes, Stack size 0 bytes, cpu.o(.emb_text), UNUSED)

  __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_rvmdk.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __2printf (Thumb, 20 bytes, Stack size 24 bytes, noretval__2printf.o(.text))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _printf_char_file
  [Called By]
  - >> RunResetButton
  - >> RunWaterGun
  - >> CheckPulse
  - >> RunFlame
  - >> RunServo
  - >> Check4Keystroke
  - >> main

  __printf (Thumb, 104 bytes, Stack size 24 bytes, __printf.o(.text))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = __printf
  [Calls]
  - >> _printf_percent
  [Called By]
  - >> _printf_char_common

  _printf_str (Thumb, 82 bytes, Stack size 16 bytes, _printf_str.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_str
  [Called By]
  - >> _printf_cs_common

  getc (Thumb, 4 bytes, Stack size 0 bytes, getc.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = getc ⇒ fgetc ⇒ TERMIO_GetChar ⇒ UARTgetc
  [Calls]
  - >> fgetc
  [Called By]
  - >> Check4Keystroke

  puts (Thumb, 40 bytes, Stack size 8 bytes, puts.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = puts ⇒ fputc
  [Calls]
  - >> fputc
  [Called By]
  - >> RunResetButton
  - >> RunWaterReservoir
  - >> InitWaterReservoir
  - >> RunSpigot
  - >> InitSpigot
  - >> RunFlame
  - >> InitFlame
  - >> main

  __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  _printf_cs_common (Thumb, 20 bytes, Stack size 8 bytes, _printf_char.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = _printf_cs_common ⇒ _printf_str
  [Calls]
  - >> _printf_str
  [Called By]
  - >> _printf_string
  - >> _printf_char

  _printf_char (Thumb, 16 bytes, Stack size 0 bytes, _printf_char.o(.text), UNUSED)
  [Calls]

  - >> _printf_cs_common

  _printf_string (Thumb, 8 bytes, Stack size 0 bytes, _printf_char.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = _printf_string ⇒ _printf_cs_common ⇒ _printf_str
  [Calls]
  - >> _printf_cs_common
  [Called By]
  - >> _printf_s

  _printf_char_file (Thumb, 32 bytes, Stack size 16 bytes, _printf_char_file.o(.text))
  [Stack]

  - Max Depth = 104 + Unknown Stack Size
  - Call Chain = _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> ferror
  - >> _printf_char_common
  [Called By]
  - >> __2printf

  _printf_char_common (Thumb, 32 bytes, Stack size 64 bytes, _printf_char_common.o(.text))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_char_common ⇒ __printf
  [Calls]
  - >> __printf
  [Called By]
  - >> _printf_char_file

  __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __user_setup_stackheap
  [Calls]
  - >> __user_initial_stackheap
  - >> __user_perproc_libspace
  [Called By]
  - >> __rt_entry_sh

  exit (Thumb, 12 bytes, Stack size 0 bytes, exit.o(.text))
  [Calls]

  - >> __rt_exit
  [Called By]
  - >> __rt_entry_main

  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  ADC_MultiInit (Thumb, 170 bytes, Stack size 8 bytes, admulti.o(i.ADC_MultiInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = ADC_MultiInit
  [Called By]
  - >> InitWaterReservoir

  ADC_MultiRead (Thumb, 46 bytes, Stack size 12 bytes, admulti.o(i.ADC_MultiRead))
  [Stack]

  - Max Depth = 12
  - Call Chain = ADC_MultiRead
  [Called By]
  - >> RunWaterReservoir
  - >> InitWaterReservoir

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

  - >> ES_EnQueueFIFO
  - >> ES_DeQueue

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

  - >> ES_EnQueueFIFO
  - >> ES_DeQueue

  Check4Keystroke (Thumb, 178 bytes, Stack size 8 bytes, eventcheckers.o(i.Check4Keystroke))
  [Stack]

  - Max Depth = 136 + Unknown Stack Size
  - Call Chain = Check4Keystroke ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> kbhit
  - >> PostWaterReservoir
  - >> PostWaterGun
  - >> PostSpigot
  - >> PostServo
  - >> PostFlame
  - >> getc
  - >> __2printf
  [Address Reference Count : 1]
  - es_checkevents.o(.constdata)

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

  - es_checkevents.o(.constdata)

  CheckPulse (Thumb, 80 bytes, Stack size 24 bytes, watergun.o(i.CheckPulse))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = CheckPulse ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> ES_Timer_GetTime
  - >> PostWaterGun
  - >> PostFlame
  - >> __2printf
  [Address Reference Count : 1]
  - es_checkevents.o(.constdata)

  CheckResetButton (Thumb, 42 bytes, Stack size 16 bytes, eventcheckers.o(i.CheckResetButton))
  [Stack]

  - Max Depth = 40
  - Call Chain = CheckResetButton ⇒ PostResetButton ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> PostResetButton
  [Address Reference Count : 1]
  - es_checkevents.o(.constdata)

  CheckSpigotEvents (Thumb, 224 bytes, Stack size 16 bytes, spigot.o(i.CheckSpigotEvents))
  [Stack]

  - Max Depth = 40
  - Call Chain = CheckSpigotEvents ⇒ PostWaterReservoir ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> PostWaterReservoir
  - >> PostWaterGun
  - >> PostSpigot
  [Address Reference Count : 1]
  - es_checkevents.o(.constdata)

  CheckTrigPull (Thumb, 46 bytes, Stack size 16 bytes, trigger.o(i.CheckTrigPull))
  [Stack]

  - Max Depth = 40
  - Call Chain = CheckTrigPull ⇒ PostTrigger ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> PostTrigger
  [Address Reference Count : 1]
  - es_checkevents.o(.constdata)

  CheckTrigRelease (Thumb, 44 bytes, Stack size 16 bytes, trigger.o(i.CheckTrigRelease))
  [Stack]

  - Max Depth = 40
  - Call Chain = CheckTrigRelease ⇒ PostTrigger ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> PostTrigger
  [Address Reference Count : 1]
  - es_checkevents.o(.constdata)

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

  - >> RunWaterGun

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

  - >> RunWaterGun

  ES_CheckUserEvents (Thumb, 34 bytes, Stack size 16 bytes, es_checkevents.o(i.ES_CheckUserEvents))
  [Stack]

  - Max Depth = 16
  - Call Chain = ES_CheckUserEvents
  [Called By]
  - >> ES_Run

  ES_DeQueue (Thumb, 80 bytes, Stack size 16 bytes, es_queue.o(i.ES_DeQueue))
  [Stack]

  - Max Depth = 16
  - Call Chain = ES_DeQueue
  [Calls]
  - >> CPUsetPRIMASK
  - >> CPUgetPRIMASK_cpsid
  [Called By]
  - >> ES_Run

  ES_EnQueueFIFO (Thumb, 66 bytes, Stack size 16 bytes, es_queue.o(i.ES_EnQueueFIFO))
  [Stack]

  - Max Depth = 16
  - Call Chain = ES_EnQueueFIFO
  [Calls]
  - >> CPUsetPRIMASK
  - >> CPUgetPRIMASK_cpsid
  [Called By]
  - >> ES_PostAll
  - >> ES_PostToService

  ES_GetMSBitSet (Thumb, 48 bytes, Stack size 8 bytes, es_lookuptables.o(i.ES_GetMSBitSet))
  [Stack]

  - Max Depth = 8
  - Call Chain = ES_GetMSBitSet
  [Called By]
  - >> ES_Run
  - >> ES_Timer_Tick_Resp

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

  - >> ES_Initialize

  ES_Initialize (Thumb, 72 bytes, Stack size 16 bytes, es_framework.o(i.ES_Initialize))
  [Stack]

  - Max Depth = 32
  - Call Chain = ES_Initialize ⇒ ES_Timer_Init ⇒ _HW_Timer_Init ⇒ IntMasterEnable
  [Calls]
  - >> ES_Timer_Init
  - >> ES_InitQueue
  [Called By]
  - >> main

  ES_PostAll (Thumb, 58 bytes, Stack size 24 bytes, es_framework.o(i.ES_PostAll))
  [Stack]

  - Max Depth = 40
  - Call Chain = ES_PostAll ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_EnQueueFIFO
  [Called By]
  - >> RunResetButton

  ES_PostToService (Thumb, 42 bytes, Stack size 8 bytes, es_framework.o(i.ES_PostToService))
  [Stack]

  - Max Depth = 24
  - Call Chain = ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_EnQueueFIFO
  [Called By]
  - >> PostTrigger
  - >> ShortTimerBHandler
  - >> ShortTimerAHandler
  - >> PostWaterReservoir
  - >> PostWaterGun
  - >> PostSpigot
  - >> PostServo
  - >> PostResetButton
  - >> PostFlame

  ES_Run (Thumb, 84 bytes, Stack size 16 bytes, es_framework.o(i.ES_Run))
  [Stack]

  - Max Depth = 48
  - Call Chain = ES_Run ⇒ _HW_Process_Pending_Ints ⇒ ES_Timer_Tick_Resp ⇒ ES_GetMSBitSet
  [Calls]
  - >> _HW_Process_Pending_Ints
  - >> ES_GetMSBitSet
  - >> ES_DeQueue
  - >> ES_CheckUserEvents
  [Called By]
  - >> main

  ES_Timer_GetTime (Thumb, 4 bytes, Stack size 0 bytes, es_timers.o(i.ES_Timer_GetTime))
  [Calls]

  - >> _HW_GetTickCount
  [Called By]
  - >> CheckPulse

  ES_Timer_Init (Thumb, 4 bytes, Stack size 0 bytes, es_timers.o(i.ES_Timer_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = ES_Timer_Init ⇒ _HW_Timer_Init ⇒ IntMasterEnable
  [Calls]
  - >> _HW_Timer_Init
  [Called By]
  - >> ES_Initialize

  ES_Timer_InitTimer (Thumb, 44 bytes, Stack size 0 bytes, es_timers.o(i.ES_Timer_InitTimer))
  [Called By]

  - >> RunResetButton
  - >> InitResetButton
  - >> RunWaterGun
  - >> RunTrigger
  - >> RunWaterReservoir
  - >> RunServo

  ES_Timer_Tick_Resp (Thumb, 90 bytes, Stack size 16 bytes, es_timers.o(i.ES_Timer_Tick_Resp))
  [Stack]

  - Max Depth = 24
  - Call Chain = ES_Timer_Tick_Resp ⇒ ES_GetMSBitSet
  [Calls]
  - >> ES_GetMSBitSet
  [Called By]
  - >> _HW_Process_Pending_Ints

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

  - >> RunWaterGun

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

  - >> GPIOPinTypePWM
  - >> GPIOPinTypeUART

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

  - Max Depth = 28
  - Call Chain = GPIOPadConfigSet
  [Called By]
  - >> GPIOPinTypePWM
  - >> GPIOPinTypeUART

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

  - >> PWM_TIVA_Init
  - >> TERMIO_Init

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

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

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

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

  InitFlame (Thumb, 134 bytes, Stack size 16 bytes, flame.o(i.InitFlame))
  [Stack]

  - Max Depth = 40
  - Call Chain = InitFlame ⇒ PostFlame ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> PostFlame
  - >> puts
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  InitResetButton (Thumb, 76 bytes, Stack size 8 bytes, resetbutton.o(i.InitResetButton))
  [Stack]

  - Max Depth = 8
  - Call Chain = InitResetButton
  [Calls]
  - >> ES_Timer_InitTimer
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  InitServo (Thumb, 54 bytes, Stack size 8 bytes, servosm.o(i.InitServo))
  [Stack]

  - Max Depth = 64
  - Call Chain = InitServo ⇒ PWM_TIVA_Init ⇒ GPIOPinTypePWM ⇒ GPIOPadConfigSet
  [Calls]
  - >> PWM_TIVA_SetFreq
  - >> PWM_TIVA_Init
  - >> PostServo
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  InitSpigot (Thumb, 108 bytes, Stack size 16 bytes, spigot.o(i.InitSpigot))
  [Stack]

  - Max Depth = 40
  - Call Chain = InitSpigot ⇒ PostSpigot ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> PostSpigot
  - >> puts
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  InitTrigger (Thumb, 72 bytes, Stack size 8 bytes, trigger.o(i.InitTrigger))
  [Stack]

  - Max Depth = 64
  - Call Chain = InitTrigger ⇒ PWM_TIVA_Init ⇒ GPIOPinTypePWM ⇒ GPIOPadConfigSet
  [Calls]
  - >> PWM_TIVA_Init
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  InitWaterGun (Thumb, 66 bytes, Stack size 8 bytes, watergun.o(i.InitWaterGun))
  [Stack]

  - Max Depth = 64
  - Call Chain = InitWaterGun ⇒ PWM_TIVA_Init ⇒ GPIOPinTypePWM ⇒ GPIOPadConfigSet
  [Calls]
  - >> PWM_TIVA_SetFreq
  - >> PWM_TIVA_Init
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  InitWaterReservoir (Thumb, 102 bytes, Stack size 16 bytes, waterreservoir.o(i.InitWaterReservoir))
  [Stack]

  - Max Depth = 40
  - Call Chain = InitWaterReservoir ⇒ PostWaterReservoir ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ADC_MultiRead
  - >> ADC_MultiInit
  - >> PostWaterReservoir
  - >> puts
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  IntMasterEnable (Thumb, 14 bytes, Stack size 8 bytes, interrupt.o(i.IntMasterEnable))
  [Stack]

  - Max Depth = 8
  - Call Chain = IntMasterEnable
  [Calls]
  - >> CPUcpsie
  [Called By]
  - >> _HW_Timer_Init

  PWMGenConfigure (Thumb, 38 bytes, Stack size 0 bytes, pwm.o(i.PWMGenConfigure))
  [Called By]

  - >> PWM_TIVA_Init

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

  - >> PWM_TIVA_Init

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

  - >> PWM_TIVA_SetFreq
  - >> PWM_TIVA_Init

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

  - >> PWM_TIVA_Init

  PWMPulseWidthSet (Thumb, 32 bytes, Stack size 0 bytes, pwm.o(i.PWMPulseWidthSet))
  [Called By]

  - >> PWM_TIVA_SetDuty
  - >> PWM_TIVA_SetPulseWidth

  PWM_TIVA_Init (Thumb, 176 bytes, Stack size 16 bytes, pwmtiva.o(i.PWM_TIVA_Init))
  [Stack]

  - Max Depth = 56
  - Call Chain = PWM_TIVA_Init ⇒ GPIOPinTypePWM ⇒ GPIOPadConfigSet
  [Calls]
  - >> SysCtlPWMClockSet
  - >> SysCtlClockGet
  - >> PWMOutputState
  - >> PWMGenPeriodSet
  - >> PWMGenEnable
  - >> PWMGenConfigure
  - >> GPIOPinTypePWM
  - >> GPIOPinConfigure
  - >> PWM_TIVA_SetDuty
  - >> SysCtlPeripheralEnable
  [Called By]
  - >> InitWaterGun
  - >> InitTrigger
  - >> InitServo

  PWM_TIVA_SetDuty (Thumb, 82 bytes, Stack size 8 bytes, pwmtiva.o(i.PWM_TIVA_SetDuty))
  [Stack]

  - Max Depth = 8
  - Call Chain = PWM_TIVA_SetDuty
  [Calls]
  - >> PWMPulseWidthSet
  [Called By]
  - >> RunWaterGun
  - >> UV_Stop_Pulse
  - >> Stop_Motor
  - >> PWM_TIVA_SetFreq
  - >> PWM_TIVA_Init

  PWM_TIVA_SetFreq (Thumb, 90 bytes, Stack size 16 bytes, pwmtiva.o(i.PWM_TIVA_SetFreq))
  [Stack]

  - Max Depth = 28
  - Call Chain = PWM_TIVA_SetFreq ⇒ SysCtlClockGet
  [Calls]
  - >> SysCtlClockGet
  - >> PWMGenPeriodSet
  - >> PWM_TIVA_SetDuty
  [Called By]
  - >> InitWaterGun
  - >> InitServo

  PWM_TIVA_SetPulseWidth (Thumb, 70 bytes, Stack size 0 bytes, pwmtiva.o(i.PWM_TIVA_SetPulseWidth))
  [Calls]

  - >> PWMPulseWidthSet
  [Called By]
  - >> RunServo

  PostFlame (Thumb, 10 bytes, Stack size 0 bytes, flame.o(i.PostFlame))
  [Stack]

  - Max Depth = 24
  - Call Chain = PostFlame ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_PostToService
  [Called By]
  - >> CheckPulse
  - >> InitFlame
  - >> Check4Keystroke

  PostResetButton (Thumb, 10 bytes, Stack size 0 bytes, resetbutton.o(i.PostResetButton))
  [Stack]

  - Max Depth = 24
  - Call Chain = PostResetButton ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_PostToService
  [Called By]
  - >> RunFlame
  - >> CheckResetButton
  [Address Reference Count : 1]
  - es_timers.o(.constdata)

  PostServo (Thumb, 10 bytes, Stack size 0 bytes, servosm.o(i.PostServo))
  [Stack]

  - Max Depth = 24
  - Call Chain = PostServo ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_PostToService
  [Called By]
  - >> RunFlame
  - >> InitServo
  - >> Check4Keystroke
  [Address Reference Count : 1]
  - es_timers.o(.constdata)

  PostSpigot (Thumb, 10 bytes, Stack size 0 bytes, spigot.o(i.PostSpigot))
  [Stack]

  - Max Depth = 24
  - Call Chain = PostSpigot ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_PostToService
  [Called By]
  - >> InitSpigot
  - >> CheckSpigotEvents
  - >> Check4Keystroke

  PostTrigger (Thumb, 10 bytes, Stack size 0 bytes, trigger.o(i.PostTrigger))
  [Stack]

  - Max Depth = 24
  - Call Chain = PostTrigger ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_PostToService
  [Called By]
  - >> CheckTrigRelease
  - >> CheckTrigPull
  [Address Reference Count : 1]
  - es_timers.o(.constdata)

  PostWaterGun (Thumb, 10 bytes, Stack size 0 bytes, watergun.o(i.PostWaterGun))
  [Stack]

  - Max Depth = 24
  - Call Chain = PostWaterGun ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_PostToService
  [Called By]
  - >> CheckPulse
  - >> RunTrigger
  - >> CheckSpigotEvents
  - >> Check4Keystroke
  [Address Reference Count : 1]
  - es_timers.o(.constdata)

  PostWaterReservoir (Thumb, 10 bytes, Stack size 0 bytes, waterreservoir.o(i.PostWaterReservoir))
  [Stack]

  - Max Depth = 24
  - Call Chain = PostWaterReservoir ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_PostToService
  [Called By]
  - >> InitWaterReservoir
  - >> CheckSpigotEvents
  - >> Check4Keystroke
  [Address Reference Count : 1]
  - es_timers.o(.constdata)

  RegisterClockPulse (Thumb, 30 bytes, Stack size 0 bytes, waterreservoir.o(i.RegisterClockPulse))
  [Called By]

  - >> turnOnLEDs

  RunFlame (Thumb, 360 bytes, Stack size 32 bytes, flame.o(i.RunFlame))
  [Stack]

  - Max Depth = 160 + Unknown Stack Size
  - Call Chain = RunFlame ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> PostServo
  - >> PostResetButton
  - >> puts
  - >> __2printf
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  RunResetButton (Thumb, 242 bytes, Stack size 32 bytes, resetbutton.o(i.RunResetButton))
  [Stack]

  - Max Depth = 160 + Unknown Stack Size
  - Call Chain = RunResetButton ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> ES_PostAll
  - >> ES_Timer_InitTimer
  - >> puts
  - >> __2printf
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  RunServo (Thumb, 276 bytes, Stack size 24 bytes, servosm.o(i.RunServo))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = RunServo ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> PWM_TIVA_SetPulseWidth
  - >> ES_Timer_InitTimer
  - >> __2printf
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  RunSpigot (Thumb, 208 bytes, Stack size 24 bytes, spigot.o(i.RunSpigot))
  [Stack]

  - Max Depth = 40
  - Call Chain = RunSpigot ⇒ puts ⇒ fputc
  [Calls]
  - >> puts
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  RunTrigger (Thumb, 84 bytes, Stack size 16 bytes, trigger.o(i.RunTrigger))
  [Stack]

  - Max Depth = 40
  - Call Chain = RunTrigger ⇒ PostWaterGun ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> ES_Timer_InitTimer
  - >> PostWaterGun
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  RunWaterGun (Thumb, 172 bytes, Stack size 24 bytes, watergun.o(i.RunWaterGun))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = RunWaterGun ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> UV_Stop_Pulse
  - >> Stop_Motor
  - >> EmptyReservoir
  - >> DecrementLED
  - >> CheckWater
  - >> PWM_TIVA_SetDuty
  - >> ES_Timer_InitTimer
  - >> __2printf
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  RunWaterReservoir (Thumb, 312 bytes, Stack size 32 bytes, waterreservoir.o(i.RunWaterReservoir))
  [Stack]

  - Max Depth = 48
  - Call Chain = RunWaterReservoir ⇒ puts ⇒ fputc
  [Calls]
  - >> turnOnLEDs
  - >> ES_Timer_InitTimer
  - >> ADC_MultiRead
  - >> puts
  [Address Reference Count : 1]
  - es_framework.o(.constdata)

  ShiftClockPulse (Thumb, 30 bytes, Stack size 0 bytes, waterreservoir.o(i.ShiftClockPulse))
  [Called By]

  - >> turnOnLEDs

  ShortTimerAHandler (Thumb, 42 bytes, Stack size 8 bytes, es_shorttimer.o(i.ShortTimerAHandler))
  [Stack]

  - Max Depth = 32
  - Call Chain = ShortTimerAHandler ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> TimerIntClear
  - >> ES_PostToService
  [Address Reference Count : 1]
  - startup_rvmdk.o(RESET)

  ShortTimerBHandler (Thumb, 46 bytes, Stack size 8 bytes, es_shorttimer.o(i.ShortTimerBHandler))
  [Stack]

  - Max Depth = 32
  - Call Chain = ShortTimerBHandler ⇒ ES_PostToService ⇒ ES_EnQueueFIFO
  [Calls]
  - >> TimerIntClear
  - >> ES_PostToService
  [Address Reference Count : 1]
  - startup_rvmdk.o(RESET)

  SysCtlClockGet (Thumb, 314 bytes, Stack size 12 bytes, sysctl.o(i.SysCtlClockGet))
  [Stack]

  - Max Depth = 12
  - Call Chain = SysCtlClockGet
  [Called By]
  - >> PWM_TIVA_SetFreq
  - >> PWM_TIVA_Init

  SysCtlClockSet (Thumb, 270 bytes, Stack size 8 bytes, sysctl.o(i.SysCtlClockSet))
  [Stack]

  - Max Depth = 8
  - Call Chain = SysCtlClockSet
  [Calls]
  - >> SysCtlDelay
  [Called By]
  - >> main

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

  - >> PWM_TIVA_Init

  SysCtlPeripheralEnable (Thumb, 36 bytes, Stack size 0 bytes, sysctl.o(i.SysCtlPeripheralEnable))
  [Called By]

  - >> PWM_TIVA_Init
  - >> TERMIO_Init

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

  - >> _HW_Timer_Init

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

  - >> _HW_Timer_Init

  SysTickIntHandler (Thumb, 16 bytes, Stack size 0 bytes, es_port.o(i.SysTickIntHandler))
  [Address Reference Count : 1]

  - startup_rvmdk.o(RESET)

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

  - >> _HW_Timer_Init

  TERMIO_GetChar (Thumb, 4 bytes, Stack size 0 bytes, termio.o(i.TERMIO_GetChar))
  [Stack]

  - Max Depth = 8
  - Call Chain = TERMIO_GetChar ⇒ UARTgetc
  [Calls]
  - >> UARTgetc
  [Called By]
  - >> fgetc

  TERMIO_Init (Thumb, 62 bytes, Stack size 8 bytes, termio.o(i.TERMIO_Init))
  [Stack]

  - Max Depth = 48
  - Call Chain = TERMIO_Init ⇒ GPIOPinTypeUART ⇒ GPIOPadConfigSet
  [Calls]
  - >> GPIOPinConfigure
  - >> SysCtlPeripheralEnable
  - >> UARTStdioConfig
  - >> UARTClockSourceSet
  - >> GPIOPinTypeUART
  [Called By]
  - >> main

  TERMIO_PutChar (Thumb, 8 bytes, Stack size 0 bytes, termio.o(i.TERMIO_PutChar))
  [Calls]

  - >> UARTCharPut
  [Called By]
  - >> fputc

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

  - >> ShortTimerBHandler
  - >> ShortTimerAHandler

  UARTCharPut (Thumb, 12 bytes, Stack size 0 bytes, uart.o(i.UARTCharPut))
  [Calls]

  - >> UARTCharPut
  [Called By]
  - >> UARTCharPut
  - >> TERMIO_PutChar

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

  - >> TERMIO_Init

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

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

  UARTgetc (Thumb, 20 bytes, Stack size 8 bytes, uartstdio.o(i.UARTgetc))
  [Stack]

  - Max Depth = 8
  - Call Chain = UARTgetc
  [Called By]
  - >> TERMIO_GetChar

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

  - >> ES_Timer_GetTime

  _HW_Process_Pending_Ints (Thumb, 26 bytes, Stack size 8 bytes, es_port.o(i._HW_Process_Pending_Ints))
  [Stack]

  - Max Depth = 32
  - Call Chain = _HW_Process_Pending_Ints ⇒ ES_Timer_Tick_Resp ⇒ ES_GetMSBitSet
  [Calls]
  - >> ES_Timer_Tick_Resp
  [Called By]
  - >> ES_Run

  _HW_Timer_Init (Thumb, 22 bytes, Stack size 8 bytes, es_port.o(i._HW_Timer_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = _HW_Timer_Init ⇒ IntMasterEnable
  [Calls]
  - >> SysTickPeriodSet
  - >> SysTickIntEnable
  - >> SysTickEnable
  - >> IntMasterEnable
  [Called By]
  - >> ES_Timer_Init

  _sys_exit (Thumb, 2 bytes, Stack size 0 bytes, retarget.o(i._sys_exit))
  [Calls]

  - >> _sys_exit
  [Called By]
  - >> _sys_exit
  - >> __rt_exit_exit

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

  - >> _printf_char_file

  fgetc (Thumb, 4 bytes, Stack size 0 bytes, retarget.o(i.fgetc))
  [Stack]

  - Max Depth = 8
  - Call Chain = fgetc ⇒ TERMIO_GetChar ⇒ UARTgetc
  [Calls]
  - >> TERMIO_GetChar
  [Called By]
  - >> getc

  fputc (Thumb, 14 bytes, Stack size 8 bytes, retarget.o(i.fputc))
  [Stack]

  - Max Depth = 8
  - Call Chain = fputc
  [Calls]
  - >> TERMIO_PutChar
  [Called By]
  - >> puts
  [Address Reference Count : 1]
  - _printf_char_file.o(.text)

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

  - >> Check4Keystroke

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

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = main ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> TERMIO_Init
  - >> SysCtlClockSet
  - >> ES_Run
  - >> ES_Initialize
  - >> puts
  - >> __2printf
  [Called By]
  - >> __rt_entry_main

  turnOnLEDs (Thumb, 56 bytes, Stack size 12 bytes, waterreservoir.o(i.turnOnLEDs))
  [Stack]

  - Max Depth = 12
  - Call Chain = turnOnLEDs
  [Calls]
  - >> ShiftClockPulse
  - >> RegisterClockPulse
  [Called By]
  - >> RunWaterReservoir

  _fp_init (Thumb, 10 bytes, Stack size 0 bytes, fpinit.o(x$fpl$fpinit))
  [Called By]

  - >> __rt_lib_init_fp_1

  __fplib_config_fpu_vfp (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED)

  __fplib_config_pureend_doubles (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED)

  ### Local Symbols

  Stop_Motor (Thumb, 8 bytes, Stack size 0 bytes, watergun.o(i.Stop_Motor))
  [Stack]

  - Max Depth = 8
  - Call Chain = Stop_Motor ⇒ PWM_TIVA_SetDuty
  [Calls]
  - >> PWM_TIVA_SetDuty
  [Called By]
  - >> RunWaterGun

  UV_Stop_Pulse (Thumb, 8 bytes, Stack size 0 bytes, watergun.o(i.UV_Stop_Pulse))
  [Stack]

  - Max Depth = 8
  - Call Chain = UV_Stop_Pulse ⇒ PWM_TIVA_SetDuty
  [Calls]
  - >> PWM_TIVA_SetDuty
  [Called By]
  - >> RunWaterGun

  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)

  _printf_input_char (Thumb, 10 bytes, Stack size 0 bytes, _printf_char_common.o(.text))
  [Address Reference Count : 1]

  - _printf_char_common.o(.text)

  ### Undefined Global Symbols