Static Call Graph - [.\output\Full.axf]

# Static Call Graph for image .\output\Full.axf

#<CALLGRAPH># ARM Linker, 4.1 [Build 791]: Last Updated: Tue Jun 26 18:46:36 2012

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

### Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ CAN_Test ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf

### Functions with no stack information

- __user_initial_stackheap

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemManage_Handler ⇒ MemManage_Handler
- BusFault_Handler ⇒ BusFault_Handler
- UsageFault_Handler ⇒ UsageFault_Handler
- SVC_Handler ⇒ SVC_Handler
- DebugMon_Handler ⇒ DebugMon_Handler
- PendSV_Handler ⇒ PendSV_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - BOD_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - BusFault_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - CAN_IRQHandler from can.o(.text) referenced from startup_lpc11xx.o(RESET)
  - CAN_error from can_pgm.o(.text) referenced from can_pgm.o(.data)
  - CAN_rx from can_pgm.o(.text) referenced from can_pgm.o(.data)
  - CAN_tx from can_pgm.o(.text) referenced from can_pgm.o(.data)
  - DebugMon_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - FMC_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - HardFault_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - I2C_IRQHandler from i2c.o(.text) referenced from startup_lpc11xx.o(RESET)
  - MemManage_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - NMI_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - PIOINT0_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - PIOINT1_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - PIOINT2_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - PIOINT3_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - PendSV_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - Reset_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - SSP0_IRQHandler from ssp.o(.text) referenced from startup_lpc11xx.o(RESET)
  - SSP1_IRQHandler from ssp.o(.text) referenced from startup_lpc11xx.o(RESET)
  - SVC_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - SysTick_Handler from main.o(.text) referenced from startup_lpc11xx.o(RESET)
  - TIMER16_0_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - TIMER16_1_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - TIMER32_0_IRQHandler from timer32.o(.text) referenced from startup_lpc11xx.o(RESET)
  - TIMER32_1_IRQHandler from timer32.o(.text) referenced from startup_lpc11xx.o(RESET)
  - UART_IRQHandler from uart.o(.text) referenced from startup_lpc11xx.o(RESET)
  - USB_FIQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - USB_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - UsageFault_Handler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - WAKEUP_IRQHandler from startup_lpc11xx.o(.text) referenced 13 times from startup_lpc11xx.o(RESET)
  - WDT_IRQHandler from startup_lpc11xx.o(.text) referenced from startup_lpc11xx.o(RESET)
  - __main from __main.o(!!!main) referenced from startup_lpc11xx.o(.text)
  - _get_lc_ctype from lc_ctype_c.o(locale$$code) referenced from rt_ctype_table.o(.text)
  - _printf_fp_dec_real from _printf_fp_dec.o(.text) referenced from printf1.o(x$fpl$printf1)
  - _printf_input_char from _printf_char_common.o(.text) referenced from _printf_char_common.o(.text)
  - _snputc from _snputc.o(.text) referenced from c89vsnprintf.o(.text)
  - fputc from retarget.o(.text) referenced from _printf_char_file.o(.text)

  ### Global Symbols

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

  - >> __rt_entry
  - >> __scatterload

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

  - >> __main

  __scatterload_rt2 (Thumb, 52 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_n (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_n ⇒ _printf_p ⇒ _printf_f ⇒ _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_p
  - >> _printf_charcount

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_p ⇒ _printf_f ⇒ _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_f
  - >> _printf_hex_ptr
  [Called By]
  - >> _printf_n

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_f ⇒ _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_dec
  - >> _printf_e
  [Called By]
  - >> _printf_p

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_dec
  - >> _printf_g
  [Called By]
  - >> _printf_f

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_dec
  - >> _printf_a
  [Called By]
  - >> _printf_e

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_ll
  - >> _printf_fp_hex (Weak Reference)
  [Called By]
  - >> _printf_g

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_i
  [Called By]
  - >> _printf_a

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_d
  - >> _printf_int_dec
  [Called By]
  - >> _printf_ll

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

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_u
  - >> _printf_int_dec
  [Called By]
  - >> _printf_i

  _printf_u (Thumb, 0 bytes, Stack size unknown bytes, _printf_u.o(.ARM.Collect$$_printf_percent$$0000000A))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_o
  - >> _printf_int_dec
  [Called By]
  - >> _printf_d

  _printf_o (Thumb, 0 bytes, Stack size unknown bytes, _printf_o.o(.ARM.Collect$$_printf_percent$$0000000B))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_x
  - >> _printf_int_oct
  [Called By]
  - >> _printf_u

  _printf_x (Thumb, 0 bytes, Stack size unknown bytes, _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_hex
  - >> _printf_lli
  [Called By]
  - >> _printf_o

  _printf_lli (Thumb, 0 bytes, Stack size unknown bytes, _printf_lli.o(.ARM.Collect$$_printf_percent$$0000000D))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_lli ⇒ _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_dec
  - >> _printf_lld
  [Called By]
  - >> _printf_x

  _printf_lld (Thumb, 0 bytes, Stack size unknown bytes, _printf_lld.o(.ARM.Collect$$_printf_percent$$0000000E))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_lld ⇒ _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_dec
  - >> _printf_llu
  [Called By]
  - >> _printf_lli

  _printf_llu (Thumb, 0 bytes, Stack size unknown bytes, _printf_llu.o(.ARM.Collect$$_printf_percent$$0000000F))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_llu ⇒ _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_dec
  - >> _printf_llo
  [Called By]
  - >> _printf_lld

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_llo ⇒ _printf_llx ⇒ _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_ll_oct
  - >> _printf_llx
  [Called By]
  - >> _printf_llu

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_llx ⇒ _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_ll_hex
  - >> _printf_l
  [Called By]
  - >> _printf_llo

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_c
  [Called By]
  - >> _printf_llx

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_s
  - >> _printf_char
  [Called By]
  - >> _printf_l

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_string
  - >> _printf_lc
  [Called By]
  - >> _printf_c

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_wchar
  - >> _printf_ls
  [Called By]
  - >> _printf_s

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_ls ⇒ _printf_wstring ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_percent_end
  - >> _printf_wstring
  [Called By]
  - >> _printf_lc

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

  - >> _printf_ls

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

  - >> __rt_entry_li

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

  __rt_lib_init_lc_common (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000B))
  [Calls]

  - >> __rt_locale

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

  __rt_lib_init_user_alloc_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$$0000000D))

  __rt_lib_init_lc_ctype_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = __rt_lib_init_lc_ctype_2 ⇒ _get_lc_ctype ⇒ strcmp
  [Calls]
  - >> _get_lc_ctype

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

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

  __rt_lib_init_lc_numeric_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000012))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = __rt_lib_init_lc_numeric_2 ⇒ _get_lc_numeric ⇒ strcmp
  [Calls]
  - >> _get_lc_numeric

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  - >> __main
  - >> __scatterload_rt2

  __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 = 416 + Unknown Stack Size
  - Call Chain = __rt_entry_main ⇒ main ⇒ CAN_Test ⇒ __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

  __aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))
  [Called By]

  - >> CAN_Test_ROM
  - >> CAN_Test

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)

  Reset_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Address Reference Count : 1]

  - startup_lpc11xx.o(RESET)

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

  ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_lpc11xx.o(.text))
  [Calls]

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

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

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

  - startup_lpc11xx.o(RESET)

  __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_lpc11xx.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, 22 bytes, Stack size 24 bytes, __2printf.o(.text))
  [Stack]

  - Max Depth = 136 + Unknown Stack Size
  - Call Chain = __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _printf_char_file
  [Called By]
  - >> CAN_Test_ROM
  - >> CAN_Test
  - >> 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)

  __I$use$fp (Thumb, 0 bytes, Stack size unknown bytes, usenofp.o(x$fpl$usenofp), UNUSED)

  Main_PLL_Setup (Thumb, 130 bytes, Stack size 0 bytes, system_lpc11xx.o(.text))
  [Called By]

  - >> SystemInit

  SystemInit (Thumb, 56 bytes, Stack size 4 bytes, system_lpc11xx.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = SystemInit
  [Calls]
  - >> Main_PLL_Setup
  [Called By]
  - >> main

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

  - Max Depth = 8
  - Call Chain = GPIOInit
  [Calls]
  - >> NVIC_EnableIRQ
  [Called By]
  - >> main

  GPIOSetInterrupt (Thumb, 446 bytes, Stack size 16 bytes, gpio.o(.text), UNUSED)

  GPIOIntEnable (Thumb, 88 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIOIntDisable (Thumb, 88 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIOIntStatus (Thumb, 94 bytes, Stack size 8 bytes, gpio.o(.text), UNUSED)

  GPIOIntClear (Thumb, 88 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIOSetValue (Thumb, 22 bytes, Stack size 12 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = GPIOSetValue
  [Called By]
  - >> CAN_Test
  - >> Write_Data
  - >> Write_Command
  - >> SPI_IOConfig
  - >> SSP_IOConfig

  GPIOGetValue (Thumb, 18 bytes, Stack size 0 bytes, gpio.o(.text))
  [Called By]

  - >> KEY_Read

  GPIOSetDir (Thumb, 78 bytes, Stack size 12 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = GPIOSetDir
  [Called By]
  - >> CAN_Test
  - >> OLED_Init_I
  - >> KEY_Init
  - >> SPI_IOConfig
  - >> SSP_IOConfig

  UART_IRQHandler (Thumb, 180 bytes, Stack size 16 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = UART_IRQHandler
  [Address Reference Count : 1]
  - startup_lpc11xx.o(RESET)

  UARTInit (Thumb, 194 bytes, Stack size 24 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = UARTInit
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> main

  UARTSend (Thumb, 30 bytes, Stack size 0 bytes, uart.o(.text), UNUSED)

  UART0_PutChar (Thumb, 18 bytes, Stack size 0 bytes, uart.o(.text))
  [Called By]

  - >> CAN_Test_ROM
  - >> CAN_Test
  - >> UART0_PutString

  UART0_PutString (Thumb, 22 bytes, Stack size 4 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> UART0_PutChar
  [Called By]
  - >> UART0_printf

  UART0_printf (Thumb, 40 bytes, Stack size 128 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> __c89vsnprintf
  - >> UART0_PutString

  UART0_GetChar (Thumb, 54 bytes, Stack size 0 bytes, uart.o(.text), UNUSED)

  PutCh (Thumb, 18 bytes, Stack size 0 bytes, retarget.o(.text))
  [Called By]

  - >> _ttywrch
  - >> fgetc
  - >> fputc

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

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

  GetCh (Thumb, 34 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)
  [Called By]

  - >> fgetc

  fgetc (Thumb, 16 bytes, Stack size 8 bytes, retarget.o(.text), UNUSED)
  [Calls]

  - >> GetCh
  - >> PutCh

  _ttywrch (Thumb, 12 bytes, Stack size 4 bytes, retarget.o(.text), UNUSED)
  [Calls]

  - >> PutCh

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

  - >> _printf_char_file

  _sys_exit (Thumb, 4 bytes, Stack size 0 bytes, retarget.o(.text))
  [Called By]

  - >> __rt_exit_exit

  GetCh_NoIRQ (Thumb, 18 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

  delay32Ms (Thumb, 118 bytes, Stack size 16 bytes, timer32.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod

  TIMER32_0_IRQHandler (Thumb, 54 bytes, Stack size 0 bytes, timer32.o(.text))
  [Address Reference Count : 1]

  - startup_lpc11xx.o(RESET)

  TIMER32_1_IRQHandler (Thumb, 54 bytes, Stack size 0 bytes, timer32.o(.text))
  [Address Reference Count : 1]

  - startup_lpc11xx.o(RESET)

  enable_timer32 (Thumb, 20 bytes, Stack size 0 bytes, timer32.o(.text), UNUSED)

  disable_timer32 (Thumb, 20 bytes, Stack size 0 bytes, timer32.o(.text), UNUSED)
  [Called By]

  - >> init_timer32PWM

  reset_timer32 (Thumb, 34 bytes, Stack size 0 bytes, timer32.o(.text), UNUSED)

  init_timer32 (Thumb, 220 bytes, Stack size 16 bytes, timer32.o(.text), UNUSED)
  [Calls]

  - >> NVIC_EnableIRQ

  init_timer32_a1 (Thumb, 88 bytes, Stack size 16 bytes, timer32.o(.text), UNUSED)
  [Calls]

  - >> NVIC_EnableIRQ

  init_timer32PWM (Thumb, 366 bytes, Stack size 12 bytes, timer32.o(.text), UNUSED)
  [Calls]

  - >> disable_timer32

  setMatch_timer32PWM (Thumb, 176 bytes, Stack size 0 bytes, timer32.o(.text), UNUSED)

  SSP0_IRQHandler (Thumb, 66 bytes, Stack size 0 bytes, ssp.o(.text))
  [Address Reference Count : 1]

  - startup_lpc11xx.o(RESET)

  SSP1_IRQHandler (Thumb, 66 bytes, Stack size 0 bytes, ssp.o(.text))
  [Address Reference Count : 1]

  - startup_lpc11xx.o(RESET)

  SSP_IOConfig (Thumb, 284 bytes, Stack size 8 bytes, ssp.o(.text), UNUSED)
  [Calls]

  - >> GPIOSetDir
  - >> GPIOSetValue

  SPI_IOConfig (Thumb, 348 bytes, Stack size 8 bytes, ssp.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = SPI_IOConfig ⇒ GPIOSetDir
  [Calls]
  - >> GPIOSetDir
  - >> GPIOSetValue
  [Called By]
  - >> main

  SSP_Init (Thumb, 102 bytes, Stack size 16 bytes, ssp.o(.text), UNUSED)
  [Calls]

  - >> NVIC_EnableIRQ

  SPI_Init (Thumb, 190 bytes, Stack size 24 bytes, ssp.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = SPI_Init
  [Calls]
  - >> NVIC_EnableIRQ
  [Called By]
  - >> main

  SSP_Send (Thumb, 106 bytes, Stack size 16 bytes, ssp.o(.text), UNUSED)

  SSP_Receive (Thumb, 76 bytes, Stack size 12 bytes, ssp.o(.text), UNUSED)

  SPI_PutGet (Thumb, 110 bytes, Stack size 0 bytes, ssp.o(.text))
  [Called By]

  - >> Write_Data
  - >> Write_Command

  I2C_IRQHandler (Thumb, 384 bytes, Stack size 8 bytes, i2c.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = I2C_IRQHandler ⇒ __ARM_common_switch8
  [Calls]
  - >> __ARM_common_switch8
  [Address Reference Count : 1]
  - startup_lpc11xx.o(RESET)

  I2CStart (Thumb, 42 bytes, Stack size 0 bytes, i2c.o(.text), UNUSED)
  [Called By]

  - >> I2CEngine

  I2CStop (Thumb, 26 bytes, Stack size 0 bytes, i2c.o(.text), UNUSED)
  [Called By]

  - >> I2CEngine

  I2CInit (Thumb, 116 bytes, Stack size 8 bytes, i2c.o(.text), UNUSED)

  I2CEngine (Thumb, 56 bytes, Stack size 4 bytes, i2c.o(.text), UNUSED)
  [Calls]

  - >> I2CStop
  - >> I2CStart
  [Called By]
  - >> I2CWrite
  - >> I2CRead

  I2CRead (Thumb, 44 bytes, Stack size 16 bytes, i2c.o(.text), UNUSED)
  [Calls]

  - >> I2CEngine

  I2CWrite (Thumb, 40 bytes, Stack size 16 bytes, i2c.o(.text), UNUSED)
  [Calls]

  - >> I2CEngine

  CAN_MessageProcess (Thumb, 126 bytes, Stack size 12 bytes, can.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = CAN_MessageProcess
  [Called By]
  - >> CAN_IRQHandler

  CAN_IRQHandler (Thumb, 114 bytes, Stack size 16 bytes, can.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = CAN_IRQHandler ⇒ CAN_MessageProcess
  [Calls]
  - >> CAN_MessageProcess
  [Address Reference Count : 1]
  - startup_lpc11xx.o(RESET)

  CAN_ConfigureMessages (Thumb, 162 bytes, Stack size 0 bytes, can.o(.text))
  [Called By]

  - >> CAN_Init

  CAN_Init (Thumb, 140 bytes, Stack size 8 bytes, can.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = CAN_Init
  [Calls]
  - >> CAN_ConfigureMessages
  [Called By]
  - >> CAN_Test

  CAN_Send (Thumb, 164 bytes, Stack size 20 bytes, can.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = CAN_Send
  [Called By]
  - >> RX_TX_Bouncing
  - >> TX_Only_test
  - >> CAN_Test

  delay_ms (Thumb, 140 bytes, Stack size 32 bytes, tools.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = delay_ms
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> CAN_Test_ROM
  - >> CAN_Test
  - >> main

  KEY_Init (Thumb, 64 bytes, Stack size 8 bytes, key.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = KEY_Init ⇒ GPIOSetDir
  [Calls]
  - >> GPIOSetDir
  [Called By]
  - >> main

  KEY_Read (Thumb, 102 bytes, Stack size 8 bytes, key.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = KEY_Read
  [Calls]
  - >> GPIOGetValue
  [Called By]
  - >> CAN_Test_ROM
  - >> CAN_Test

  uDelay (Thumb, 14 bytes, Stack size 0 bytes, oled2864.o(.text), UNUSED)
  [Called By]

  - >> Fade_Out
  - >> Fade_In
  - >> Vertical_Scroll
  - >> Delay

  Delay (Thumb, 48 bytes, Stack size 16 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> uDelay
  [Called By]
  - >> OLED_Test
  - >> Test
  - >> Continuous_Scroll
  - >> Horizontal_Scroll

  Write_Command (Thumb, 54 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> SPI_PutGet
  - >> GPIOSetValue
  [Called By]
  - >> Deactivate_Scroll
  - >> Continuous_Scroll
  - >> Horizontal_Scroll
  - >> Vertical_Scroll
  - >> Set_NOP
  - >> Set_VCOMH
  - >> Set_Common_Config
  - >> Set_Precharge_Period
  - >> Set_Display_Clock
  - >> Set_Display_Offset
  - >> Set_Common_Remap
  - >> Set_Start_Page
  - >> Set_Display_On_Off
  - >> Set_Multiplex_Ratio
  - >> Set_Inverse_Display
  - >> Set_Entire_Display
  - >> Set_Segment_Remap
  - >> Set_Charge_Pump
  - >> Set_Contrast_Control
  - >> Set_Start_Line
  - >> Set_Page_Address
  - >> Set_Column_Address
  - >> Set_Addressing_Mode
  - >> Set_Start_Column

  Write_Data (Thumb, 54 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = Write_Data ⇒ GPIOSetValue
  [Calls]
  - >> SPI_PutGet
  - >> GPIOSetValue
  [Called By]
  - >> OLED_DisChar
  - >> Show_Pattern
  - >> Show_Font57
  - >> Frame
  - >> Checkerboard
  - >> Fill_Block
  - >> Fill_RAM

  Set_Start_Column (Thumb, 44 bytes, Stack size 16 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = Set_Start_Column ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_DisChar
  - >> Show_Pattern
  - >> Show_Font57
  - >> Frame
  - >> Checkerboard
  - >> Fill_Block
  - >> Fill_RAM

  Set_Addressing_Mode (Thumb, 18 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Addressing_Mode ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Column_Address (Thumb, 26 bytes, Stack size 16 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Write_Command

  Set_Page_Address (Thumb, 26 bytes, Stack size 16 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Write_Command

  Set_Start_Line (Thumb, 16 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Start_Line ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E
  - >> Vertical_Scroll

  Set_Contrast_Control (Thumb, 18 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Contrast_Control ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E
  - >> Fade_Out
  - >> Fade_In

  Set_Charge_Pump (Thumb, 22 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Charge_Pump ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Segment_Remap (Thumb, 16 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Segment_Remap ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Entire_Display (Thumb, 16 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Entire_Display ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E
  - >> Test
  - >> Sleep

  Set_Inverse_Display (Thumb, 16 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Inverse_Display ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Multiplex_Ratio (Thumb, 18 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Multiplex_Ratio ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Display_On_Off (Thumb, 16 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Display_On_Off ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E
  - >> Test
  - >> Sleep
  - >> Fade_Out
  - >> Fade_In

  Set_Start_Page (Thumb, 16 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Start_Page ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_DisChar
  - >> Show_Pattern
  - >> Show_Font57
  - >> Frame
  - >> Checkerboard
  - >> Fill_Block
  - >> Fill_RAM

  Set_Common_Remap (Thumb, 16 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Common_Remap ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Display_Offset (Thumb, 18 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Display_Offset ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Display_Clock (Thumb, 18 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Display_Clock ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Precharge_Period (Thumb, 18 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Precharge_Period ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_Common_Config (Thumb, 22 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_Common_Config ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_VCOMH (Thumb, 18 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = Set_VCOMH ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Write_Command
  [Called By]
  - >> OLED_Init_I
  - >> OLED_Init_E

  Set_NOP (Thumb, 10 bytes, Stack size 8 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Write_Command

  Fill_RAM (Thumb, 48 bytes, Stack size 16 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = Fill_RAM ⇒ Set_Start_Column ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Set_Start_Page
  - >> Set_Start_Column
  - >> Write_Data
  [Called By]
  - >> OLED_Test
  - >> OLED_Init_I
  - >> OLED_Init_E
  - >> OLED_ClearScreen

  OLED_ClearScreen (Thumb, 10 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = OLED_ClearScreen ⇒ Fill_RAM ⇒ Set_Start_Column ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Fill_RAM
  [Called By]
  - >> Dis_Menu

  Fill_Block (Thumb, 68 bytes, Stack size 40 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Start_Page
  - >> Set_Start_Column
  - >> Write_Data

  Checkerboard (Thumb, 52 bytes, Stack size 16 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Start_Page
  - >> Set_Start_Column
  - >> Write_Data
  [Called By]
  - >> OLED_Test

  Frame (Thumb, 108 bytes, Stack size 16 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Start_Page
  - >> Set_Start_Column
  - >> Write_Data
  [Called By]
  - >> OLED_Test

  Show_Font57 (Thumb, 84 bytes, Stack size 40 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Start_Page
  - >> Set_Start_Column
  - >> Write_Data
  [Called By]
  - >> Show_String

  Show_String (Thumb, 60 bytes, Stack size 40 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Show_Font57
  [Called By]
  - >> OLED_Test

  Show_Pattern (Thumb, 78 bytes, Stack size 48 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Start_Page
  - >> Set_Start_Column
  - >> Write_Data
  [Called By]
  - >> OLED_Test

  OLED_DisChar (Thumb, 120 bytes, Stack size 40 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 76
  - Call Chain = OLED_DisChar ⇒ Set_Start_Column ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Set_Start_Page
  - >> Set_Start_Column
  - >> Write_Data
  [Called By]
  - >> Dis_Menu
  - >> CAN_Test_ROM
  - >> CAN_Test
  - >> OLED_DisStrLine

  OLED_DisStrLine (Thumb, 66 bytes, Stack size 24 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 100
  - Call Chain = OLED_DisStrLine ⇒ OLED_DisChar ⇒ Set_Start_Column ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> OLED_DisChar
  [Called By]
  - >> Dis_Menu

  Vertical_Scroll (Thumb, 124 bytes, Stack size 40 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Start_Line
  - >> Write_Command
  - >> uDelay
  [Called By]
  - >> OLED_Test

  Horizontal_Scroll (Thumb, 58 bytes, Stack size 24 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Write_Command
  - >> Delay

  Continuous_Scroll (Thumb, 82 bytes, Stack size 24 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Write_Command
  - >> Delay
  [Called By]
  - >> OLED_Test

  Deactivate_Scroll (Thumb, 10 bytes, Stack size 8 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Write_Command
  [Called By]
  - >> OLED_Test

  Fade_In (Thumb, 44 bytes, Stack size 8 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Display_On_Off
  - >> Set_Contrast_Control
  - >> uDelay
  [Called By]
  - >> OLED_Test

  Fade_Out (Thumb, 46 bytes, Stack size 8 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Display_On_Off
  - >> Set_Contrast_Control
  - >> uDelay
  [Called By]
  - >> OLED_Test

  Sleep (Thumb, 46 bytes, Stack size 8 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Display_On_Off
  - >> Set_Entire_Display

  Test (Thumb, 34 bytes, Stack size 0 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Set_Display_On_Off
  - >> Set_Entire_Display
  - >> Delay

  OLED_Init_E (Thumb, 106 bytes, Stack size 8 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Fill_RAM
  - >> Set_VCOMH
  - >> Set_Common_Config
  - >> Set_Precharge_Period
  - >> Set_Display_Clock
  - >> Set_Display_Offset
  - >> Set_Common_Remap
  - >> Set_Display_On_Off
  - >> Set_Multiplex_Ratio
  - >> Set_Inverse_Display
  - >> Set_Entire_Display
  - >> Set_Segment_Remap
  - >> Set_Charge_Pump
  - >> Set_Contrast_Control
  - >> Set_Start_Line
  - >> Set_Addressing_Mode

  OLED_Init_I (Thumb, 126 bytes, Stack size 8 bytes, oled2864.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = OLED_Init_I ⇒ Fill_RAM ⇒ Set_Start_Column ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> Fill_RAM
  - >> Set_VCOMH
  - >> Set_Common_Config
  - >> Set_Precharge_Period
  - >> Set_Display_Clock
  - >> Set_Display_Offset
  - >> Set_Common_Remap
  - >> Set_Display_On_Off
  - >> Set_Multiplex_Ratio
  - >> Set_Inverse_Display
  - >> Set_Entire_Display
  - >> Set_Segment_Remap
  - >> Set_Charge_Pump
  - >> Set_Contrast_Control
  - >> Set_Start_Line
  - >> Set_Addressing_Mode
  - >> GPIOSetDir
  [Called By]
  - >> main

  OLED_Test (Thumb, 372 bytes, Stack size 32 bytes, oled2864.o(.text), UNUSED)
  [Calls]

  - >> Fade_Out
  - >> Fade_In
  - >> Deactivate_Scroll
  - >> Continuous_Scroll
  - >> Vertical_Scroll
  - >> Show_Pattern
  - >> Show_String
  - >> Frame
  - >> Checkerboard
  - >> Fill_RAM
  - >> Delay

  SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, main.o(.text))
  [Address Reference Count : 1]

  - startup_lpc11xx.o(RESET)

  main (Thumb, 140 bytes, Stack size 0 bytes, main.o(.text))
  [Stack]

  - Max Depth = 416 + Unknown Stack Size
  - Call Chain = main ⇒ CAN_Test ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> __2printf
  - >> CAN_Test
  - >> NVIC_SetPriority
  - >> OLED_Init_I
  - >> KEY_Init
  - >> delay_ms
  - >> SPI_Init
  - >> SPI_IOConfig
  - >> UARTInit
  - >> GPIOInit
  - >> SystemInit
  [Called By]
  - >> __rt_entry_main

  CAN_rx (Thumb, 58 bytes, Stack size 8 bytes, can_pgm.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = CAN_rx
  [Address Reference Count : 1]
  - can_pgm.o(.data)

  CAN_tx (Thumb, 2 bytes, Stack size 0 bytes, can_pgm.o(.text))
  [Address Reference Count : 1]

  - can_pgm.o(.data)

  CAN_error (Thumb, 2 bytes, Stack size 0 bytes, can_pgm.o(.text))
  [Address Reference Count : 1]

  - can_pgm.o(.data)

  TX_Only_test (Thumb, 44 bytes, Stack size 0 bytes, can_pgm.o(.text), UNUSED)
  [Calls]

  - >> CAN_Send

  RX_TX_Bouncing (Thumb, 66 bytes, Stack size 0 bytes, can_pgm.o(.text), UNUSED)
  [Calls]

  - >> CAN_Send

  CAN_Test_ROM (Thumb, 484 bytes, Stack size 272 bytes, can_pgm.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy4
  - >> __2printf
  - >> Dis_Menu
  - >> OLED_DisChar
  - >> KEY_Read
  - >> delay_ms
  - >> UART0_PutChar

  CAN_Test (Thumb, 1012 bytes, Stack size 280 bytes, can_pgm.o(.text))
  [Stack]

  - Max Depth = 416 + Unknown Stack Size
  - Call Chain = CAN_Test ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> __aeabi_memcpy4
  - >> __2printf
  - >> Dis_Menu
  - >> OLED_DisChar
  - >> KEY_Read
  - >> delay_ms
  - >> CAN_Send
  - >> CAN_Init
  - >> UART0_PutChar
  - >> GPIOSetDir
  - >> GPIOSetValue
  [Called By]
  - >> main

  Dis_Menu (Thumb, 200 bytes, Stack size 32 bytes, menu.o(.text))
  [Stack]

  - Max Depth = 132
  - Call Chain = Dis_Menu ⇒ OLED_DisStrLine ⇒ OLED_DisChar ⇒ Set_Start_Column ⇒ Write_Command ⇒ GPIOSetValue
  [Calls]
  - >> __aeabi_idivmod
  - >> OLED_DisStrLine
  - >> OLED_DisChar
  - >> OLED_ClearScreen
  [Called By]
  - >> CAN_Test_ROM
  - >> CAN_Test

  __c89vsnprintf (Thumb, 48 bytes, Stack size 24 bytes, c89vsnprintf.o(.text), UNUSED)
  [Calls]

  - >> _sputc
  - >> _printf_char_common
  [Called By]
  - >> UART0_printf

  __aeabi_uidiv (Thumb, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED)

  __aeabi_uidivmod (Thumb, 20 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text))
  [Called By]

  - >> delay_ms
  - >> delay32Ms
  - >> UARTInit

  __aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

  __aeabi_idivmod (Thumb, 326 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_idivmod
  [Called By]
  - >> Dis_Menu
  - >> _btod_etento

  _printf_pre_padding (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_pre_padding
  [Called By]
  - >> _printf_wctomb
  - >> _printf_str
  - >> _printf_fp_infnan
  - >> _printf_fp_dec_real
  - >> _printf_int_common

  _printf_post_padding (Thumb, 34 bytes, Stack size 16 bytes, _printf_pad.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_post_padding
  [Called By]
  - >> _printf_wctomb
  - >> _printf_str
  - >> _printf_fp_infnan
  - >> _printf_fp_dec_real
  - >> _printf_int_common

  _printf_truncate_signed (Thumb, 18 bytes, Stack size 0 bytes, _printf_truncate.o(.text))
  [Called By]

  - >> _printf_int_dec

  _printf_truncate_unsigned (Thumb, 18 bytes, Stack size 0 bytes, _printf_truncate.o(.text))
  [Called By]

  - >> _printf_int_hex
  - >> _printf_int_oct
  - >> _printf_int_dec

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

  - Max Depth = 32
  - Call Chain = _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_cs_common

  _printf_int_dec (Thumb, 90 bytes, Stack size 32 bytes, _printf_dec.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_truncate_unsigned
  - >> _printf_truncate_signed
  - >> __rt_udiv10
  - >> _printf_int_common
  [Called By]
  - >> _printf_u
  - >> _printf_d
  - >> _printf_i

  _printf_charcount (Thumb, 40 bytes, Stack size 0 bytes, _printf_charcount.o(.text))
  [Called By]

  - >> _printf_n

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

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

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

  - >> __c89vsnprintf

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

  - c89vsnprintf.o(.text)

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

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

  _printf_wctomb (Thumb, 182 bytes, Stack size 56 bytes, _printf_wctomb.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  - >> _wcrtomb
  [Called By]
  - >> _printf_lcs_common

  _printf_longlong_dec (Thumb, 94 bytes, Stack size 32 bytes, _printf_longlong_dec.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  - >> _ll_udiv10
  [Called By]
  - >> _printf_llu
  - >> _printf_lld
  - >> _printf_lli

  _printf_longlong_oct (Thumb, 68 bytes, Stack size 16 bytes, _printf_oct_int_ll.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  [Called By]
  - >> _printf_ll_oct
  - >> _printf_int_oct

  _printf_int_oct (Thumb, 24 bytes, Stack size 8 bytes, _printf_oct_int_ll.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_int_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_oct
  - >> _printf_truncate_unsigned
  [Called By]
  - >> _printf_o

  _printf_ll_oct (Thumb, 10 bytes, Stack size 0 bytes, _printf_oct_int_ll.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _printf_ll_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_oct
  [Called By]
  - >> _printf_llo

  _printf_longlong_hex (Thumb, 88 bytes, Stack size 24 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  [Called By]
  - >> _printf_hex_ptr
  - >> _printf_ll_hex
  - >> _printf_int_hex

  _printf_int_hex (Thumb, 28 bytes, Stack size 16 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  - >> _printf_truncate_unsigned
  [Called By]
  - >> _printf_x

  _printf_ll_hex (Thumb, 10 bytes, Stack size 0 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_ll_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  [Called By]
  - >> _printf_llx

  _printf_hex_ptr (Thumb, 22 bytes, Stack size 8 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_hex_ptr ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  [Called By]
  - >> _printf_p

  __printf (Thumb, 388 bytes, Stack size 32 bytes, __printf_flags_ss_wp.o(.text))
  [Stack]

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

  _ll_udiv10 (Thumb, 122 bytes, Stack size 16 bytes, lludiv10.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _ll_udiv10
  [Called By]
  - >> _printf_longlong_dec
  - >> _fp_digits

  _printf_int_common (Thumb, 176 bytes, Stack size 40 bytes, _printf_intcommon.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_longlong_hex
  - >> _printf_longlong_oct
  - >> _printf_longlong_dec
  - >> _printf_int_dec

  __lib_sel_fp_printf (Thumb, 2 bytes, Stack size 0 bytes, _printf_fp_dec.o(.text), UNUSED)

  _printf_fp_dec_real (Thumb, 618 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text))
  [Stack]

  - Max Depth = 368
  - Call Chain = _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  - >> __ARM_fpclassify
  - >> _printf_fp_infnan
  - >> __rt_locale
  - >> __rt_udiv10
  - >> _fp_digits
  [Address Reference Count : 1]
  - printf1.o(x$fpl$printf1)

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

  - Max Depth = 40
  - Call Chain = _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_str
  - >> _printf_mbtowc (Weak Reference)
  [Called By]
  - >> _printf_string
  - >> _printf_char

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

  - Max Depth = 40
  - Call Chain = _printf_char ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_cs_common
  [Called By]
  - >> _printf_c

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

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

  _printf_lcs_common (Thumb, 22 bytes, Stack size 8 bytes, _printf_wchar.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_wctomb
  - >> _printf_wc (Weak Reference)
  [Called By]
  - >> _printf_wstring
  - >> _printf_wchar

  _printf_wchar (Thumb, 16 bytes, Stack size 0 bytes, _printf_wchar.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_lcs_common
  [Called By]
  - >> _printf_lc

  _printf_wstring (Thumb, 8 bytes, Stack size 0 bytes, _printf_wchar.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_wstring ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_lcs_common
  [Called By]
  - >> _printf_ls

  _wcrtomb (Thumb, 68 bytes, Stack size 16 bytes, _wcrtomb.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> __rt_ctype_table
  [Called By]
  - >> _printf_wctomb

  __rt_udiv10 (Thumb, 40 bytes, Stack size 0 bytes, rtudiv10.o(.text))
  [Called By]

  - >> _printf_int_dec
  - >> _printf_fp_dec_real

  __user_setup_stackheap (Thumb, 62 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

  __rt_ctype_table (Thumb, 16 bytes, Stack size 8 bytes, rt_ctype_table.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __rt_ctype_table
  [Calls]
  - >> __rt_locale
  [Called By]
  - >> _wcrtomb

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

  - >> __rt_lib_init_lc_common
  - >> __rt_ctype_table
  - >> _printf_fp_dec_real

  _printf_fp_infnan (Thumb, 120 bytes, Stack size 24 bytes, _printf_fp_infnan.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_fp_infnan ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_fp_dec_real

  _btod_etento (Thumb, 200 bytes, Stack size 72 bytes, bigflt0.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = _btod_etento ⇒ _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> __aeabi_idivmod
  - >> _btod_ediv
  - >> _btod_emul
  [Called By]
  - >> _fp_digits

  _btod_d2e (Thumb, 64 bytes, Stack size 8 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _btod_d2e
  [Called By]
  - >> _fp_digits

  _btod_emul (Thumb, 24 bytes, Stack size 24 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> btod_internal_mul
  [Called By]
  - >> _btod_etento
  - >> _fp_digits

  _btod_emuld (Thumb, 60 bytes, Stack size 24 bytes, btod.o(.text), UNUSED)
  [Calls]

  - >> btod_internal_mul

  _btod_ediv (Thumb, 22 bytes, Stack size 24 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _btod_ediv ⇒ btod_internal_div
  [Calls]
  - >> btod_internal_div
  [Called By]
  - >> _btod_etento
  - >> _fp_digits

  _btod_edivd (Thumb, 60 bytes, Stack size 24 bytes, btod.o(.text), UNUSED)
  [Calls]

  - >> btod_internal_div

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

  - >> __rt_exit
  - >> _call_atexit_fns (Weak Reference)
  [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)

  strcmp (Thumb, 132 bytes, Stack size 16 bytes, strcmp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcmp
  [Called By]
  - >> _get_lc_ctype
  - >> _get_lc_numeric

  __ARM_common_ll_muluu (Thumb, 48 bytes, Stack size 24 bytes, btod.o(i.__ARM_common_ll_muluu))
  [Stack]

  - Max Depth = 24
  - Call Chain = __ARM_common_ll_muluu
  [Called By]
  - >> btod_internal_mul

  __ARM_common_switch8 (Thumb, 28 bytes, Stack size 8 bytes, i2c.o(i.__ARM_common_switch8))
  [Stack]

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [Called By]
  - >> I2C_IRQHandler

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

  - >> _printf_fp_dec_real

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

  - >> __printf

  _get_lc_numeric (Thumb, 44 bytes, Stack size 8 bytes, lc_numeric_c.o(locale$$code))
  [Stack]

  - Max Depth = 24
  - Call Chain = _get_lc_numeric ⇒ strcmp
  [Calls]
  - >> strcmp
  [Called By]
  - >> __rt_lib_init_lc_numeric_2

  _get_lc_ctype (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code))
  [Stack]

  - Max Depth = 24
  - Call Chain = _get_lc_ctype ⇒ strcmp
  [Calls]
  - >> strcmp
  [Called By]
  - >> __rt_lib_init_lc_ctype_2
  [Address Reference Count : 1]
  - rt_ctype_table.o(.text)

  _printf_fp_dec (Thumb, 16 bytes, Stack size 8 bytes, printf1.o(x$fpl$printf1))
  [Stack]

  - Max Depth = 8
  - Call Chain = _printf_fp_dec
  [Called By]
  - >> _printf_f
  - >> _printf_g
  - >> _printf_e

  ### Local Symbols

  NVIC_EnableIRQ (Thumb, 14 bytes, Stack size 0 bytes, gpio.o(.text))
  [Called By]

  - >> GPIOInit

  NVIC_EnableIRQ (Thumb, 14 bytes, Stack size 0 bytes, timer32.o(.text), UNUSED)
  [Called By]

  - >> init_timer32_a1
  - >> init_timer32

  NVIC_EnableIRQ (Thumb, 14 bytes, Stack size 0 bytes, ssp.o(.text))
  [Called By]

  - >> SPI_Init
  - >> SSP_Init

  NVIC_SetPriority (Thumb, 110 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = NVIC_SetPriority
  [Called By]
  - >> main

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

  - _printf_char_common.o(.text)

  _fp_digits (Thumb, 412 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text))
  [Stack]

  - Max Depth = 272
  - Call Chain = _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> _btod_ediv
  - >> _btod_emul
  - >> _btod_d2e
  - >> _btod_etento
  - >> _ll_udiv10
  [Called By]
  - >> _printf_fp_dec_real

  btod_internal_mul (Thumb, 456 bytes, Stack size 56 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> __ARM_common_ll_muluu
  [Called By]
  - >> _btod_emuld
  - >> _btod_emul

  btod_internal_div (Thumb, 494 bytes, Stack size 64 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = btod_internal_div
  [Called By]
  - >> _btod_edivd
  - >> _btod_ediv

  ### Undefined Global Symbols

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

  - >> exit

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

  - >> _printf_a

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

  - >> _printf_cs_common

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

  - >> _printf_lcs_common