# Static Call Graph for image .\_build\nrf51422_xxac.axf

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Wed Sep 12 16:26:06 2018

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

### Call chain for Maximum Stack Depth:

main ⇒ read_registers ⇒ nrf_drv_twi_tx ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_Handler
- SysTick_Handler ⇒ SysTick_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler
- __asm___11_nrf_delay_c_532987f3__nrf_delay_us ⇒ __asm___11_nrf_delay_c_532987f3__nrf_delay_us
- __asm___13_nrf_drv_twi_c_a9bcf68d__nrf_delay_us ⇒ __asm___13_nrf_drv_twi_c_a9bcf68d__nrf_delay_us

  ### Function Pointers

  - ADC_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - CCM_AAR_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - ECB_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - GPIOTE_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - HardFault_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - LPCOMP_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - NMI_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - POWER_CLOCK_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - PendSV_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - QDEC_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - RADIO_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - RNG_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - RTC0_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - RTC1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - Reset_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SPI0_TWI0_IRQHandler from nrf_drv_twi.o(i.SPI0_TWI0_IRQHandler) referenced from arm_startup_nrf51.o(RESET)
  - SPI1_TWI1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SVC_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SWI0_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SWI1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SWI2_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SWI3_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SWI4_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SWI5_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SysTick_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SystemInit from system_nrf51.o(i.SystemInit) referenced from arm_startup_nrf51.o(.text)
  - TEMP_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - TIMER0_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - TIMER1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - TIMER2_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - UART0_IRQHandler from nrf_drv_uart.o(i.UART0_IRQHandler) referenced from arm_startup_nrf51.o(RESET)
  - WDT_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from arm_startup_nrf51.o(.text)
  - fputc from retarget.o(i.fputc) referenced from printf8.o(i.__0printf$8)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
  - twi_handler from main.o(i.twi_handler) referenced from main.o(i.twi_init)
  - uart_event_handler from app_uart_fifo.o(i.uart_event_handler) referenced from app_uart_fifo.o(i.app_uart_init)
  - uart_events_handler from main.o(i.uart_events_handler) referenced from main.o(i.main)

  ### Global Symbols

  __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
  [Address Reference Count : 1]

  - arm_startup_nrf51.o(.text)

  _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

  _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Calls]

  - >> __scatterload

  __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Called By]

  - >> __scatterload

  _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

  _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

  _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

  __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

  __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

  __asm___11_nrf_delay_c_532987f3__nrf_delay_us (Thumb, 30 bytes, Stack size 0 bytes, nrf_delay.o(.emb_text))
  [Calls]

  - >> __asm___11_nrf_delay_c_532987f3__nrf_delay_us
  [Called By]
  - >> __asm___11_nrf_delay_c_532987f3__nrf_delay_us
  - >> nrf_delay_ms

  __asm___13_nrf_drv_twi_c_a9bcf68d__nrf_delay_us (Thumb, 30 bytes, Stack size 0 bytes, nrf_drv_twi.o(.emb_text))
  [Calls]

  - >> __asm___13_nrf_drv_twi_c_a9bcf68d__nrf_delay_us
  [Called By]
  - >> __asm___13_nrf_drv_twi_c_a9bcf68d__nrf_delay_us
  - >> twi_clear_bus

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

  - arm_startup_nrf51.o(RESET)

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

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

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

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

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

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

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

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

  SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
  [Calls]

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

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

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

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

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

  - arm_startup_nrf51.o(RESET)

  __aeabi_idiv (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED)

  __aeabi_idivmod (Thumb, 40 bytes, Stack size 16 bytes, idiv.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = __aeabi_idivmod ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> read_data

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

  - >> write_registers

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

  - >> app_uart_init

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

  __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))
  [Stack]

  - Max Depth = 12
  - Call Chain = __aeabi_uidivmod
  [Called By]
  - >> __aeabi_idivmod

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

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

  __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
  [Calls]

  - >> __main_after_scatterload
  [Called By]
  - >> _main_scatterload

  __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

  __aeabi_llsl (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_uldivmod

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

  __aeabi_llsr (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_uldivmod

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

  SPI0_TWI0_IRQHandler (Thumb, 12 bytes, Stack size 8 bytes, nrf_drv_twi.o(i.SPI0_TWI0_IRQHandler))
  [Stack]

  - Max Depth = 156
  - Call Chain = SPI0_TWI0_IRQHandler ⇒ irq_handler_twi ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> irq_handler_twi
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  SystemInit (Thumb, 130 bytes, Stack size 8 bytes, system_nrf51.o(i.SystemInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = SystemInit
  [Calls]
  - >> is_manual_peripheral_setup_needed
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(.text)

  UART0_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, nrf_drv_uart.o(i.UART0_IRQHandler))
  [Stack]

  - Max Depth = 72
  - Call Chain = UART0_IRQHandler ⇒ uart_irq_handler ⇒ tx_done_event
  [Calls]
  - >> uart_irq_handler
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  __0printf$8 (Thumb, 24 bytes, Stack size 24 bytes, printf8.o(i.__0printf$8), UNUSED)
  [Calls]

  - >> _printf_core

  __1printf$8 (Thumb, 0 bytes, Stack size 24 bytes, printf8.o(i.__0printf$8), UNUSED)

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

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

  __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

  __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

  __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

  app_error_fault_handler (Thumb, 18 bytes, Stack size 0 bytes, app_error_weak.o(i.app_error_fault_handler))
  [Called By]

  - >> app_error_handler_bare

  app_error_handler_bare (Thumb, 20 bytes, Stack size 16 bytes, app_error.o(i.app_error_handler_bare))
  [Stack]

  - Max Depth = 16
  - Call Chain = app_error_handler_bare
  [Calls]
  - >> app_error_fault_handler
  [Called By]
  - >> twi_init
  - >> twi_handler
  - >> main
  - >> uart_events_handler

  app_fifo_get (Thumb, 22 bytes, Stack size 8 bytes, app_fifo.o(i.app_fifo_get))
  [Stack]

  - Max Depth = 8
  - Call Chain = app_fifo_get
  [Calls]
  - >> fifo_get
  [Called By]
  - >> app_uart_put
  - >> uart_event_handler

  app_fifo_init (Thumb, 36 bytes, Stack size 0 bytes, app_fifo.o(i.app_fifo_init))
  [Called By]

  - >> app_uart_init

  app_fifo_put (Thumb, 26 bytes, Stack size 8 bytes, app_fifo.o(i.app_fifo_put))
  [Stack]

  - Max Depth = 8
  - Call Chain = app_fifo_put
  [Calls]
  - >> fifo_put
  [Called By]
  - >> app_uart_put
  - >> uart_event_handler

  app_uart_init (Thumb, 144 bytes, Stack size 48 bytes, app_uart_fifo.o(i.app_uart_init))
  [Stack]

  - Max Depth = 108
  - Call Chain = app_uart_init ⇒ nrf_drv_uart_rx ⇒ nrf_drv_uart_rx_for_uart ⇒ rx_byte
  [Calls]
  - >> nrf_drv_uart_rx_enable
  - >> nrf_drv_uart_rx
  - >> nrf_drv_uart_init
  - >> app_fifo_init
  - >> __aeabi_memcpy4
  [Called By]
  - >> main

  app_uart_put (Thumb, 48 bytes, Stack size 8 bytes, app_uart_fifo.o(i.app_uart_put))
  [Stack]

  - Max Depth = 40
  - Call Chain = app_uart_put ⇒ nrf_drv_uart_tx ⇒ nrf_drv_uart_tx_for_uart
  [Calls]
  - >> nrf_drv_uart_tx_in_progress
  - >> nrf_drv_uart_tx
  - >> app_fifo_put
  - >> app_fifo_get
  [Called By]
  - >> fputc

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

  - Max Depth = 48
  - Call Chain = fputc ⇒ app_uart_put ⇒ nrf_drv_uart_tx ⇒ nrf_drv_uart_tx_for_uart
  [Calls]
  - >> app_uart_put
  [Address Reference Count : 1]
  - printf8.o(i.__0printf$8)

  main (Thumb, 134 bytes, Stack size 40 bytes, main.o(i.main))
  [Stack]

  - Max Depth = 260
  - Call Chain = main ⇒ read_registers ⇒ nrf_drv_twi_tx ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> nrf_delay_ms
  - >> app_uart_init
  - >> app_error_handler_bare
  - >> write_single_register
  - >> write_registers
  - >> twi_init
  - >> read_registers
  - >> __2printf
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  nrf_delay_ms (Thumb, 24 bytes, Stack size 16 bytes, nrf_delay.o(i.nrf_delay_ms))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_delay_ms
  [Calls]
  - >> __asm___11_nrf_delay_c_532987f3__nrf_delay_us
  [Called By]
  - >> main

  nrf_drv_common_irq_enable (Thumb, 78 bytes, Stack size 8 bytes, nrf_drv_common.o(i.nrf_drv_common_irq_enable))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_drv_common_irq_enable
  [Called By]
  - >> nrf_drv_uart_init
  - >> nrf_drv_twi_init

  nrf_drv_twi_enable (Thumb, 28 bytes, Stack size 0 bytes, nrf_drv_twi.o(i.nrf_drv_twi_enable))
  [Called By]

  - >> twi_init

  nrf_drv_twi_init (Thumb, 126 bytes, Stack size 24 bytes, nrf_drv_twi.o(i.nrf_drv_twi_init))
  [Stack]

  - Max Depth = 48
  - Call Chain = nrf_drv_twi_init ⇒ twi_clear_bus
  [Calls]
  - >> twi_clear_bus
  - >> nrf_drv_common_irq_enable
  [Called By]
  - >> twi_init

  nrf_drv_twi_rx (Thumb, 30 bytes, Stack size 24 bytes, nrf_drv_twi.o(i.nrf_drv_twi_rx))
  [Stack]

  - Max Depth = 180
  - Call Chain = nrf_drv_twi_rx ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> nrf_drv_twi_xfer
  [Called By]
  - >> twi_handler
  - >> read_registers

  nrf_drv_twi_tx (Thumb, 36 bytes, Stack size 24 bytes, nrf_drv_twi.o(i.nrf_drv_twi_tx))
  [Stack]

  - Max Depth = 180
  - Call Chain = nrf_drv_twi_tx ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> nrf_drv_twi_xfer
  [Called By]
  - >> write_single_register
  - >> read_registers

  nrf_drv_twi_xfer (Thumb, 36 bytes, Stack size 16 bytes, nrf_drv_twi.o(i.nrf_drv_twi_xfer))
  [Stack]

  - Max Depth = 156
  - Call Chain = nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> twi_xfer
  [Called By]
  - >> nrf_drv_twi_tx
  - >> nrf_drv_twi_rx
  - >> write_registers

  nrf_drv_uart_init (Thumb, 170 bytes, Stack size 32 bytes, nrf_drv_uart.o(i.nrf_drv_uart_init))
  [Stack]

  - Max Depth = 60
  - Call Chain = nrf_drv_uart_init ⇒ nrf_gpio_cfg_output ⇒ nrf_gpio_cfg
  [Calls]
  - >> nrf_gpio_cfg_output
  - >> nrf_gpio_cfg_input
  - >> nrf_drv_common_irq_enable
  [Called By]
  - >> app_uart_init

  nrf_drv_uart_rx (Thumb, 66 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.nrf_drv_uart_rx))
  [Stack]

  - Max Depth = 60
  - Call Chain = nrf_drv_uart_rx ⇒ nrf_drv_uart_rx_for_uart ⇒ rx_byte
  [Calls]
  - >> nrf_drv_uart_rx_for_uart
  [Called By]
  - >> uart_event_handler
  - >> app_uart_init

  nrf_drv_uart_rx_enable (Thumb, 20 bytes, Stack size 8 bytes, nrf_drv_uart.o(i.nrf_drv_uart_rx_enable))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_drv_uart_rx_enable
  [Calls]
  - >> rx_enable
  [Called By]
  - >> app_uart_init

  nrf_drv_uart_tx (Thumb, 32 bytes, Stack size 8 bytes, nrf_drv_uart.o(i.nrf_drv_uart_tx))
  [Stack]

  - Max Depth = 32
  - Call Chain = nrf_drv_uart_tx ⇒ nrf_drv_uart_tx_for_uart
  [Calls]
  - >> nrf_drv_uart_tx_for_uart
  - >> nrf_drv_uart_tx_in_progress
  [Called By]
  - >> app_uart_put
  - >> uart_event_handler

  nrf_drv_uart_tx_in_progress (Thumb, 12 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.nrf_drv_uart_tx_in_progress))
  [Called By]

  - >> nrf_drv_uart_tx
  - >> app_uart_put

  read_data (Thumb, 264 bytes, Stack size 40 bytes, main.o(i.read_data))
  [Stack]

  - Max Depth = 68
  - Call Chain = read_data ⇒ __aeabi_idivmod ⇒ __aeabi_uidivmod
  [Calls]
  - >> int_to_uint
  - >> __2printf
  - >> __aeabi_idivmod
  [Called By]
  - >> twi_handler

  read_registers (Thumb, 92 bytes, Stack size 40 bytes, main.o(i.read_registers))
  [Stack]

  - Max Depth = 220
  - Call Chain = read_registers ⇒ nrf_drv_twi_tx ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> nrf_drv_twi_tx
  - >> nrf_drv_twi_rx
  [Called By]
  - >> main

  twi_handler (Thumb, 68 bytes, Stack size 16 bytes, main.o(i.twi_handler))
  [Stack]

  - Max Depth = 196
  - Call Chain = twi_handler ⇒ nrf_drv_twi_rx ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> nrf_drv_twi_rx
  - >> app_error_handler_bare
  - >> read_data
  [Address Reference Count : 1]
  - main.o(i.twi_init)

  twi_init (Thumb, 42 bytes, Stack size 24 bytes, main.o(i.twi_init))
  [Stack]

  - Max Depth = 72
  - Call Chain = twi_init ⇒ nrf_drv_twi_init ⇒ twi_clear_bus
  [Calls]
  - >> nrf_drv_twi_init
  - >> nrf_drv_twi_enable
  - >> app_error_handler_bare
  [Called By]
  - >> main

  write_registers (Thumb, 70 bytes, Stack size 32 bytes, main.o(i.write_registers))
  [Stack]

  - Max Depth = 188
  - Call Chain = write_registers ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> nrf_drv_twi_xfer
  - >> __aeabi_memcpy
  [Called By]
  - >> main

  write_single_register (Thumb, 54 bytes, Stack size 24 bytes, main.o(i.write_single_register))
  [Stack]

  - Max Depth = 204
  - Call Chain = write_single_register ⇒ nrf_drv_twi_tx ⇒ nrf_drv_twi_xfer ⇒ twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> nrf_drv_twi_tx
  [Called By]
  - >> main

  ### Local Symbols

  int_to_uint (Thumb, 20 bytes, Stack size 0 bytes, main.o(i.int_to_uint))
  [Called By]

  - >> read_data

  uart_events_handler (Thumb, 20 bytes, Stack size 8 bytes, main.o(i.uart_events_handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = uart_events_handler ⇒ app_error_handler_bare
  [Calls]
  - >> app_error_handler_bare
  [Address Reference Count : 1]
  - main.o(i.main)

  uart_event_handler (Thumb, 166 bytes, Stack size 24 bytes, app_uart_fifo.o(i.uart_event_handler))
  [Stack]

  - Max Depth = 84
  - Call Chain = uart_event_handler ⇒ nrf_drv_uart_rx ⇒ nrf_drv_uart_rx_for_uart ⇒ rx_byte
  [Calls]
  - >> nrf_drv_uart_tx
  - >> nrf_drv_uart_rx
  - >> app_fifo_put
  - >> app_fifo_get
  [Address Reference Count : 1]
  - app_uart_fifo.o(i.app_uart_init)

  irq_handler_twi (Thumb, 172 bytes, Stack size 32 bytes, nrf_drv_twi.o(i.irq_handler_twi))
  [Stack]

  - Max Depth = 148
  - Call Chain = irq_handler_twi ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> twi_tx_start_transfer
  - >> twi_transfer
  - >> twi_rx_start_transfer
  [Called By]
  - >> SPI0_TWI0_IRQHandler

  nrf_gpio_pin_set (Thumb, 10 bytes, Stack size 0 bytes, nrf_drv_twi.o(i.nrf_gpio_pin_set))
  [Called By]

  - >> twi_clear_bus

  nrf_twi_event_check (Thumb, 10 bytes, Stack size 0 bytes, nrf_drv_twi.o(i.nrf_twi_event_check))
  [Called By]

  - >> twi_transfer

  twi_clear_bus (Thumb, 138 bytes, Stack size 24 bytes, nrf_drv_twi.o(i.twi_clear_bus))
  [Stack]

  - Max Depth = 24
  - Call Chain = twi_clear_bus
  [Calls]
  - >> __asm___13_nrf_drv_twi_c_a9bcf68d__nrf_delay_us
  - >> nrf_gpio_pin_set
  [Called By]
  - >> nrf_drv_twi_init

  twi_rx_start_transfer (Thumb, 134 bytes, Stack size 56 bytes, nrf_drv_twi.o(i.twi_rx_start_transfer))
  [Stack]

  - Max Depth = 108
  - Call Chain = twi_rx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> twi_transfer
  [Called By]
  - >> twi_xfer
  - >> irq_handler_twi

  twi_send_byte (Thumb, 46 bytes, Stack size 12 bytes, nrf_drv_twi.o(i.twi_send_byte))
  [Stack]

  - Max Depth = 12
  - Call Chain = twi_send_byte
  [Called By]
  - >> twi_tx_start_transfer
  - >> twi_transfer

  twi_transfer (Thumb, 262 bytes, Stack size 40 bytes, nrf_drv_twi.o(i.twi_transfer))
  [Stack]

  - Max Depth = 52
  - Call Chain = twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> twi_send_byte
  - >> nrf_twi_event_check
  [Called By]
  - >> twi_tx_start_transfer
  - >> twi_rx_start_transfer
  - >> irq_handler_twi

  twi_tx_start_transfer (Thumb, 136 bytes, Stack size 64 bytes, nrf_drv_twi.o(i.twi_tx_start_transfer))
  [Stack]

  - Max Depth = 116
  - Call Chain = twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> twi_transfer
  - >> twi_send_byte
  [Called By]
  - >> twi_xfer
  - >> irq_handler_twi

  twi_xfer (Thumb, 140 bytes, Stack size 24 bytes, nrf_drv_twi.o(i.twi_xfer))
  [Stack]

  - Max Depth = 140
  - Call Chain = twi_xfer ⇒ twi_tx_start_transfer ⇒ twi_transfer ⇒ twi_send_byte
  [Calls]
  - >> twi_tx_start_transfer
  - >> twi_rx_start_transfer
  [Called By]
  - >> nrf_drv_twi_xfer

  nrf_drv_uart_rx_for_uart (Thumb, 144 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.nrf_drv_uart_rx_for_uart))
  [Stack]

  - Max Depth = 36
  - Call Chain = nrf_drv_uart_rx_for_uart ⇒ rx_byte
  [Calls]
  - >> rx_enable
  - >> rx_byte
  - >> nrf_uart_event_check
  [Called By]
  - >> nrf_drv_uart_rx

  nrf_drv_uart_tx_for_uart (Thumb, 108 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.nrf_drv_uart_tx_for_uart))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_drv_uart_tx_for_uart
  [Calls]
  - >> tx_byte
  - >> nrf_uart_event_check
  [Called By]
  - >> nrf_drv_uart_tx

  nrf_gpio_cfg (Thumb, 32 bytes, Stack size 12 bytes, nrf_drv_uart.o(i.nrf_gpio_cfg))
  [Stack]

  - Max Depth = 12
  - Call Chain = nrf_gpio_cfg
  [Called By]
  - >> nrf_gpio_cfg_output
  - >> nrf_gpio_cfg_input

  nrf_gpio_cfg_input (Thumb, 18 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.nrf_gpio_cfg_input))
  [Stack]

  - Max Depth = 28
  - Call Chain = nrf_gpio_cfg_input ⇒ nrf_gpio_cfg
  [Calls]
  - >> nrf_gpio_cfg
  [Called By]
  - >> nrf_drv_uart_init

  nrf_gpio_cfg_output (Thumb, 20 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.nrf_gpio_cfg_output))
  [Stack]

  - Max Depth = 28
  - Call Chain = nrf_gpio_cfg_output ⇒ nrf_gpio_cfg
  [Calls]
  - >> nrf_gpio_cfg
  [Called By]
  - >> nrf_drv_uart_init

  nrf_uart_event_check (Thumb, 10 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.nrf_uart_event_check))
  [Called By]

  - >> uart_irq_handler
  - >> nrf_drv_uart_tx_for_uart
  - >> nrf_drv_uart_rx_for_uart

  nrf_uart_int_enable_check (Thumb, 16 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.nrf_uart_int_enable_check))
  [Called By]

  - >> uart_irq_handler

  rx_byte (Thumb, 42 bytes, Stack size 12 bytes, nrf_drv_uart.o(i.rx_byte))
  [Stack]

  - Max Depth = 12
  - Call Chain = rx_byte
  [Called By]
  - >> uart_irq_handler
  - >> nrf_drv_uart_rx_for_uart

  rx_done_event (Thumb, 22 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.rx_done_event))
  [Stack]

  - Max Depth = 24
  - Call Chain = rx_done_event
  [Called By]
  - >> uart_irq_handler

  rx_enable (Thumb, 22 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.rx_enable))
  [Called By]

  - >> nrf_drv_uart_rx_for_uart
  - >> nrf_drv_uart_rx_enable

  tx_byte (Thumb, 30 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.tx_byte))
  [Called By]

  - >> uart_irq_handler
  - >> nrf_drv_uart_tx_for_uart

  tx_done_event (Thumb, 26 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.tx_done_event))
  [Stack]

  - Max Depth = 24
  - Call Chain = tx_done_event
  [Called By]
  - >> uart_irq_handler

  uart_irq_handler (Thumb, 278 bytes, Stack size 40 bytes, nrf_drv_uart.o(i.uart_irq_handler))
  [Stack]

  - Max Depth = 64
  - Call Chain = uart_irq_handler ⇒ tx_done_event
  [Calls]
  - >> tx_done_event
  - >> tx_byte
  - >> rx_done_event
  - >> rx_byte
  - >> nrf_uart_int_enable_check
  - >> nrf_uart_event_check
  [Called By]
  - >> UART0_IRQHandler

  fifo_get (Thumb, 20 bytes, Stack size 0 bytes, app_fifo.o(i.fifo_get))
  [Called By]

  - >> app_fifo_get

  fifo_put (Thumb, 18 bytes, Stack size 0 bytes, app_fifo.o(i.fifo_put))
  [Called By]

  - >> app_fifo_put

  is_manual_peripheral_setup_needed (Thumb, 66 bytes, Stack size 0 bytes, system_nrf51.o(i.is_manual_peripheral_setup_needed))
  [Called By]

  - >> SystemInit

  _printf_core (Thumb, 1020 bytes, Stack size 104 bytes, printf8.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> _printf_pre_padding
  - >> _printf_post_padding
  [Called By]
  - >> __0printf$8

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

  - >> _printf_core

  _printf_pre_padding (Thumb, 44 bytes, Stack size 40 bytes, printf8.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

  ### Undefined Global Symbols