# Static Call Graph for image .\out\WebServer.axf

#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 914]: Last Updated: Tue Apr 15 08:12:30 2008

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

### Call chain for Maximum Stack Depth:

main ⇒ make_udp_reply_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank

### 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))
  [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

  verify_password (ARM, 52 bytes, Stack size 8 bytes, webserver.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = verify_password ⇒ strncmp
  [Calls]
  - >> strncmp (via Veneer)
  [Called By]
  - >> main

  analyse_get_url (ARM, 168 bytes, Stack size 0 bytes, webserver.o(.text))
  [Called By]

  - >> main

  moved_perm (ARM, 120 bytes, Stack size 16 bytes, webserver.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = moved_perm
  [Calls]
  - >> fill_tcp_data_p
  - >> fill_tcp_data
  [Called By]
  - >> main

  print_webpage (ARM, 500 bytes, Stack size 16 bytes, webserver.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = print_webpage
  [Calls]
  - >> fill_tcp_data_p
  [Called By]
  - >> main

  main (ARM, 1480 bytes, Stack size 72 bytes, webserver.o(.text))
  [Stack]

  - Max Depth = 136
  - Call Chain = main ⇒ make_udp_reply_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> strlen (via Veneer)
  - >> strncmp (via Veneer)
  - >> strcpy (via Veneer)
  - >> make_udp_reply_from_request
  - >> make_tcp_synack_from_syn
  - >> make_tcp_ack_with_data
  - >> make_tcp_ack_from_any
  - >> make_echo_reply_from_request
  - >> make_arp_answer_from_request
  - >> init_len_info
  - >> init_ip_arp_udp_tcp
  - >> get_tcp_data_pointer
  - >> fill_tcp_data_p
  - >> eth_type_is_ip_and_my_ip
  - >> eth_type_is_arp_and_my_ip
  - >> enc28j60clkout
  - >> enc28j60PhyWrite
  - >> enc28j60PacketReceive
  - >> enc28j60Init
  - >> delay_ms
  - >> print_webpage
  - >> moved_perm
  - >> analyse_get_url
  - >> verify_password
  [Address Reference Count : 1]
  - kernel.o(.text)

  _delay_us (ARM, 40 bytes, Stack size 0 bytes, enc28j60.o(.text))
  [Called By]

  - >> enc28j60PhyReadH
  - >> enc28j60PhyWrite

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

  - >> enc28j60Init
  - >> main

  enc28j60ReadOp (ARM, 152 bytes, Stack size 0 bytes, enc28j60.o(.text))
  [Called By]

  - >> enc28j60Read
  - >> enc28j60PacketReceive

  enc28j60WriteOp (ARM, 92 bytes, Stack size 0 bytes, enc28j60.o(.text))
  [Called By]

  - >> enc28j60PacketSend
  - >> enc28j60Write
  - >> enc28j60SetBank
  - >> enc28j60PacketReceive
  - >> enc28j60Init

  enc28j60ReadBuffer (ARM, 140 bytes, Stack size 0 bytes, enc28j60.o(.text))
  [Called By]

  - >> enc28j60PacketReceive

  enc28j60WriteBuffer (ARM, 120 bytes, Stack size 0 bytes, enc28j60.o(.text))
  [Called By]

  - >> enc28j60PacketSend

  enc28j60SetBank (ARM, 84 bytes, Stack size 8 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = enc28j60SetBank
  [Calls]
  - >> enc28j60WriteOp
  [Called By]
  - >> enc28j60Write
  - >> enc28j60Read
  - >> enc28j60Init

  enc28j60Read (ARM, 36 bytes, Stack size 8 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = enc28j60Read ⇒ enc28j60SetBank
  [Calls]
  - >> enc28j60SetBank
  - >> enc28j60ReadOp
  [Called By]
  - >> enc28j60PacketSend
  - >> enc28j60getrev
  - >> enc28j60PhyReadH
  - >> enc28j60PhyWrite
  - >> enc28j60PacketReceive

  enc28j60Write (ARM, 44 bytes, Stack size 12 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> enc28j60SetBank
  - >> enc28j60WriteOp
  [Called By]
  - >> enc28j60PacketSend
  - >> enc28j60PhyReadH
  - >> enc28j60clkout
  - >> enc28j60PhyWrite
  - >> enc28j60PacketReceive
  - >> enc28j60Init

  enc28j60PhyReadH (ARM, 88 bytes, Stack size 8 bytes, enc28j60.o(.text), UNUSED)
  [Calls]

  - >> enc28j60Write
  - >> enc28j60Read
  - >> _delay_us
  [Called By]
  - >> enc28j60linkup

  enc28j60PhyWrite (ARM, 84 bytes, Stack size 12 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = enc28j60PhyWrite ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> enc28j60Write
  - >> enc28j60Read
  - >> _delay_us
  [Called By]
  - >> enc28j60Init
  - >> main

  enc28j60clkout (ARM, 28 bytes, Stack size 8 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = enc28j60clkout ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> enc28j60Write
  [Called By]
  - >> main

  enc28j60Init (ARM, 572 bytes, Stack size 8 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = enc28j60Init ⇒ enc28j60PhyWrite ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> enc28j60Write
  - >> enc28j60SetBank
  - >> enc28j60WriteOp
  - >> enc28j60PhyWrite
  - >> delay_ms
  [Called By]
  - >> main

  enc28j60getrev (ARM, 20 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
  [Calls]

  - >> enc28j60Read

  enc28j60linkup (ARM, 44 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
  [Calls]

  - >> enc28j60PhyReadH

  enc28j60PacketSend (ARM, 160 bytes, Stack size 12 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> enc28j60Write
  - >> enc28j60Read
  - >> enc28j60WriteBuffer
  - >> enc28j60WriteOp
  [Called By]
  - >> make_udp_reply_from_request
  - >> make_tcp_synack_from_syn
  - >> make_tcp_ack_with_data
  - >> make_tcp_ack_from_any
  - >> make_echo_reply_from_request
  - >> make_arp_answer_from_request

  enc28j60PacketReceive (ARM, 324 bytes, Stack size 20 bytes, enc28j60.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = enc28j60PacketReceive ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> enc28j60Write
  - >> enc28j60Read
  - >> enc28j60ReadBuffer
  - >> enc28j60WriteOp
  - >> enc28j60ReadOp
  [Called By]
  - >> main

  checksum (ARM, 160 bytes, Stack size 4 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = checksum
  [Called By]
  - >> fill_ip_hdr_checksum
  - >> make_udp_reply_from_request
  - >> make_tcp_synack_from_syn
  - >> make_tcp_ack_with_data
  - >> make_tcp_ack_from_any

  init_ip_arp_udp_tcp (ARM, 92 bytes, Stack size 4 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = init_ip_arp_udp_tcp
  [Called By]
  - >> main

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

  - >> main

  eth_type_is_ip_and_my_ip (ARM, 136 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
  [Called By]

  - >> main

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

  - >> make_udp_reply_from_request
  - >> make_tcp_synack_from_syn
  - >> make_tcp_ack_from_any
  - >> make_echo_reply_from_request
  - >> make_arp_answer_from_request

  fill_ip_hdr_checksum (ARM, 84 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = fill_ip_hdr_checksum ⇒ checksum
  [Calls]
  - >> checksum
  [Called By]
  - >> make_ip
  - >> make_tcp_ack_with_data

  make_ip (ARM, 80 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = make_ip ⇒ fill_ip_hdr_checksum ⇒ checksum
  [Calls]
  - >> fill_ip_hdr_checksum
  [Called By]
  - >> make_udp_reply_from_request
  - >> make_tcp_synack_from_syn
  - >> make_tcp_ack_from_any
  - >> make_echo_reply_from_request

  make_tcphead (ARM, 304 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = make_tcphead
  [Called By]
  - >> make_tcp_synack_from_syn
  - >> make_tcp_ack_from_any

  make_arp_answer_from_request (ARM, 164 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = make_arp_answer_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> make_eth
  - >> enc28j60PacketSend
  [Called By]
  - >> main

  make_echo_reply_from_request (ARM, 92 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = make_echo_reply_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> make_ip
  - >> make_eth
  - >> enc28j60PacketSend
  [Called By]
  - >> main

  make_udp_reply_from_request (ARM, 192 bytes, Stack size 32 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = make_udp_reply_from_request ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> make_ip
  - >> make_eth
  - >> checksum
  - >> enc28j60PacketSend
  [Called By]
  - >> main

  make_tcp_synack_from_syn (ARM, 120 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = make_tcp_synack_from_syn ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> make_tcphead
  - >> make_ip
  - >> make_eth
  - >> checksum
  - >> enc28j60PacketSend
  [Called By]
  - >> main

  get_tcp_data_pointer (ARM, 48 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
  [Called By]

  - >> main

  init_len_info (ARM, 136 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
  [Called By]

  - >> main

  fill_tcp_data_p (ARM, 44 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
  [Called By]

  - >> main
  - >> print_webpage
  - >> moved_perm

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

  - >> moved_perm

  make_tcp_ack_from_any (ARM, 172 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = make_tcp_ack_from_any ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> make_tcphead
  - >> make_ip
  - >> make_eth
  - >> checksum
  - >> enc28j60PacketSend
  [Called By]
  - >> main

  make_tcp_ack_with_data (ARM, 120 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = make_tcp_ack_with_data ⇒ enc28j60PacketSend ⇒ enc28j60Write ⇒ enc28j60SetBank
  [Calls]
  - >> fill_ip_hdr_checksum
  - >> checksum
  - >> enc28j60PacketSend
  [Called By]
  - >> main

  strcpy (Thumb, 74 bytes, Stack size 12 bytes, strcpy.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strcpy
  [Called By]
  - >> main (via Veneer)

  strncmp (Thumb, 76 bytes, Stack size 12 bytes, strncmp.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strncmp
  [Called By]
  - >> main (via Veneer)
  - >> verify_password (via Veneer)

  strlen (Thumb, 68 bytes, Stack size 8 bytes, strlen.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = strlen
  [Called By]
  - >> main (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

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