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

#<CALLGRAPH># ARM Linker, 6220000: Last Updated: Tue Dec 9 16:31:40 2025

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

### Call chain for Maximum Stack Depth:

Reset_Handler ⇒ main ⇒ hal_entry ⇒ UART0_Init ⇒ R_SCI_UART_Open

### Mutually Recursive functions

- bsp_prv_software_delay_loop ⇒ bsp_prv_software_delay_loop

  ### Function Pointers

  - BusFault_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - DebugMon_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - HardFault_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - MemManage_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - NMI_Handler from bsp_group_irq.o(.text.NMI_Handler) referenced from startup.o(.fixed_vectors)
  - PendSV_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - R_SCI_UART_Abort from r_sci_uart.o(.text.R_SCI_UART_Abort) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_BaudSet from r_sci_uart.o(.text.R_SCI_UART_BaudSet) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_CallbackSet from r_sci_uart.o(.text.R_SCI_UART_CallbackSet) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_Close from r_sci_uart.o(.text.R_SCI_UART_Close) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_InfoGet from r_sci_uart.o(.text.R_SCI_UART_InfoGet) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_Open from r_sci_uart.o(.text.R_SCI_UART_Open) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_Read from r_sci_uart.o(.text.R_SCI_UART_Read) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_ReadStop from r_sci_uart.o(.text.R_SCI_UART_ReadStop) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_ReceiveResume from r_sci_uart.o(.text.R_SCI_UART_ReceiveResume) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_ReceiveSuspend from r_sci_uart.o(.text.R_SCI_UART_ReceiveSuspend) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - R_SCI_UART_Write from r_sci_uart.o(.text.R_SCI_UART_Write) referenced from r_sci_uart.o(.rodata.g_uart_on_sci)
  - Reset_Handler from startup.o(.text.Reset_Handler) referenced from startup.o(.fixed_vectors)
  - SVC_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - SecureFault_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - SysTick_Handler from usart0.o(.text.SysTick_Handler) referenced from startup.o(.fixed_vectors)
  - UsageFault_Handler from startup.o(.text.Default_Handler) referenced from startup.o(.fixed_vectors)
  - sci_uart_eri_isr from r_sci_uart.o(.text.sci_uart_eri_isr) referenced from vector_data.o(.application_vectors)
  - sci_uart_rxi_isr from r_sci_uart.o(.text.sci_uart_rxi_isr) referenced from vector_data.o(.application_vectors)
  - sci_uart_tei_isr from r_sci_uart.o(.text.sci_uart_tei_isr) referenced from vector_data.o(.application_vectors)
  - sci_uart_txi_isr from r_sci_uart.o(.text.sci_uart_txi_isr) referenced from vector_data.o(.application_vectors)
  - uart0_callback from usart0.o(.text.uart0_callback) referenced from hal_data.o(.rodata.g_uart0_cfg)

  ### Global Symbols

  __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

  __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), UNUSED)
  [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), UNUSED)
  [Calls]

  - >> __aeabi_memset

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

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

  BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  DebugMon_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  Default_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler), UNUSED)

  HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  PendSV_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  SVC_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  SecureFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
  [Address Reference Count : 1]

  - startup.o(.fixed_vectors)

  NMI_Handler (Thumb, 68 bytes, Stack size 24 bytes, bsp_group_irq.o(.text.NMI_Handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = NMI_Handler
  [Address Reference Count : 1]
  - startup.o(.fixed_vectors)

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

  - >> hal_entry

  RINGBUF_Init (Thumb, 34 bytes, Stack size 0 bytes, ring_buffer.o(.text.RINGBUF_Init))
  [Called By]

  - >> UART0_Init

  RINGBUF_Put (Thumb, 40 bytes, Stack size 8 bytes, ring_buffer.o(.text.RINGBUF_Put))
  [Stack]

  - Max Depth = 8
  - Call Chain = RINGBUF_Put
  [Called By]
  - >> uart0_callback

  R_BSP_Init_RTC (Thumb, 104 bytes, Stack size 16 bytes, bsp_clocks.o(.text.R_BSP_Init_RTC))
  [Stack]

  - Max Depth = 16
  - Call Chain = R_BSP_Init_RTC
  [Calls]
  - >> R_BSP_SoftwareDelay
  [Called By]
  - >> SystemInit

  R_BSP_RegisterProtectDisable (Thumb, 78 bytes, Stack size 8 bytes, bsp_register_protection.o(.text.R_BSP_RegisterProtectDisable))
  [Stack]

  - Max Depth = 8
  - Call Chain = R_BSP_RegisterProtectDisable
  [Called By]
  - >> bsp_irq_cfg
  - >> SystemInit

  R_BSP_RegisterProtectEnable (Thumb, 82 bytes, Stack size 0 bytes, bsp_register_protection.o(.text.R_BSP_RegisterProtectEnable))
  [Called By]

  - >> bsp_irq_cfg
  - >> SystemInit

  R_BSP_SoftwareDelay (Thumb, 132 bytes, Stack size 0 bytes, bsp_delay.o(.text.R_BSP_SoftwareDelay))
  [Calls]

  - >> bsp_prv_software_delay_loop
  [Called By]
  - >> bsp_vbatt_init
  - >> R_BSP_Init_RTC
  - >> bsp_clock_init

  R_BSP_SubClockStabilizeWaitAfterReset (Thumb, 2 bytes, Stack size 0 bytes, bsp_clocks.o(.text.R_BSP_SubClockStabilizeWaitAfterReset))
  [Called By]

  - >> bsp_clock_init

  R_BSP_WarmStart (Thumb, 26 bytes, Stack size 0 bytes, hal_warmstart.o(.text.R_BSP_WarmStart))
  [Called By]

  - >> SystemInit

  R_IOPORT_Open (Thumb, 22 bytes, Stack size 8 bytes, r_ioport.o(.text.R_IOPORT_Open), UNUSED)
  [Calls]

  - >> r_ioport_pins_config

  R_SCI_UART_Abort (Thumb, 34 bytes, Stack size 0 bytes, r_sci_uart.o(.text.R_SCI_UART_Abort))
  [Address Reference Count : 1]

  - r_sci_uart.o(.rodata.g_uart_on_sci)

  R_SCI_UART_BaudSet (Thumb, 80 bytes, Stack size 8 bytes, r_sci_uart.o(.text.R_SCI_UART_BaudSet))
  [Stack]

  - Max Depth = 8
  - Call Chain = R_SCI_UART_BaudSet
  [Address Reference Count : 1]
  - r_sci_uart.o(.rodata.g_uart_on_sci)

  R_SCI_UART_CallbackSet (Thumb, 14 bytes, Stack size 0 bytes, r_sci_uart.o(.text.R_SCI_UART_CallbackSet))
  [Address Reference Count : 1]

  - r_sci_uart.o(.rodata.g_uart_on_sci)

  R_SCI_UART_Close (Thumb, 166 bytes, Stack size 0 bytes, r_sci_uart.o(.text.R_SCI_UART_Close))
  [Address Reference Count : 1]

  - r_sci_uart.o(.rodata.g_uart_on_sci)

  R_SCI_UART_InfoGet (Thumb, 12 bytes, Stack size 0 bytes, r_sci_uart.o(.text.R_SCI_UART_InfoGet))
  [Address Reference Count : 1]

  - r_sci_uart.o(.rodata.g_uart_on_sci)

  R_SCI_UART_Open (Thumb, 798 bytes, Stack size 32 bytes, r_sci_uart.o(.text.R_SCI_UART_Open))
  [Stack]

  - Max Depth = 32
  - Call Chain = R_SCI_UART_Open
  [Called By]
  - >> UART0_Init
  [Address Reference Count : 1]
  - r_sci_uart.o(.rodata.g_uart_on_sci)

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

  - r_sci_uart.o(.rodata.g_uart_on_sci)

  R_SCI_UART_ReadStop (Thumb, 14 bytes, Stack size 0 bytes, r_sci_uart.o(.text.R_SCI_UART_ReadStop))
  [Address Reference Count : 1]

  - r_sci_uart.o(.rodata.g_uart_on_sci)

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

  - r_sci_uart.o(.rodata.g_uart_on_sci)

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

  - r_sci_uart.o(.rodata.g_uart_on_sci)

  R_SCI_UART_Write (Thumb, 76 bytes, Stack size 8 bytes, r_sci_uart.o(.text.R_SCI_UART_Write))
  [Stack]

  - Max Depth = 8
  - Call Chain = R_SCI_UART_Write
  [Called By]
  - >> fputc
  - >> uart0_Send_Byte
  [Address Reference Count : 1]
  - r_sci_uart.o(.rodata.g_uart_on_sci)

  Reset_Handler (Thumb, 10 bytes, Stack size 0 bytes, startup.o(.text.Reset_Handler))
  [Stack]

  - Max Depth = 56
  - Call Chain = Reset_Handler ⇒ main ⇒ hal_entry ⇒ UART0_Init ⇒ R_SCI_UART_Open
  [Calls]
  - >> main
  - >> SystemInit
  [Address Reference Count : 1]
  - startup.o(.fixed_vectors)

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

  - startup.o(.fixed_vectors)

  SystemCoreClockUpdate (Thumb, 44 bytes, Stack size 0 bytes, bsp_clocks.o(.text.SystemCoreClockUpdate))
  [Called By]

  - >> SystemInit

  SystemInit (Thumb, 162 bytes, Stack size 8 bytes, system.o(.text.SystemInit))
  [Stack]

  - Max Depth = 48
  - Call Chain = SystemInit ⇒ bsp_irq_cfg ⇒ R_BSP_RegisterProtectDisable
  [Calls]
  - >> bsp_init
  - >> bsp_irq_cfg
  - >> R_BSP_RegisterProtectEnable
  - >> R_BSP_RegisterProtectDisable
  - >> R_BSP_Init_RTC
  - >> SystemCoreClockUpdate
  - >> bsp_clock_init
  - >> SystemRuntimeInit
  - >> R_BSP_WarmStart
  [Called By]
  - >> Reset_Handler

  UART0_Init (Thumb, 60 bytes, Stack size 8 bytes, usart0.o(.text.UART0_Init))
  [Stack]

  - Max Depth = 40
  - Call Chain = UART0_Init ⇒ R_SCI_UART_Open
  [Calls]
  - >> __aeabi_assert
  - >> RINGBUF_Init
  - >> R_SCI_UART_Open
  [Called By]
  - >> hal_entry

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

  - >> UART0_Init

  bsp_clock_init (Thumb, 302 bytes, Stack size 24 bytes, bsp_clocks.o(.text.bsp_clock_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = bsp_clock_init
  [Calls]
  - >> R_BSP_SubClockStabilizeWaitAfterReset
  - >> R_BSP_SoftwareDelay
  [Called By]
  - >> SystemInit

  bsp_init (Thumb, 2 bytes, Stack size 0 bytes, bsp_common.o(.text.bsp_init_internal))
  [Called By]

  - >> SystemInit

  bsp_init_internal (Thumb, 2 bytes, Stack size 0 bytes, bsp_common.o(.text.bsp_init_internal), UNUSED)

  bsp_irq_cfg (Thumb, 138 bytes, Stack size 32 bytes, bsp_irq.o(.text.bsp_irq_cfg))
  [Stack]

  - Max Depth = 40
  - Call Chain = bsp_irq_cfg ⇒ R_BSP_RegisterProtectDisable
  [Calls]
  - >> R_BSP_RegisterProtectEnable
  - >> R_BSP_RegisterProtectDisable
  [Called By]
  - >> SystemInit

  bsp_prv_software_delay_loop (Thumb, 8 bytes, Stack size 0 bytes, bsp_delay.o(.text.bsp_prv_software_delay_loop))
  [Calls]

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

  fputc (Thumb, 48 bytes, Stack size 16 bytes, usart0.o(.text.fputc))
  [Stack]

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

  hal_entry (Thumb, 52 bytes, Stack size 8 bytes, hal_entry.o(.text.hal_entry))
  [Stack]

  - Max Depth = 48
  - Call Chain = hal_entry ⇒ UART0_Init ⇒ R_SCI_UART_Open
  [Calls]
  - >> puts
  - >> RINGBUF_Get
  - >> hal_systick_init
  - >> uart0_Send_Byte
  - >> UART0_Init
  [Called By]
  - >> main

  hal_systick_init (Thumb, 70 bytes, Stack size 0 bytes, systick.o(.text.hal_systick_init))
  [Called By]

  - >> hal_entry

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

  - Max Depth = 56
  - Call Chain = main ⇒ hal_entry ⇒ UART0_Init ⇒ R_SCI_UART_Open
  [Calls]
  - >> hal_entry
  [Called By]
  - >> Reset_Handler

  sci_uart_eri_isr (Thumb, 106 bytes, Stack size 16 bytes, r_sci_uart.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]
  - vector_data.o(.application_vectors)

  sci_uart_rxi_isr (Thumb, 136 bytes, Stack size 16 bytes, r_sci_uart.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]
  - vector_data.o(.application_vectors)

  sci_uart_tei_isr (Thumb, 74 bytes, Stack size 8 bytes, r_sci_uart.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]
  - vector_data.o(.application_vectors)

  sci_uart_txi_isr (Thumb, 136 bytes, Stack size 0 bytes, r_sci_uart.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]
  - vector_data.o(.application_vectors)

  uart0_Send_Byte (Thumb, 54 bytes, Stack size 16 bytes, usart0.o(.text.uart0_Send_Byte))
  [Stack]

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

  uart0_callback (Thumb, 50 bytes, Stack size 0 bytes, usart0.o(.text.uart0_callback))
  [Stack]

  - Max Depth = 8
  - Call Chain = uart0_callback ⇒ RINGBUF_Put
  [Calls]
  - >> RINGBUF_Put
  [Address Reference Count : 1]
  - hal_data.o(.rodata.g_uart0_cfg)

  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

  SystemRuntimeInit (Thumb, 90 bytes, Stack size 24 bytes, system.o(.text.SystemRuntimeInit))
  [Stack]

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

  r_ioport_pins_config (Thumb, 192 bytes, Stack size 16 bytes, r_ioport.o(.text.r_ioport_pins_config), UNUSED)
  [Calls]

  - >> bsp_vbatt_init
  [Called By]
  - >> R_IOPORT_Open

  bsp_vbatt_init (Thumb, 120 bytes, Stack size 24 bytes, r_ioport.o(.text.bsp_vbatt_init), UNUSED)
  [Calls]

  - >> R_BSP_SoftwareDelay
  [Called By]
  - >> r_ioport_pins_config

  r_sci_uart_call_callback (Thumb, 64 bytes, Stack size 32 bytes, r_sci_uart.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

  ### Undefined Global Symbols