# Static Call Graph for image C:\Documents and Settings\Administrator\My Documents\ETT_Work\ET_REMOTE_MP3_V2\Ex_ET_Remote mp3\MCU_3V3\ARM7_LPC2138\TRIG_MODE\Ex1_Trig_By_Cmm\Trig_By_Cmm.axf

#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 934]: Last Updated: Mon Jun 11 09:21:06 2012

### 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
  - fputc
  - main
  - _printf_outstr_char
  - _printf_input_char

  ### Global Symbols

  Reset_Handler (ARM, 0 bytes, Stack size unknown bytes, startup.o(RESET))
  [Address Reference Count : 1]

  - 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_copy (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
  [Calls]

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

  __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

  TM0_CNT (ARM, 52 bytes, Stack size 8 bytes, trig_by_cmm.o(.text), UNUSED)

  Timer0_Init (ARM, 52 bytes, Stack size 0 bytes, trig_by_cmm.o(.text))
  [Called By]

  - >> main

  delay_ms (ARM, 60 bytes, Stack size 0 bytes, trig_by_cmm.o(.text))
  [Called By]

  - >> main
  - >> chk_cmm

  Rx0_data (ARM, 132 bytes, Stack size 32 bytes, trig_by_cmm.o(.text), UNUSED)
  [Calls]

  - >> getkey

  UART0_Init (ARM, 84 bytes, Stack size 0 bytes, trig_by_cmm.o(.text))
  [Called By]

  - >> main

  Init_Port (ARM, 56 bytes, Stack size 0 bytes, trig_by_cmm.o(.text))
  [Called By]

  - >> main

  chk_cmm (ARM, 1316 bytes, Stack size 16 bytes, trig_by_cmm.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = chk_cmm ⇒ __1printf
  [Calls]
  - >> __1printf (via Veneer)
  - >> delay_ms
  [Called By]
  - >> main

  main (ARM, 44 bytes, Stack size 8 bytes, trig_by_cmm.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = main ⇒ chk_cmm ⇒ __1printf
  [Calls]
  - >> __1printf (via Veneer)
  - >> chk_cmm
  - >> Init_Port
  - >> UART0_Init
  - >> delay_ms
  - >> Timer0_Init
  [Address Reference Count : 1]
  - kernel.o(.text)

  fputc (ARM, 28 bytes, Stack size 16 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = fputc
  [Calls]
  - >> sendchar
  [Address Reference Count : 1]
  - __0printf.o(.text)

  ferror (ARM, 12 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)
  [Called By]

  - >> __0printf (via Veneer)

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

  - >> sendchar

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

  - >> __rt_abort

  sendchar (ARM, 80 bytes, Stack size 0 bytes, serial.o(.text))
  [Called By]

  - >> _ttywrch
  - >> fputc

  getkey (ARM, 32 bytes, Stack size 0 bytes, serial.o(.text), UNUSED)
  [Called By]

  - >> Rx0_data

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

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

  __0printf (Thumb, 46 bytes, Stack size 24 bytes, __0printf.o(.text), UNUSED)
  [Calls]

  - >> _printf_char_common
  - >> ferror (via Veneer)

  __1printf (Thumb, 0 bytes, Stack size 24 bytes, __0printf.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __1printf
  [Called By]
  - >> main (via Veneer)
  - >> chk_cmm (via Veneer)

  __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

  _printf_char_common (Thumb, 44 bytes, Stack size 88 bytes, _printf_char_common.o(.text), UNUSED)
  [Calls]

  - >> __printf
  [Called By]
  - >> __0printf

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

  __printf (Thumb, 748 bytes, Stack size 48 bytes, __printf.o(.text), UNUSED)
  [Calls]

  - >> __ARM_call_via_r3
  - >> __ARM_call_via_r2
  - >> __ARM_call_via_r1
  - >> _printf_wctomb (Weak Reference)
  - >> _printf_wc (Weak Reference)
  - >> _printf_str (Weak Reference)
  - >> _printf_mbtowc (Weak Reference)
  - >> _printf_longlong_oct (Weak Reference)
  - >> _printf_longlong_hex (Weak Reference)
  - >> _printf_longlong_dec (Weak Reference)
  - >> _printf_int_dec (Weak Reference)
  - >> _printf_fp_hex (Weak Reference)
  - >> _printf_fp_dec (Weak Reference)
  - >> _printf_charcount (Weak Reference)
  [Called By]
  - >> _printf_char_common

  _printf_return_value (Thumb, 2 bytes, Stack size 0 bytes, __printf.o(.text), UNUSED)

  _printf_percent (Thumb, 2 bytes, Stack size 0 bytes, __printf.o(.text), UNUSED)

  _printf_sizespec (Thumb, 2 bytes, Stack size 0 bytes, __printf.o(.text), UNUSED)

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

  - Max Depth = 16 + Unknown Stack Size
  - Call Chain = _printf_outstr_char
  [Calls]
  - >> __ARM_call_via_r2
  [Address Reference Count : 1]
  - _printf_char_common.o(.text)

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

  - _printf_char_common.o(.text)

  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

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

  __ARM_call_via_r0 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __call_via_r0 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __ARM_call_via_r1 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
  [Called By]

  - >> __printf

  __call_via_r1 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __ARM_call_via_r2 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text))
  [Called By]

  - >> _printf_outstr_char
  - >> __printf

  __call_via_r2 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __ARM_call_via_r3 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
  [Called By]

  - >> __printf

  __call_via_r3 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __ARM_call_via_r4 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __call_via_r4 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __ARM_call_via_r5 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __call_via_r5 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __ARM_call_via_r6 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __call_via_r6 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __ARM_call_via_r7 (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

  __call_via_r7 (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)

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

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (Weak Reference)

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

  - >> __printf (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)