# Static Call Graph for image .\Objects\RA6E2_UART.axf

#<CALLGRAPH># ARM Linker, 6220000: Last Updated: Tue Dec 9 17:03:04 2025

### Maximum Stack Usage = 2208 bytes + Unknown(Cycles, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

Reset_Handler ⇒ main ⇒ hal_entry ⇒ iterate ⇒ core_bench_list ⇒ core_list_mergesort

### Mutually Recursive functions

- bsp_prv_software_delay_loop ⇒ bsp_prv_software_delay_loop

  ### Function Pointers

  - Default_Handler from lto-llvm-d02602.o(.text.Default_Handler) referenced 8 times from lto-llvm-d02602.o(.fixed_vectors)
  - NMI_Handler from lto-llvm-d02602.o(.text.NMI_Handler) referenced from lto-llvm-d02602.o(.fixed_vectors)
  - Reset_Handler from lto-llvm-d02602.o(.text.Reset_Handler) referenced from lto-llvm-d02602.o(.fixed_vectors)
  - SysTick_Handler from lto-llvm-d02602.o(.text.SysTick_Handler) referenced from lto-llvm-d02602.o(.fixed_vectors)
  - cmp_complex from lto-llvm-d02602.o(.text.cmp_complex) referenced 2 times from lto-llvm-d02602.o(.text.core_bench_list)
  - cmp_idx from lto-llvm-d02602.o(.text.cmp_idx) referenced 2 times from lto-llvm-d02602.o(.text.core_bench_list)
  - cmp_idx from lto-llvm-d02602.o(.text.cmp_idx) referenced 2 times from lto-llvm-d02602.o(.text.hal_entry)
  - fputc from lto-llvm-d02602.o(.text.fputc) referenced from printfa.o(i.__0printf)
  - sci_uart_eri_isr from lto-llvm-d02602.o(.text.sci_uart_eri_isr) referenced from lto-llvm-d02602.o(.application_vectors)
  - sci_uart_rxi_isr from lto-llvm-d02602.o(.text.sci_uart_rxi_isr) referenced from lto-llvm-d02602.o(.application_vectors)
  - sci_uart_tei_isr from lto-llvm-d02602.o(.text.sci_uart_tei_isr) referenced from lto-llvm-d02602.o(.application_vectors)
  - sci_uart_txi_isr from lto-llvm-d02602.o(.text.sci_uart_txi_isr) referenced from lto-llvm-d02602.o(.application_vectors)
  - uart0_callback from lto-llvm-d02602.o(.text.uart0_callback) referenced from lto-llvm-d02602.o(.rodata.g_uart0_cfg)
  - uart0_callback from lto-llvm-d02602.o(.text.uart0_callback) referenced 2 times from lto-llvm-d02602.o(.text.hal_entry)

  ### Global Symbols

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

  __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
  [Called By]

  - >> _printf_core

  __aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> _printf_core
  - >> _fp_digits

  __I$use$fp (Thumb, 0 bytes, Stack size 48 bytes, iusefp.o(.text), UNUSED)

  __aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_lasr
  - >> __aeabi_llsl
  - >> _double_round
  - >> _double_epilogue
  [Called By]
  - >> __aeabi_drsub
  - >> __aeabi_dsub
  - >> _fp_digits

  __aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

  __aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

  __aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text), UNUSED)
  [Calls]

  - >> _double_epilogue
  [Called By]
  - >> _fp_digits

  __aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __aeabi_ddiv ⇒ _double_round
  [Calls]
  - >> _double_round
  [Called By]
  - >> hal_entry
  - >> _fp_digits

  __aeabi_d2ulz (Thumb, 48 bytes, Stack size 0 bytes, dfixul.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> _fp_digits

  __aeabi_cdrcmple (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
  [Called By]

  - >> _fp_digits

  __aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
  [Called By]

  - >> _double_epilogue
  - >> __aeabi_uldivmod
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz

  _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

  __aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
  [Called By]

  - >> _double_epilogue
  - >> __aeabi_uldivmod
  - >> __aeabi_d2ulz
  - >> __aeabi_d2uiz

  _ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

  __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_dadd

  _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)

  _double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _double_round
  [Called By]
  - >> _double_epilogue
  - >> __aeabi_ddiv
  - >> __aeabi_dadd

  _double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _double_epilogue ⇒ _double_round
  [Calls]
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> _double_round
  [Called By]
  - >> __aeabi_dmul
  - >> __aeabi_dadd
  - >> __aeabi_ui2d

  __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
  [Called By]

  - >> sci_uart_rxi_isr

  __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text))
  [Called By]

  - >> SystemRuntimeInit
  - >> SystemInit

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

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

  - >> _memset$wrapper
  - >> __aeabi_memclr

  __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
  [Calls]

  - >> __aeabi_memset
  [Called By]
  - >> hal_entry

  __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
  [Called By]

  - >> calc_func
  - >> SystemRuntimeInit

  __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memset

  __aeabi_dcmple (Thumb, 54 bytes, Stack size 12 bytes, dcmple.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = __aeabi_dcmple
  [Called By]
  - >> hal_entry

  __aeabi_dcmplt (Thumb, 54 bytes, Stack size 12 bytes, dcmplt.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = __aeabi_dcmplt
  [Called By]
  - >> hal_entry

  __aeabi_dcmpge (Thumb, 54 bytes, Stack size 12 bytes, dcmpge.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = __aeabi_dcmpge
  [Called By]
  - >> hal_entry

  __aeabi_ui2d (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = __aeabi_ui2d ⇒ _double_epilogue ⇒ _double_round
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> hal_entry

  __aeabi_d2uiz (Thumb, 50 bytes, Stack size 8 bytes, dfixui.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_d2uiz
  [Calls]
  - >> __aeabi_llsr
  [Called By]
  - >> hal_entry

  Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.Reset_Handler))
  [Stack]

  - Max Depth = 2208
  - Call Chain = Reset_Handler ⇒ main ⇒ hal_entry ⇒ iterate ⇒ core_bench_list ⇒ core_list_mergesort
  [Calls]
  - >> main
  - >> SystemInit
  [Address Reference Count : 1]
  - lto-llvm-d02602.o(.fixed_vectors)

  fputc (Thumb, 48 bytes, Stack size 16 bytes, lto-llvm-d02602.o(.text.fputc))
  [Stack]

  - Max Depth = 24
  - Call Chain = fputc ⇒ R_SCI_UART_Write
  [Calls]
  - >> R_SCI_UART_Write
  [Called By]
  - >> putchar
  - >> puts
  [Address Reference Count : 1]
  - printfa.o(i.__0printf)

  __0printf (Thumb, 22 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
  [Calls]

  - >> _printf_core

  __1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

  __2printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf))
  [Stack]

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> hal_entry

  __c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

  printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

  putchar (Thumb, 6 bytes, Stack size 0 bytes, putchar.o(i.putchar))
  [Stack]

  - Max Depth = 24
  - Call Chain = putchar ⇒ fputc ⇒ R_SCI_UART_Write
  [Calls]
  - >> fputc
  [Called By]
  - >> hal_entry

  puts (Thumb, 30 bytes, Stack size 8 bytes, puts.o(i.puts))
  [Stack]

  - Max Depth = 32
  - Call Chain = puts ⇒ fputc ⇒ R_SCI_UART_Write
  [Calls]
  - >> fputc
  [Called By]
  - >> hal_entry

  ### Local Symbols

  _fp_digits (Thumb, 366 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz
  - >> __aeabi_cdrcmple
  [Called By]
  - >> _printf_core

  _printf_core (Thumb, 1744 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> __aeabi_uidivmod
  - >> _printf_pre_padding
  - >> _printf_post_padding
  - >> _fp_digits
  [Called By]
  - >> __0printf

  _printf_post_padding (Thumb, 36 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)
  [Called By]

  - >> _printf_core

  _printf_pre_padding (Thumb, 46 bytes, Stack size 24 bytes, printfa.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

  uart0_callback (Thumb, 104 bytes, Stack size 8 bytes, lto-llvm-d02602.o(.text.uart0_callback))
  [Stack]

  - Max Depth = 8
  - Call Chain = uart0_callback
  [Address Reference Count : 2]
  - lto-llvm-d02602.o(.text.hal_entry)
  - lto-llvm-d02602.o(.rodata.g_uart0_cfg)

  SysTick_Handler (Thumb, 16 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.SysTick_Handler))
  [Address Reference Count : 1]

  - lto-llvm-d02602.o(.fixed_vectors)

  R_SCI_UART_Write (Thumb, 74 bytes, Stack size 8 bytes, lto-llvm-d02602.o(.text.R_SCI_UART_Write))
  [Stack]

  - Max Depth = 8
  - Call Chain = R_SCI_UART_Write
  [Called By]
  - >> hal_entry
  - >> fputc

  calc_func (Thumb, 1086 bytes, Stack size 144 bytes, lto-llvm-d02602.o(.text.calc_func))
  [Stack]

  - Max Depth = 172
  - Call Chain = calc_func ⇒ core_state_transition
  [Calls]
  - >> crcu16
  - >> core_state_transition
  - >> __aeabi_memclr4
  [Called By]
  - >> cmp_complex

  core_state_transition (Thumb, 308 bytes, Stack size 28 bytes, lto-llvm-d02602.o(.text.core_state_transition))
  [Stack]

  - Max Depth = 28
  - Call Chain = core_state_transition
  [Called By]
  - >> calc_func

  crcu16 (Thumb, 74 bytes, Stack size 8 bytes, lto-llvm-d02602.o(.text.crcu16))
  [Stack]

  - Max Depth = 8
  - Call Chain = crcu16
  [Called By]
  - >> hal_entry
  - >> iterate
  - >> core_bench_list
  - >> calc_func

  cmp_complex (Thumb, 30 bytes, Stack size 16 bytes, lto-llvm-d02602.o(.text.cmp_complex))
  [Stack]

  - Max Depth = 188
  - Call Chain = cmp_complex ⇒ calc_func ⇒ core_state_transition
  [Calls]
  - >> calc_func
  [Address Reference Count : 1]
  - lto-llvm-d02602.o(.text.core_bench_list)

  cmp_idx (Thumb, 22 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.cmp_idx))
  [Address Reference Count : 2]

  - lto-llvm-d02602.o(.text.core_bench_list)
  - lto-llvm-d02602.o(.text.hal_entry)

  core_bench_list (Thumb, 396 bytes, Stack size 40 bytes, lto-llvm-d02602.o(.text.core_bench_list))
  [Stack]

  - Max Depth = 88
  - Call Chain = core_bench_list ⇒ core_list_mergesort
  [Calls]
  - >> core_list_mergesort
  - >> crcu16
  [Called By]
  - >> iterate

  core_list_mergesort (Thumb, 208 bytes, Stack size 48 bytes, lto-llvm-d02602.o(.text.core_list_mergesort))
  [Stack]

  - Max Depth = 48
  - Call Chain = core_list_mergesort
  [Called By]
  - >> hal_entry
  - >> core_bench_list

  iterate (Thumb, 62 bytes, Stack size 16 bytes, lto-llvm-d02602.o(.text.iterate))
  [Stack]

  - Max Depth = 104
  - Call Chain = iterate ⇒ core_bench_list ⇒ core_list_mergesort
  [Calls]
  - >> core_bench_list
  - >> crcu16
  [Called By]
  - >> hal_entry

  hal_entry (Thumb, 2664 bytes, Stack size 2104 bytes, lto-llvm-d02602.o(.text.hal_entry))
  [Stack]

  - Max Depth = 2208
  - Call Chain = hal_entry ⇒ iterate ⇒ core_bench_list ⇒ core_list_mergesort
  [Calls]
  - >> iterate
  - >> core_list_mergesort
  - >> crcu16
  - >> R_SCI_UART_Write
  - >> __aeabi_ddiv
  - >> __2printf
  - >> putchar
  - >> puts
  - >> __aeabi_memclr
  - >> __aeabi_dcmpge
  - >> __aeabi_dcmple
  - >> __aeabi_d2uiz
  - >> __aeabi_dcmplt
  - >> __aeabi_ui2d
  [Called By]
  - >> main

  SystemInit (Thumb, 1060 bytes, Stack size 48 bytes, lto-llvm-d02602.o(.text.SystemInit))
  [Stack]

  - Max Depth = 64
  - Call Chain = SystemInit ⇒ SystemRuntimeInit
  [Calls]
  - >> __aeabi_memcpy4
  - >> R_BSP_RegisterProtectEnable
  - >> SystemRuntimeInit
  - >> R_BSP_SoftwareDelay
  [Called By]
  - >> Reset_Handler

  main (Thumb, 4 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.main))
  [Stack]

  - Max Depth = 2208
  - Call Chain = main ⇒ hal_entry ⇒ iterate ⇒ core_bench_list ⇒ core_list_mergesort
  [Calls]
  - >> hal_entry
  [Called By]
  - >> Reset_Handler

  Default_Handler (Thumb, 4 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - lto-llvm-d02602.o(.fixed_vectors)

  R_BSP_SoftwareDelay (Thumb, 90 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.R_BSP_SoftwareDelay))
  [Calls]

  - >> bsp_prv_software_delay_loop
  [Called By]
  - >> SystemInit

  SystemRuntimeInit (Thumb, 86 bytes, Stack size 16 bytes, lto-llvm-d02602.o(.text.SystemRuntimeInit))
  [Stack]

  - Max Depth = 16
  - Call Chain = SystemRuntimeInit
  [Calls]
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy4
  [Called By]
  - >> SystemInit

  R_BSP_RegisterProtectEnable (Thumb, 58 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.R_BSP_RegisterProtectEnable))
  [Called By]

  - >> SystemInit

  bsp_prv_software_delay_loop (Thumb, 8 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.bsp_prv_software_delay_loop))
  [Calls]

  - >> bsp_prv_software_delay_loop
  [Called By]
  - >> bsp_prv_software_delay_loop
  - >> R_BSP_SoftwareDelay

  NMI_Handler (Thumb, 18 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.NMI_Handler))
  [Address Reference Count : 1]

  - lto-llvm-d02602.o(.fixed_vectors)

  sci_uart_txi_isr (Thumb, 136 bytes, Stack size 0 bytes, lto-llvm-d02602.o(.text.sci_uart_txi_isr))
  [Stack]

  - Max Depth = 32
  - Call Chain = sci_uart_txi_isr ⇒ r_sci_uart_call_callback
  [Calls]
  - >> r_sci_uart_call_callback
  [Address Reference Count : 1]
  - lto-llvm-d02602.o(.application_vectors)

  r_sci_uart_call_callback (Thumb, 64 bytes, Stack size 32 bytes, lto-llvm-d02602.o(.text.r_sci_uart_call_callback))
  [Stack]

  - Max Depth = 32
  - Call Chain = r_sci_uart_call_callback
  [Called By]
  - >> sci_uart_eri_isr
  - >> sci_uart_tei_isr
  - >> sci_uart_rxi_isr
  - >> sci_uart_txi_isr

  sci_uart_rxi_isr (Thumb, 136 bytes, Stack size 16 bytes, lto-llvm-d02602.o(.text.sci_uart_rxi_isr))
  [Stack]

  - Max Depth = 48
  - Call Chain = sci_uart_rxi_isr ⇒ r_sci_uart_call_callback
  [Calls]
  - >> __aeabi_memcpy
  - >> r_sci_uart_call_callback
  [Address Reference Count : 1]
  - lto-llvm-d02602.o(.application_vectors)

  sci_uart_tei_isr (Thumb, 74 bytes, Stack size 8 bytes, lto-llvm-d02602.o(.text.sci_uart_tei_isr))
  [Stack]

  - Max Depth = 40
  - Call Chain = sci_uart_tei_isr ⇒ r_sci_uart_call_callback
  [Calls]
  - >> r_sci_uart_call_callback
  [Address Reference Count : 1]
  - lto-llvm-d02602.o(.application_vectors)

  sci_uart_eri_isr (Thumb, 106 bytes, Stack size 16 bytes, lto-llvm-d02602.o(.text.sci_uart_eri_isr))
  [Stack]

  - Max Depth = 48
  - Call Chain = sci_uart_eri_isr ⇒ r_sci_uart_call_callback
  [Calls]
  - >> r_sci_uart_call_callback
  [Address Reference Count : 1]
  - lto-llvm-d02602.o(.application_vectors)

  ### Undefined Global Symbols