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

#<CALLGRAPH># ARM Linker, 5060422: Last Updated: Thu Sep 07 09:14:16 2017

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

### Call chain for Maximum Stack Depth:

main ⇒ advertising_init ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode

### 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_app_timer_c_cd27f9c3__nrf_delay_us ⇒ __asm___11_app_timer_c_cd27f9c3__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 nrf_drv_gpiote.o(i.GPIOTE_IRQHandler) 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 app_timer.o(i.RTC1_IRQHandler) 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 arm_startup_nrf51.o(.text) 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 app_timer.o(i.SWI0_IRQHandler) 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 softdevice_handler.o(i.SWI2_IRQHandler) 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)
  - alert_timer_handler from bsp.o(i.alert_timer_handler) referenced from bsp.o(i.bsp_init)
  - bsp_button_event_handler from bsp.o(i.bsp_button_event_handler) referenced 2 times from bsp.o(.constdata)
  - button_timer_handler from bsp.o(i.button_timer_handler) referenced from bsp.o(i.bsp_init)
  - detection_delay_timeout_handler from app_button.o(i.detection_delay_timeout_handler) referenced from app_button.o(i.app_button_init)
  - gpiote_event_handler from app_button.o(i.gpiote_event_handler) referenced from app_button.o(i.app_button_init)
  - leds_timer_handler from bsp.o(i.leds_timer_handler) referenced from bsp.o(i.bsp_init)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
  - softdevice_fault_handler from softdevice_handler.o(i.softdevice_fault_handler) referenced from softdevice_handler.o(i.softdevice_handler_init)

  ### 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_app_timer_c_cd27f9c3__nrf_delay_us (Thumb, 30 bytes, Stack size 0 bytes, app_timer.o(.emb_text))
  [Calls]

  - >> __asm___11_app_timer_c_cd27f9c3__nrf_delay_us
  [Called By]
  - >> __asm___11_app_timer_c_cd27f9c3__nrf_delay_us
  - >> rtc1_stop
  - >> compare_reg_update

  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)

  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)

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

  SWI1_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_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]
  - >> bsp_led_indication

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

  - >> service_data_encode
  - >> manuf_specific_data_encode
  - >> ble_device_addr_encode

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

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

  - >> softdevice_enable_get_default_config
  - >> advertising_init

  __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

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

  GPIOTE_IRQHandler (Thumb, 312 bytes, Stack size 64 bytes, nrf_drv_gpiote.o(i.GPIOTE_IRQHandler))
  [Stack]

  - Max Depth = 64
  - Call Chain = GPIOTE_IRQHandler
  [Calls]
  - >> channel_port_get
  - >> nrf_gpiote_event_is_set
  - >> nrf_gpio_cfg_sense_set
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  RTC1_IRQHandler (Thumb, 28 bytes, Stack size 8 bytes, app_timer.o(i.RTC1_IRQHandler))
  [Stack]

  - Max Depth = 48
  - Call Chain = RTC1_IRQHandler ⇒ timer_timeouts_check ⇒ app_error_handler_bare
  [Calls]
  - >> timer_timeouts_check
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  SWI0_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, app_timer.o(i.SWI0_IRQHandler))
  [Stack]

  - Max Depth = 80
  - Call Chain = SWI0_IRQHandler ⇒ timer_list_handler ⇒ compare_reg_update ⇒ rtc1_stop
  [Calls]
  - >> timer_list_handler
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  SWI2_IRQHandler (Thumb, 28 bytes, Stack size 8 bytes, softdevice_handler.o(i.SWI2_IRQHandler))
  [Stack]

  - Max Depth = 48
  - Call Chain = SWI2_IRQHandler ⇒ intern_softdevice_events_execute ⇒ app_error_handler_bare
  [Calls]
  - >> app_error_handler_bare
  - >> intern_softdevice_events_execute
  [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)

  __ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, bsp.o(i.__ARM_common_switch8))
  [Stack]

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

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

  adv_data_encode (Thumb, 534 bytes, Stack size 48 bytes, ble_advdata.o(i.adv_data_encode))
  [Stack]

  - Max Depth = 144
  - Call Chain = adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> uuid_list_encode
  - >> uint16_encode
  - >> service_data_encode
  - >> name_encode
  - >> manuf_specific_data_encode
  - >> le_role_encode
  - >> conn_int_encode
  - >> ble_device_addr_encode
  [Called By]
  - >> ble_advdata_set

  app_button_enable (Thumb, 32 bytes, Stack size 16 bytes, app_button.o(i.app_button_enable))
  [Stack]

  - Max Depth = 48
  - Call Chain = app_button_enable ⇒ nrf_drv_gpiote_in_event_enable
  [Calls]
  - >> nrf_drv_gpiote_in_event_enable
  [Called By]
  - >> bsp_init

  app_button_init (Thumb, 100 bytes, Stack size 24 bytes, app_button.o(i.app_button_init))
  [Stack]

  - Max Depth = 76
  - Call Chain = app_button_init ⇒ nrf_drv_gpiote_in_init ⇒ channel_port_alloc
  [Calls]
  - >> app_timer_create
  - >> nrf_drv_gpiote_is_init
  - >> nrf_drv_gpiote_init
  - >> nrf_drv_gpiote_in_init
  [Called By]
  - >> bsp_init

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

  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]
  - >> main
  - >> advertising_init
  - >> timer_timeouts_check
  - >> intern_softdevice_events_execute
  - >> SWI2_IRQHandler

  app_timer_create (Thumb, 40 bytes, Stack size 0 bytes, app_timer.o(i.app_timer_create))
  [Called By]

  - >> app_button_init
  - >> bsp_init

  app_timer_init (Thumb, 126 bytes, Stack size 40 bytes, app_timer.o(i.app_timer_init))
  [Stack]

  - Max Depth = 56
  - Call Chain = app_timer_init ⇒ rtc1_stop
  [Calls]
  - >> rtc1_stop
  - >> NVIC_SetPriority
  [Called By]
  - >> main

  app_timer_start (Thumb, 114 bytes, Stack size 32 bytes, app_timer.o(i.app_timer_start))
  [Stack]

  - Max Depth = 32
  - Call Chain = app_timer_start
  [Calls]
  - >> user_op_alloc
  - >> user_id_get
  - >> timer_list_handler_sched
  [Called By]
  - >> bsp_led_indication
  - >> bsp_button_event_handler
  - >> gpiote_event_handler

  app_timer_stop (Thumb, 78 bytes, Stack size 24 bytes, app_timer.o(i.app_timer_stop))
  [Stack]

  - Max Depth = 24
  - Call Chain = app_timer_stop
  [Calls]
  - >> user_op_alloc
  - >> user_id_get
  - >> timer_list_handler_sched
  [Called By]
  - >> bsp_led_indication
  - >> bsp_button_event_handler
  - >> gpiote_event_handler

  ble_advdata_set (Thumb, 104 bytes, Stack size 96 bytes, ble_advdata.o(i.ble_advdata_set))
  [Stack]

  - Max Depth = 240
  - Call Chain = ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> adv_data_encode
  [Called By]
  - >> advertising_init

  bsp_event_to_button_action_assign (Thumb, 66 bytes, Stack size 16 bytes, bsp.o(i.bsp_event_to_button_action_assign))
  [Stack]

  - Max Depth = 16
  - Call Chain = bsp_event_to_button_action_assign
  [Called By]
  - >> bsp_init

  bsp_indication_set (Thumb, 22 bytes, Stack size 8 bytes, bsp.o(i.bsp_indication_set))
  [Stack]

  - Max Depth = 72
  - Call Chain = bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start
  [Calls]
  - >> bsp_led_indication
  [Called By]
  - >> main

  bsp_init (Thumb, 134 bytes, Stack size 16 bytes, bsp.o(i.bsp_init))
  [Stack]

  - Max Depth = 92
  - Call Chain = bsp_init ⇒ app_button_init ⇒ nrf_drv_gpiote_in_init ⇒ channel_port_alloc
  [Calls]
  - >> app_timer_create
  - >> app_button_init
  - >> app_button_enable
  - >> bsp_event_to_button_action_assign
  [Called By]
  - >> main

  intern_softdevice_events_execute (Thumb, 116 bytes, Stack size 24 bytes, softdevice_handler.o(i.intern_softdevice_events_execute))
  [Stack]

  - Max Depth = 40
  - Call Chain = intern_softdevice_events_execute ⇒ app_error_handler_bare
  [Calls]
  - >> app_error_handler_bare
  [Called By]
  - >> SWI2_IRQHandler

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

  - Max Depth = 344
  - Call Chain = main ⇒ advertising_init ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> softdevice_handler_init
  - >> softdevice_enable_get_default_config
  - >> softdevice_enable
  - >> sd_check_ram_start
  - >> bsp_init
  - >> bsp_indication_set
  - >> app_timer_init
  - >> app_error_handler_bare
  - >> advertising_init
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  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_gpiote_init

  nrf_drv_gpiote_in_event_enable (Thumb, 138 bytes, Stack size 32 bytes, nrf_drv_gpiote.o(i.nrf_drv_gpiote_in_event_enable))
  [Stack]

  - Max Depth = 32
  - Call Chain = nrf_drv_gpiote_in_event_enable
  [Calls]
  - >> channel_port_get
  - >> pin_in_use_by_te
  - >> pin_in_use_by_port
  - >> nrf_gpio_cfg_sense_set
  [Called By]
  - >> app_button_enable

  nrf_drv_gpiote_in_init (Thumb, 146 bytes, Stack size 32 bytes, nrf_drv_gpiote.o(i.nrf_drv_gpiote_in_init))
  [Stack]

  - Max Depth = 52
  - Call Chain = nrf_drv_gpiote_in_init ⇒ channel_port_alloc
  [Calls]
  - >> channel_port_alloc
  - >> nrf_gpio_cfg
  [Called By]
  - >> app_button_init

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

  - >> gpiote_event_handler
  - >> detection_delay_timeout_handler

  nrf_drv_gpiote_init (Thumb, 76 bytes, Stack size 16 bytes, nrf_drv_gpiote.o(i.nrf_drv_gpiote_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_drv_gpiote_init ⇒ nrf_drv_common_irq_enable
  [Calls]
  - >> channel_free
  - >> nrf_drv_common_irq_enable
  [Called By]
  - >> app_button_init

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

  - >> app_button_init

  sd_check_ram_start (Thumb, 10 bytes, Stack size 8 bytes, softdevice_handler.o(i.sd_check_ram_start))
  [Stack]

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

  softdevice_enable (Thumb, 14 bytes, Stack size 16 bytes, softdevice_handler.o(i.softdevice_enable))
  [Stack]

  - Max Depth = 16
  - Call Chain = softdevice_enable
  [Called By]
  - >> main

  softdevice_enable_get_default_config (Thumb, 40 bytes, Stack size 16 bytes, softdevice_handler.o(i.softdevice_enable_get_default_config))
  [Stack]

  - Max Depth = 16
  - Call Chain = softdevice_enable_get_default_config
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  softdevice_fault_handler (Thumb, 8 bytes, Stack size 8 bytes, softdevice_handler.o(i.softdevice_fault_handler))
  [Stack]

  - Max Depth = 8
  - Call Chain = softdevice_fault_handler
  [Calls]
  - >> app_error_fault_handler
  [Address Reference Count : 1]
  - softdevice_handler.o(i.softdevice_handler_init)

  softdevice_handler_init (Thumb, 42 bytes, Stack size 16 bytes, softdevice_handler.o(i.softdevice_handler_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = softdevice_handler_init ⇒ sd_nvic_EnableIRQ
  [Calls]
  - >> sd_nvic_EnableIRQ
  [Called By]
  - >> main

  ### Local Symbols

  advertising_init (Thumb, 84 bytes, Stack size 80 bytes, main.o(i.advertising_init))
  [Stack]

  - Max Depth = 320
  - Call Chain = advertising_init ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> ble_advdata_set
  - >> app_error_handler_bare
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  alert_timer_handler (Thumb, 20 bytes, Stack size 0 bytes, bsp.o(i.alert_timer_handler))
  [Address Reference Count : 1]

  - bsp.o(i.bsp_init)

  bsp_button_event_handler (Thumb, 154 bytes, Stack size 24 bytes, bsp.o(i.bsp_button_event_handler))
  [Stack]

  - Max Depth = 56
  - Call Chain = bsp_button_event_handler ⇒ app_timer_start
  [Calls]
  - >> app_timer_stop
  - >> app_timer_start
  [Called By]
  - >> button_timer_handler
  [Address Reference Count : 1]
  - bsp.o(.constdata)

  bsp_led_indication (Thumb, 474 bytes, Stack size 32 bytes, bsp.o(i.bsp_led_indication))
  [Stack]

  - Max Depth = 64
  - Call Chain = bsp_led_indication ⇒ app_timer_start
  [Calls]
  - >> app_timer_stop
  - >> app_timer_start
  - >> __ARM_common_switch8
  - >> __aeabi_uidivmod
  [Called By]
  - >> leds_timer_handler
  - >> bsp_indication_set

  button_timer_handler (Thumb, 12 bytes, Stack size 8 bytes, bsp.o(i.button_timer_handler))
  [Stack]

  - Max Depth = 64
  - Call Chain = button_timer_handler ⇒ bsp_button_event_handler ⇒ app_timer_start
  [Calls]
  - >> bsp_button_event_handler
  [Address Reference Count : 1]
  - bsp.o(i.bsp_init)

  leds_timer_handler (Thumb, 18 bytes, Stack size 8 bytes, bsp.o(i.leds_timer_handler))
  [Stack]

  - Max Depth = 72
  - Call Chain = leds_timer_handler ⇒ bsp_led_indication ⇒ app_timer_start
  [Calls]
  - >> bsp_led_indication
  [Address Reference Count : 1]
  - bsp.o(i.bsp_init)

  ble_device_addr_encode (Thumb, 94 bytes, Stack size 24 bytes, ble_advdata.o(i.ble_device_addr_encode))
  [Stack]

  - Max Depth = 24
  - Call Chain = ble_device_addr_encode
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> adv_data_encode

  conn_int_encode (Thumb, 130 bytes, Stack size 24 bytes, ble_advdata.o(i.conn_int_encode))
  [Stack]

  - Max Depth = 24
  - Call Chain = conn_int_encode
  [Calls]
  - >> uint16_encode
  [Called By]
  - >> adv_data_encode

  le_role_encode (Thumb, 84 bytes, Stack size 12 bytes, ble_advdata.o(i.le_role_encode))
  [Stack]

  - Max Depth = 12
  - Call Chain = le_role_encode
  [Called By]
  - >> adv_data_encode

  manuf_specific_data_encode (Thumb, 104 bytes, Stack size 16 bytes, ble_advdata.o(i.manuf_specific_data_encode))
  [Stack]

  - Max Depth = 16
  - Call Chain = manuf_specific_data_encode
  [Calls]
  - >> uint16_encode
  - >> __aeabi_memcpy
  [Called By]
  - >> adv_data_encode

  name_encode (Thumb, 158 bytes, Stack size 24 bytes, ble_advdata.o(i.name_encode))
  [Stack]

  - Max Depth = 24
  - Call Chain = name_encode
  [Called By]
  - >> adv_data_encode

  service_data_encode (Thumb, 142 bytes, Stack size 40 bytes, ble_advdata.o(i.service_data_encode))
  [Stack]

  - Max Depth = 40
  - Call Chain = service_data_encode
  [Calls]
  - >> uint16_encode
  - >> __aeabi_memcpy
  [Called By]
  - >> adv_data_encode

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

  - >> adv_data_encode
  - >> service_data_encode
  - >> manuf_specific_data_encode
  - >> conn_int_encode

  uuid_list_encode (Thumb, 48 bytes, Stack size 48 bytes, ble_advdata.o(i.uuid_list_encode))
  [Stack]

  - Max Depth = 96
  - Call Chain = uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> uuid_list_sized_encode
  [Called By]
  - >> adv_data_encode

  uuid_list_sized_encode (Thumb, 174 bytes, Stack size 48 bytes, ble_advdata.o(i.uuid_list_sized_encode))
  [Stack]

  - Max Depth = 48
  - Call Chain = uuid_list_sized_encode
  [Called By]
  - >> uuid_list_encode

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

  - >> nrf_drv_gpiote_init

  channel_port_alloc (Thumb, 66 bytes, Stack size 20 bytes, nrf_drv_gpiote.o(i.channel_port_alloc))
  [Stack]

  - Max Depth = 20
  - Call Chain = channel_port_alloc
  [Called By]
  - >> nrf_drv_gpiote_in_init

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

  - >> nrf_drv_gpiote_in_event_enable
  - >> GPIOTE_IRQHandler

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

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

  nrf_gpio_cfg_sense_set (Thumb, 26 bytes, Stack size 0 bytes, nrf_drv_gpiote.o(i.nrf_gpio_cfg_sense_set))
  [Called By]

  - >> nrf_drv_gpiote_in_event_enable
  - >> GPIOTE_IRQHandler

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

  - >> GPIOTE_IRQHandler

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

  - >> nrf_drv_gpiote_in_event_enable

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

  - >> nrf_drv_gpiote_in_event_enable

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

  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

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

  - >> uart_irq_handler

  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

  detection_delay_timeout_handler (Thumb, 90 bytes, Stack size 24 bytes, app_button.o(i.detection_delay_timeout_handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = detection_delay_timeout_handler
  [Calls]
  - >> nrf_drv_gpiote_in_is_set
  [Address Reference Count : 1]
  - app_button.o(i.app_button_init)

  gpiote_event_handler (Thumb, 72 bytes, Stack size 24 bytes, app_button.o(i.gpiote_event_handler))
  [Stack]

  - Max Depth = 56
  - Call Chain = gpiote_event_handler ⇒ app_timer_start
  [Calls]
  - >> app_timer_stop
  - >> app_timer_start
  - >> nrf_drv_gpiote_in_is_set
  [Address Reference Count : 1]
  - app_button.o(i.app_button_init)

  NVIC_SetPriority (Thumb, 60 bytes, Stack size 0 bytes, app_timer.o(i.NVIC_SetPriority))
  [Called By]

  - >> app_timer_init

  compare_reg_update (Thumb, 142 bytes, Stack size 24 bytes, app_timer.o(i.compare_reg_update))
  [Stack]

  - Max Depth = 40
  - Call Chain = compare_reg_update ⇒ rtc1_stop
  [Calls]
  - >> __asm___11_app_timer_c_cd27f9c3__nrf_delay_us
  - >> rtc1_stop
  [Called By]
  - >> timer_list_handler

  elapsed_ticks_acquire (Thumb, 58 bytes, Stack size 8 bytes, app_timer.o(i.elapsed_ticks_acquire))
  [Stack]

  - Max Depth = 8
  - Call Chain = elapsed_ticks_acquire
  [Called By]
  - >> timer_list_handler

  list_deletions_handler (Thumb, 180 bytes, Stack size 24 bytes, app_timer.o(i.list_deletions_handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = list_deletions_handler
  [Called By]
  - >> timer_list_handler

  list_insertions_handler (Thumb, 202 bytes, Stack size 24 bytes, app_timer.o(i.list_insertions_handler))
  [Stack]

  - Max Depth = 32
  - Call Chain = list_insertions_handler ⇒ timer_list_insert
  [Calls]
  - >> timer_list_insert
  [Called By]
  - >> timer_list_handler

  rtc1_stop (Thumb, 50 bytes, Stack size 16 bytes, app_timer.o(i.rtc1_stop))
  [Stack]

  - Max Depth = 16
  - Call Chain = rtc1_stop
  [Calls]
  - >> __asm___11_app_timer_c_cd27f9c3__nrf_delay_us
  [Called By]
  - >> app_timer_init
  - >> compare_reg_update

  timer_list_handler (Thumb, 128 bytes, Stack size 32 bytes, app_timer.o(i.timer_list_handler))
  [Stack]

  - Max Depth = 72
  - Call Chain = timer_list_handler ⇒ compare_reg_update ⇒ rtc1_stop
  [Calls]
  - >> list_insertions_handler
  - >> list_deletions_handler
  - >> elapsed_ticks_acquire
  - >> compare_reg_update
  [Called By]
  - >> SWI0_IRQHandler

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

  - >> app_timer_stop
  - >> app_timer_start
  - >> timer_timeouts_check

  timer_list_insert (Thumb, 60 bytes, Stack size 8 bytes, app_timer.o(i.timer_list_insert))
  [Stack]

  - Max Depth = 8
  - Call Chain = timer_list_insert
  [Called By]
  - >> list_insertions_handler

  timer_timeouts_check (Thumb, 118 bytes, Stack size 24 bytes, app_timer.o(i.timer_timeouts_check))
  [Stack]

  - Max Depth = 40
  - Call Chain = timer_timeouts_check ⇒ app_error_handler_bare
  [Calls]
  - >> app_error_handler_bare
  - >> timer_list_handler_sched
  [Called By]
  - >> RTC1_IRQHandler

  user_id_get (Thumb, 76 bytes, Stack size 0 bytes, app_timer.o(i.user_id_get))
  [Called By]

  - >> app_timer_stop
  - >> app_timer_start

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

  - >> app_timer_stop
  - >> app_timer_start

  sd_nvic_EnableIRQ (Thumb, 116 bytes, Stack size 8 bytes, softdevice_handler.o(i.sd_nvic_EnableIRQ))
  [Stack]

  - Max Depth = 8
  - Call Chain = sd_nvic_EnableIRQ
  [Called By]
  - >> softdevice_handler_init

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

  - >> SystemInit

  ### Undefined Global Symbols