# Static Call Graph for image D:\ARM\LPC2103\Keil\tmr0_ex2\tmr0_irq.axf

#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 934]: Last Updated: Sat Sep 13 14:59:33 2008

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

### Call chain for Maximum Stack Depth:

__main ⇒ __rt_entry ⇒ __rt_lib_init ⇒ _fp_init

### Functions with no stack information

- Reset_Handler
- __user_initial_stackheap
- Undef_Handler
- SWI_Handler
- PAbt_Handler
- DAbt_Handler
- IRQ_Handler
- FIQ_Handler

### Mutually Recursive functions

- Undef_Handler ⇒ Undef_Handler
- SWI_Handler ⇒ SWI_Handler
- PAbt_Handler ⇒ PAbt_Handler
- DAbt_Handler ⇒ DAbt_Handler
- IRQ_Handler ⇒ IRQ_Handler
- FIQ_Handler ⇒ FIQ_Handler

  ### Function Pointers

  - Reset_Handler
  - Undef_Handler
  - SWI_Handler
  - PAbt_Handler
  - DAbt_Handler
  - IRQ_Handler
  - FIQ_Handler
  - __main
  - __ARM_get_argv
  - main
  - __I_use_semihosting

  ### Global Symbols

  Reset_Handler (ARM, 0 bytes, Stack size unknown bytes, startup.o(RESET))

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

  - Max Depth = 64 + Unknown Stack Size
  - Call Chain = __main ⇒ __rt_entry ⇒ __rt_lib_init ⇒ _fp_init
  [Calls]
  - >> __scatterload
  - >> __rt_entry

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

  - >> __main

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

  - >> __rt_entry

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

  __scatterload_zeroinit (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

  __ARM_argv_veneer (ARM, 16 bytes, Stack size 0 bytes, lib_init.o(.emb_text))
  [Called By]

  - >> __rt_lib_init (via Veneer)

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

  - >> __user_setup_stackheap

  T0isr (ARM, 104 bytes, Stack size 8 bytes, tmr0_irq_main.o(.text), UNUSED)

  tmrInit (ARM, 72 bytes, Stack size 0 bytes, tmr0_irq_main.o(.text))
  [Called By]

  - >> main

  main (ARM, 128 bytes, Stack size 8 bytes, tmr0_irq_main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = main
  [Calls]
  - >> sysInit
  - >> tmrInit
  [Address Reference Count : 1]
  - kernel.o(.text)

  sysInit (ARM, 116 bytes, Stack size 0 bytes, system.o(.text))
  [Called By]

  - >> main

  __use_two_region_memory (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)

  __rt_stackheap_init (ARM, 36 bytes, Stack size 16 bytes, stkheap2.o(.text))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = __rt_stackheap_init ⇒ __user_setup_stackheap
  [Calls]
  - >> __rt_stackheap_storage
  - >> __user_setup_stackheap
  [Called By]
  - >> __rt_entry

  __rt_heap_extend (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
  [Calls]

  - >> __user_heap_extend (Weak Reference)

  __rt_entry (ARM, 76 bytes, Stack size 16 bytes, kernel.o(.text))
  [Stack]

  - Max Depth = 64 + Unknown Stack Size
  - Call Chain = __rt_entry ⇒ __rt_lib_init ⇒ _fp_init
  [Calls]
  - >> _platform_post_lib_init
  - >> _platform_post_stackheap_init
  - >> __rt_lib_init (via Veneer)
  - >> exit (via BX)
  - >> __rt_stackheap_init
  [Called By]
  - >> __scatterload_rt2
  - >> __main

  __rt_exit (ARM, 20 bytes, Stack size 8 bytes, kernel.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __rt_exit ⇒ __rt_lib_shutdown
  [Calls]
  - >> __rt_lib_shutdown (via Veneer)
  [Called By]
  - >> exit (via Veneer)

  __rt_abort (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
  [Calls]

  - >> _sys_exit

  __user_setup_stackheap (ARM, 96 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
  [Stack]

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

  __rt_stackheap_storage (ARM, 12 bytes, Stack size 0 bytes, rt_stackheap_storage_intlibspace.o(.text))
  [Called By]

  - >> __rt_stackheap_init

  _sys_exit (ARM, 20 bytes, Stack size 0 bytes, sys_exit.o(.text), UNUSED)
  [Called By]

  - >> __rt_abort

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

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

  - >> __user_setup_stackheap

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

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

  - Max Depth = 16
  - Call Chain = exit ⇒ __rt_exit ⇒ __rt_lib_shutdown
  [Calls]
  - >> _call_atexit_fns (Weak Reference)
  - >> __rt_exit (via Veneer)
  [Called By]
  - >> __rt_entry

  __rt_lib_init (Thumb, 184 bytes, Stack size 40 bytes, lib_init.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = __rt_lib_init ⇒ _fp_init
  [Calls]
  - >> _fp_init (via Veneer)
  - >> __rt_locale (via Veneer)
  - >> _signal_init (Weak Reference)
  - >> _rand_init (Weak Reference)
  - >> _initio (Weak Reference)
  - >> _init_user_alloc (Weak Reference)
  - >> _init_alloc (Weak Reference)
  - >> _getenv_init (Weak Reference)
  - >> _get_lc_time (Weak Reference)
  - >> _get_lc_numeric (Weak Reference)
  - >> _get_lc_monetary (Weak Reference)
  - >> _get_lc_ctype (Weak Reference)
  - >> _get_lc_collate (Weak Reference)
  - >> _fp_trap_init (Weak Reference)
  - >> _clock_init (Weak Reference)
  - >> _atexit_init (Weak Reference)
  - >> __cpp_initialize__aeabi_ (Weak Reference)
  - >> __alloca_initialize (Weak Reference)
  - >> __Heap_DescSize (Weak Reference)
  - >> __ARM_exceptions_init (Weak Reference)
  - >> __ARM_argv_veneer (via Veneer)
  [Called By]
  - >> __rt_entry (via Veneer)

  __rt_lib_shutdown (Thumb, 22 bytes, Stack size 8 bytes, lib_init.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __rt_lib_shutdown
  [Calls]
  - >> _terminateio (Weak Reference)
  - >> _terminate_user_alloc (Weak Reference)
  - >> __cxa_finalize (Weak Reference)
  [Called By]
  - >> __rt_exit (via Veneer)

  _platform_post_stackheap_init (ARM, 12 bytes, Stack size 0 bytes, boardinit2.o(.text))
  [Called By]

  - >> __rt_entry

  _platform_post_lib_init (ARM, 16 bytes, Stack size 8 bytes, boardinit3.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _platform_post_lib_init
  [Called By]
  - >> __rt_entry

  __I_use_semihosting (ARM, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text))
  [Address Reference Count : 1]

  - sys_exit.o(.text)

  __use_no_semihosting_swi (ARM, 4 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __rt_locale (ARM, 12 bytes, Stack size 0 bytes, rt_locale_intlibspace.o(.text))
  [Called By]

  - >> __rt_lib_init (via Veneer)

  __ARM_get_argv (Thumb, 6 bytes, Stack size 4 bytes, no_argv.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = __ARM_get_argv
  [Address Reference Count : 1]
  - lib_init.o(.emb_text)

  __rt_fp_status_addr (ARM, 12 bytes, Stack size 0 bytes, rt_fp_status_addr_intlibspace.o(.text))
  [Called By]

  - >> _fp_init

  _fp_init (ARM, 24 bytes, Stack size 8 bytes, fpinit.o(x$fpl$fpinit))
  [Stack]

  - Max Depth = 8
  - Call Chain = _fp_init
  [Calls]
  - >> __rt_fp_status_addr
  [Called By]
  - >> __rt_lib_init (via Veneer)

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

  ### Local Symbols

  Undef_Handler (ARM, 4 bytes, Stack size unknown bytes, startup.o(RESET))
  [Calls]

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

  SWI_Handler (ARM, 4 bytes, Stack size unknown bytes, startup.o(RESET))
  [Calls]

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

  PAbt_Handler (ARM, 4 bytes, Stack size unknown bytes, startup.o(RESET))
  [Calls]

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

  DAbt_Handler (ARM, 4 bytes, Stack size unknown bytes, startup.o(RESET))
  [Calls]

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

  IRQ_Handler (ARM, 4 bytes, Stack size unknown bytes, startup.o(RESET))
  [Calls]

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

  FIQ_Handler (ARM, 4 bytes, Stack size unknown bytes, startup.o(RESET))
  [Calls]

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

  ### Undefined Global Symbols

  __ARM_exceptions_init (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  __Heap_DescSize (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  __alloca_initialize (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  __cpp_initialize__aeabi_ (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  __cxa_finalize (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_shutdown (Weak Reference)

  __user_heap_extend (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED, UNUSED)
  [Called By]

  - >> __rt_heap_extend (Weak Reference)

  _atexit_init (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _call_atexit_fns (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> exit (Weak Reference)

  _clock_init (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _fp_trap_init (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _get_lc_collate (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _get_lc_ctype (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _get_lc_monetary (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _get_lc_numeric (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _get_lc_time (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _getenv_init (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _init_alloc (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _init_user_alloc (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _initio (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _rand_init (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _signal_init (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_init (Weak Reference)

  _terminate_user_alloc (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_shutdown (Weak Reference)

  _terminateio (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __rt_lib_shutdown (Weak Reference)