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

#<CALLGRAPH># ARM Linker, 5.03 [Build 76]: Last Updated: Sat Aug 12 13:47:13 2017

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

### Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ advertising_init ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode

### Functions with no stack information

- __user_initial_stackheap

### 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 app_gpiote.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 app_timer.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 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(.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 softdevice_handler.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(.text) 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 main.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - WDT_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - __main from __main.o(!!!main) referenced from arm_startup_nrf51.o(.text)
  - _printf_input_char from _printf_char_common.o(.text) referenced from _printf_char_common.o(.text)
  - _sputc from _sputc.o(.text) referenced from noretval__2sprintf.o(.text)
  - ble_evt_dispatch from main.o(.text) referenced from main.o(.text)
  - ble_stop_current_connect from main.o(.text) referenced from user_ble_control.o(.text)
  - cmd_at_change_boud from at_cmd.o(.text) referenced from at_cmd.o(.data)
  - cmd_at_mac from at_cmd.o(.text) referenced from at_cmd.o(.data)
  - cmd_at_reset from at_cmd.o(.text) referenced from at_cmd.o(.data)
  - cmd_close_ad from at_cmd.o(.text) referenced from at_cmd.o(.data)
  - cmd_manage_ble_name from at_cmd.o(.text) referenced from at_cmd.o(.data)
  - conn_params_error_handler from main.o(.text) referenced from main.o(.text)
  - enter_system_off from user_ble_control.o(.text) referenced from user_ble_control.o(.text)
  - gpio_event_handler from user_ble_control.o(.text) referenced from user_ble_control.o(.text)
  - handle_delay_exe_fun from at_cmd.o(.text) referenced from at_cmd.o(.text)
  - heart_interrupt_handle from min_task_schedule.o(.text) referenced from min_task_schedule.o(.text)
  - nus_data_handler from main.o(.text) referenced from main.o(.text)
  - on_conn_params_evt from main.o(.text) referenced from main.o(.text)
  - softdevice_assertion_handler from softdevice_handler.o(.text) referenced from softdevice_handler.o(.text)
  - task_fun from min_task_schedule.o(.text) referenced 5 times from min_task_schedule.o(.data)
  - uart_delay_send_handle from main.o(.text) referenced from main.o(.text)
  - uart_power_off from main.o(.text) referenced from main.o(.text)
  - update_timeout_handler from ble_conn_params.o(.text) referenced from ble_conn_params.o(.text)

  ### Global Symbols

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

  - >> __scatterload
  - >> __rt_entry

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

  - >> __main

  __scatterload_rt2 (Thumb, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
  [Calls]

  - >> __rt_entry

  __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
  [Calls]

  - >> __scatterload_copy
  [Called By]
  - >> __scatterload_copy

  __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

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

  - >> __printf

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

  - Max Depth = 56 + Unknown Stack Size
  - Call Chain = _printf_x ⇒ _printf_int_hex ⇒ _printf_int_common
  [Calls]
  - >> _printf_percent_end
  - >> _printf_int_hex

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

  - >> _printf_x

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

  - >> __rt_entry_li

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  - >> __rt_exit_ls

  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))

  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))

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

  - >> __scatterload_rt2
  - >> __main

  __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000002))

  __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, rtentry4.o(.ARM.Collect$$rtentry$$00000004))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
  [Calls]
  - >> __user_setup_stackheap

  __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
  [Calls]

  - >> __rt_lib_init

  __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000009))

  __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
  [Stack]

  - Max Depth = 368 + Unknown Stack Size
  - Call Chain = __rt_entry_main ⇒ main ⇒ advertising_init ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> main
  - >> exit

  __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

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

  - >> exit

  __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
  [Calls]

  - >> __rt_lib_shutdown

  __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

  __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
  [Calls]

  - >> _sys_exit

  __asm___13_simple_uart_c_5dda6715__nrf_delay_us (Thumb, 30 bytes, Stack size 0 bytes, simple_uart.o(.emb_text), UNUSED)
  [Calls]

  - >> __asm___13_simple_uart_c_5dda6715__nrf_delay_us
  [Called By]
  - >> simple_uart_get_with_timeout
  - >> __asm___13_simple_uart_c_5dda6715__nrf_delay_us

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

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

  - >> init_user_data
  - >> ble_conn_params_init
  - >> __aeabi_memcpy

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

  Reset_Handler (Thumb, 18 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)

  __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, arm_startup_nrf51.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  SystemCoreClockUpdate (Thumb, 8 bytes, Stack size 0 bytes, system_nrf51.o(.text), UNUSED)

  SystemInit (Thumb, 38 bytes, Stack size 8 bytes, system_nrf51.o(.text))
  [Stack]

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

  app_error_handler (Thumb, 24 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> timeout_handler_exec
  - >> SWI2_IRQHandler
  - >> intern_softdevice_events_execute
  - >> init_user_ble_control
  - >> main
  - >> UART0_IRQHandler
  - >> uart_delay_send_handle
  - >> advertising_start
  - >> assert_nrf_callback
  - >> power_manage
  - >> ble_stack_init
  - >> on_ble_evt
  - >> conn_params_init
  - >> conn_params_error_handler
  - >> on_conn_params_evt
  - >> services_init
  - >> advertising_init
  - >> gap_params_init
  - >> timers_init
  - >> app_sched_event_put

  assert_nrf_callback (Thumb, 14 bytes, Stack size 0 bytes, main.o(.text))
  [Calls]

  - >> app_error_handler
  [Called By]
  - >> softdevice_assertion_handler

  nus_data_handler (Thumb, 26 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = nus_data_handler ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_put
  [Address Reference Count : 1]
  - main.o(.text)

  advertising_start (Thumb, 68 bytes, Stack size 32 bytes, main.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = advertising_start
  [Calls]
  - >> app_error_handler
  - >> __aeabi_memclr4
  [Called By]
  - >> main
  - >> on_ble_evt

  advertising_stop (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  ble_stop_current_connect (Thumb, 36 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = ble_stop_current_connect
  [Calls]
  - >> ble_log
  [Address Reference Count : 1]
  - user_ble_control.o(.text)

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

  - Max Depth = 8
  - Call Chain = ready_to_sleep
  [Called By]
  - >> uart_power_off
  - >> enter_system_off

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

  - Max Depth = 24
  - Call Chain = uart_power_off ⇒ get_uart_enable_pin_state ⇒ app_gpiote_pins_state_get
  [Calls]
  - >> get_uart_enable_pin_state
  - >> ready_to_sleep
  [Address Reference Count : 1]
  - main.o(.text)

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

  - Max Depth = 160
  - Call Chain = uart_delay_send_handle ⇒ AT_cmd_parser ⇒ simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> ble_nus_send_string
  - >> AT_cmd_parser
  - >> app_error_handler
  [Address Reference Count : 1]
  - main.o(.text)

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

  - Max Depth = 112
  - Call Chain = uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> task_restart
  - >> simple_uart_config
  - >> NVIC_EnableIRQ
  - >> NVIC_SetPriority
  [Called By]
  - >> simple_uart_put
  - >> simple_uart_get
  - >> gpio_event_handler

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

  - Max Depth = 128
  - Call Chain = UART0_IRQHandler ⇒ simple_uart_get ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> task_restart
  - >> simple_uart_get
  - >> ble_nus_send_string
  - >> app_error_handler
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

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

  - Max Depth = 368
  - Call Chain = main ⇒ advertising_init ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> task_schedule
  - >> task_restart
  - >> init_user_data
  - >> init_user_ble_control
  - >> ble_log
  - >> app_sched_init
  - >> app_sched_execute
  - >> advertising_start
  - >> app_error_handler
  - >> uart_init
  - >> power_manage
  - >> ble_stack_init
  - >> conn_params_init
  - >> sec_params_init
  - >> services_init
  - >> advertising_init
  - >> gap_params_init
  - >> timers_init
  [Called By]
  - >> __rt_entry_main

  ble_nus_on_ble_evt (Thumb, 70 bytes, Stack size 16 bytes, ble_nus.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = ble_nus_on_ble_evt ⇒ on_write
  [Calls]
  - >> on_write
  - >> on_disconnect
  - >> on_connect
  [Called By]
  - >> ble_evt_dispatch

  ble_nus_init (Thumb, 88 bytes, Stack size 24 bytes, ble_nus.o(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = ble_nus_init ⇒ rx_tx_char_add
  [Calls]
  - >> rx_tx_char_add
  [Called By]
  - >> services_init

  ble_nus_send_string (Thumb, 84 bytes, Stack size 40 bytes, ble_nus.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = ble_nus_send_string
  [Called By]
  - >> UART0_IRQHandler
  - >> uart_delay_send_handle

  ble_advdata_set (Thumb, 122 bytes, Stack size 104 bytes, ble_advdata.o(.text))
  [Stack]

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

  ble_conn_params_init (Thumb, 90 bytes, Stack size 16 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = ble_conn_params_init ⇒ __aeabi_memcpy
  [Calls]
  - >> app_timer_create
  - >> __aeabi_memcpy
  - >> __aeabi_memcpy4
  [Called By]
  - >> conn_params_init

  ble_conn_params_stop (Thumb, 12 bytes, Stack size 8 bytes, ble_conn_params.o(.text), UNUSED)
  [Calls]

  - >> app_timer_stop

  ble_conn_params_on_ble_evt (Thumb, 62 bytes, Stack size 8 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = ble_conn_params_on_ble_evt ⇒ on_write ⇒ conn_params_negotiation ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> on_conn_params_update
  - >> on_write
  - >> on_disconnect
  - >> on_connect
  [Called By]
  - >> ble_evt_dispatch

  ble_conn_params_change_conn_params (Thumb, 86 bytes, Stack size 16 bytes, ble_conn_params.o(.text), UNUSED)
  [Calls]

  - >> is_conn_params_ok
  - >> __aeabi_memcpy

  softdevice_assertion_handler (Thumb, 18 bytes, Stack size 16 bytes, softdevice_handler.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = softdevice_assertion_handler
  [Calls]
  - >> assert_nrf_callback
  [Address Reference Count : 1]
  - softdevice_handler.o(.text)

  intern_softdevice_events_execute (Thumb, 168 bytes, Stack size 24 bytes, softdevice_handler.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = intern_softdevice_events_execute
  [Calls]
  - >> app_error_handler
  [Called By]
  - >> SWI2_IRQHandler

  softdevice_handler_init (Thumb, 82 bytes, Stack size 40 bytes, softdevice_handler.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = softdevice_handler_init
  [Called By]
  - >> ble_stack_init

  softdevice_handler_sd_disable (Thumb, 24 bytes, Stack size 8 bytes, softdevice_handler.o(.text), UNUSED)

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

  - >> ble_stack_init

  softdevice_sys_evt_handler_set (Thumb, 18 bytes, Stack size 0 bytes, softdevice_handler.o(.text), UNUSED)

  SWI2_IRQHandler (Thumb, 52 bytes, Stack size 16 bytes, softdevice_handler.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = SWI2_IRQHandler ⇒ intern_softdevice_events_execute
  [Calls]
  - >> intern_softdevice_events_execute
  - >> app_error_handler
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  simple_uart_get (Thumb, 54 bytes, Stack size 8 bytes, simple_uart.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = simple_uart_get ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> uart_reinit
  [Called By]
  - >> UART0_IRQHandler

  simple_uart_get_with_timeout (Thumb, 62 bytes, Stack size 16 bytes, simple_uart.o(.text), UNUSED)
  [Calls]

  - >> __asm___13_simple_uart_c_5dda6715__nrf_delay_us

  simple_uart_put (Thumb, 54 bytes, Stack size 8 bytes, simple_uart.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> uart_reinit
  [Called By]
  - >> simple_uart_putstring
  - >> nus_data_handler

  simple_uart_putstring (Thumb, 32 bytes, Stack size 16 bytes, simple_uart.o(.text))
  [Stack]

  - Max Depth = 136
  - Call Chain = simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_put
  [Called By]
  - >> AT_cmd_parser
  - >> cmd_at_mac
  - >> cmd_at_change_boud
  - >> cmd_at_reset
  - >> cmd_close_ad
  - >> cmd_manage_ble_name

  simple_uart_config (Thumb, 90 bytes, Stack size 24 bytes, simple_uart.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = simple_uart_config ⇒ nrf_gpio_cfg_input
  [Calls]
  - >> nrf_gpio_cfg_input
  - >> nrf_gpio_cfg_output
  [Called By]
  - >> uart_reinit
  - >> uart_init

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

  - >> init_user_ble_control
  - >> main
  - >> ble_stop_current_connect
  - >> on_ble_evt
  - >> gpio_event_handler
  - >> enter_system_off
  - >> cmd_close_ad
  - >> cmd_manage_ble_name

  RTC1_IRQHandler (Thumb, 34 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = RTC1_IRQHandler ⇒ timer_timeouts_check ⇒ timeout_handler_exec
  [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(.text))
  [Stack]

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

  app_timer_init (Thumb, 254 bytes, Stack size 40 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = app_timer_init ⇒ rtc1_init ⇒ NVIC_SetPriority
  [Calls]
  - >> rtc1_counter_get
  - >> NVIC_ClearPendingIRQ
  - >> NVIC_EnableIRQ
  - >> rtc1_stop
  - >> rtc1_init
  - >> NVIC_SetPriority
  [Called By]
  - >> timers_init

  app_timer_create (Thumb, 108 bytes, Stack size 16 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = app_timer_create
  [Called By]
  - >> init_task_schedule
  - >> ble_conn_params_init

  app_timer_start (Thumb, 98 bytes, Stack size 32 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> user_id_get
  - >> timer_start_op_schedule
  [Called By]
  - >> conn_params_negotiation
  - >> task_schedule
  - >> task_restart
  - >> init_task_schedule

  app_timer_stop (Thumb, 60 bytes, Stack size 16 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = app_timer_stop ⇒ timer_stop_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> user_id_get
  - >> timer_stop_op_schedule
  [Called By]
  - >> ble_conn_params_stop
  - >> on_write
  - >> on_disconnect

  app_timer_stop_all (Thumb, 26 bytes, Stack size 8 bytes, app_timer.o(.text), UNUSED)
  [Calls]

  - >> user_id_get
  - >> timer_stop_all_op_schedule

  app_timer_cnt_get (Thumb, 14 bytes, Stack size 8 bytes, app_timer.o(.text), UNUSED)
  [Calls]

  - >> rtc1_counter_get

  app_timer_cnt_diff_compute (Thumb, 22 bytes, Stack size 16 bytes, app_timer.o(.text), UNUSED)
  [Calls]

  - >> ticks_diff_get

  GPIOTE_IRQHandler (Thumb, 154 bytes, Stack size 40 bytes, app_gpiote.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = GPIOTE_IRQHandler ⇒ sense_level_toggle
  [Calls]
  - >> sense_level_toggle
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  app_gpiote_init (Thumb, 114 bytes, Stack size 16 bytes, app_gpiote.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = app_gpiote_init ⇒ NVIC_SetPriority
  [Calls]
  - >> NVIC_SetPriority
  - >> __aeabi_memclr4
  [Called By]
  - >> init_user_ble_control

  app_gpiote_user_register (Thumb, 138 bytes, Stack size 24 bytes, app_gpiote.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = app_gpiote_user_register ⇒ pins_sense_disable
  [Calls]
  - >> pins_sense_disable
  [Called By]
  - >> init_user_ble_control

  app_gpiote_user_enable (Thumb, 222 bytes, Stack size 20 bytes, app_gpiote.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = app_gpiote_user_enable
  [Called By]
  - >> init_user_ble_control

  app_gpiote_user_disable (Thumb, 66 bytes, Stack size 8 bytes, app_gpiote.o(.text), UNUSED)
  [Calls]

  - >> pins_sense_disable

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

  - Max Depth = 8
  - Call Chain = app_gpiote_pins_state_get
  [Called By]
  - >> get_uart_enable_pin_state

  app_sched_init (Thumb, 64 bytes, Stack size 12 bytes, app_scheduler.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = app_sched_init
  [Called By]
  - >> main

  app_sched_event_put (Thumb, 238 bytes, Stack size 48 bytes, app_scheduler.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = app_sched_event_put ⇒ __aeabi_memcpy
  [Calls]
  - >> next_index
  - >> current_int_priority_get
  - >> app_error_handler
  - >> __aeabi_memcpy
  [Called By]
  - >> gpio_event_handler

  app_sched_execute (Thumb, 30 bytes, Stack size 16 bytes, app_scheduler.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = app_sched_execute ⇒ app_sched_event_get
  [Calls]
  - >> app_sched_event_get
  [Called By]
  - >> main

  AT_cmd_parser (Thumb, 62 bytes, Stack size 16 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 152
  - Call Chain = AT_cmd_parser ⇒ simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_putstring
  - >> strstr
  [Called By]
  - >> uart_delay_send_handle

  handle_delay_exe_fun (Thumb, 58 bytes, Stack size 16 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = handle_delay_exe_fun
  [Calls]
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - at_cmd.o(.text)

  store_ble_info (Thumb, 50 bytes, Stack size 8 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = store_ble_info ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> task_restart
  - >> __aeabi_uidivmod
  [Called By]
  - >> init_user_data
  - >> cmd_at_change_boud
  - >> cmd_close_ad
  - >> cmd_manage_ble_name

  init_user_data (Thumb, 146 bytes, Stack size 16 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = init_user_data ⇒ store_ble_info ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> task_set
  - >> __aeabi_uidivmod
  - >> __aeabi_memcpy4
  - >> strcpy
  - >> store_ble_info
  [Called By]
  - >> main

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

  - >> gap_params_init
  - >> cmd_manage_ble_name

  cmd_manage_ble_name (Thumb, 60 bytes, Stack size 16 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 152
  - Call Chain = cmd_manage_ble_name ⇒ simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_putstring
  - >> get_ble_name
  - >> ble_log
  - >> strcmp
  - >> strlen
  - >> strcpy
  - >> store_ble_info
  [Address Reference Count : 1]
  - at_cmd.o(.data)

  cmd_close_ad (Thumb, 62 bytes, Stack size 8 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = cmd_close_ad ⇒ simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_putstring
  - >> ble_log
  - >> strcmp
  - >> store_ble_info
  [Address Reference Count : 1]
  - at_cmd.o(.data)

  cmd_at_reset (Thumb, 28 bytes, Stack size 0 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 136
  - Call Chain = cmd_at_reset ⇒ simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_putstring
  [Address Reference Count : 1]
  - at_cmd.o(.data)

  cmd_at_change_boud (Thumb, 124 bytes, Stack size 8 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = cmd_at_change_boud ⇒ simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_putstring
  - >> strcmp
  - >> store_ble_info
  [Address Reference Count : 1]
  - at_cmd.o(.data)

  cmd_at_mac (Thumb, 58 bytes, Stack size 88 bytes, at_cmd.o(.text))
  [Stack]

  - Max Depth = 224 + Unknown Stack Size
  - Call Chain = cmd_at_mac ⇒ simple_uart_putstring ⇒ simple_uart_put ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> simple_uart_putstring
  - >> __2sprintf
  [Address Reference Count : 1]
  - at_cmd.o(.data)

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

  - min_task_schedule.o(.data)

  heart_interrupt_handle (Thumb, 8 bytes, Stack size 0 bytes, min_task_schedule.o(.text))
  [Address Reference Count : 1]

  - min_task_schedule.o(.text)

  init_task_schedule (Thumb, 26 bytes, Stack size 8 bytes, min_task_schedule.o(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = init_task_schedule ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> app_timer_start
  - >> app_timer_create
  [Called By]
  - >> timers_init

  task_set (Thumb, 12 bytes, Stack size 0 bytes, min_task_schedule.o(.text))
  [Called By]

  - >> init_user_data
  - >> init_user_ble_control
  - >> uart_init

  task_restart (Thumb, 30 bytes, Stack size 16 bytes, min_task_schedule.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> app_timer_start
  [Called By]
  - >> main
  - >> UART0_IRQHandler
  - >> uart_reinit
  - >> gpio_event_handler
  - >> store_ble_info

  task_stop (Thumb, 16 bytes, Stack size 0 bytes, min_task_schedule.o(.text), UNUSED)

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

  - Max Depth = 104
  - Call Chain = task_schedule ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> app_timer_start
  [Called By]
  - >> main

  enter_system_off (Thumb, 52 bytes, Stack size 16 bytes, user_ble_control.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = enter_system_off ⇒ ready_to_sleep
  [Calls]
  - >> ble_log
  - >> ready_to_sleep
  [Address Reference Count : 1]
  - user_ble_control.o(.text)

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

  - >> init_user_ble_control
  - >> on_ble_evt

  gpio_event_handler (Thumb, 80 bytes, Stack size 16 bytes, user_ble_control.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = gpio_event_handler ⇒ uart_reinit ⇒ task_restart ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> task_restart
  - >> ble_log
  - >> uart_reinit
  - >> app_sched_event_put
  [Address Reference Count : 1]
  - user_ble_control.o(.text)

  init_user_ble_control (Thumb, 132 bytes, Stack size 24 bytes, user_ble_control.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = init_user_ble_control ⇒ app_gpiote_user_register ⇒ pins_sense_disable
  [Calls]
  - >> app_gpiote_user_enable
  - >> app_gpiote_user_register
  - >> app_gpiote_init
  - >> write_ble_status
  - >> task_set
  - >> ble_log
  - >> app_error_handler
  - >> nrf_gpio_cfg_input
  [Called By]
  - >> main

  get_uart_enable_pin_state (Thumb, 34 bytes, Stack size 8 bytes, user_ble_control.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = get_uart_enable_pin_state ⇒ app_gpiote_pins_state_get
  [Calls]
  - >> app_gpiote_pins_state_get
  [Called By]
  - >> uart_power_off

  __2sprintf (Thumb, 36 bytes, Stack size 32 bytes, noretval__2sprintf.o(.text))
  [Stack]

  - Max Depth = 120 + Unknown Stack Size
  - Call Chain = __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _sputc
  - >> _printf_char_common
  [Called By]
  - >> cmd_at_mac

  __printf (Thumb, 108 bytes, Stack size 24 bytes, __printf.o(.text))
  [Stack]

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

  _printf_int_hex (Thumb, 84 bytes, Stack size 16 bytes, _printf_hex_int.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _printf_int_hex ⇒ _printf_int_common
  [Calls]
  - >> _printf_int_common
  - >> _printf_truncate_unsigned (Weak Reference)
  [Called By]
  - >> _printf_x

  _printf_longlong_hex (Thumb, 0 bytes, Stack size 16 bytes, _printf_hex_int.o(.text), UNUSED)

  strstr (Thumb, 40 bytes, Stack size 12 bytes, strstr.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strstr
  [Called By]
  - >> AT_cmd_parser

  strcpy (Thumb, 70 bytes, Stack size 16 bytes, strcpy.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcpy
  [Called By]
  - >> init_user_data
  - >> cmd_manage_ble_name

  strlen (Thumb, 62 bytes, Stack size 12 bytes, strlen.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strlen
  [Called By]
  - >> gap_params_init
  - >> cmd_manage_ble_name

  __aeabi_memcpy (Thumb, 130 bytes, Stack size 24 bytes, rt_memcpy.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy4
  [Called By]
  - >> ble_conn_params_change_conn_params
  - >> on_conn_params_update
  - >> on_connect
  - >> service_data_encode
  - >> manuf_specific_data_encode
  - >> uint8_array_encode
  - >> ble_conn_params_init
  - >> on_ble_evt
  - >> app_sched_event_put

  __rt_memcpy (Thumb, 0 bytes, Stack size 24 bytes, rt_memcpy.o(.text), UNUSED)

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

  - >> __rt_memclr_w
  - >> _memset

  _memset (Thumb, 30 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset_w
  [Called By]
  - >> __aeabi_memclr

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

  - >> _memset

  __rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

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

  - >> app_gpiote_init
  - >> rx_tx_char_add
  - >> advertising_start
  - >> conn_params_init
  - >> advertising_init

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

  __rt_memclr_w (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset_w

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

  - Max Depth = 16
  - Call Chain = strcmp
  [Called By]
  - >> cmd_at_change_boud
  - >> cmd_close_ad
  - >> cmd_manage_ble_name

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

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

  - >> init_user_data
  - >> store_ble_info
  - >> handle_delay_exe_fun

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

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

  __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

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

  - Max Depth = 40
  - Call Chain = _printf_int_common
  [Calls]
  - >> _printf_pre_padding (Weak Reference)
  - >> _printf_post_padding (Weak Reference)
  [Called By]
  - >> _printf_int_hex

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

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_char_common ⇒ __printf
  [Calls]
  - >> __printf
  [Called By]
  - >> __2sprintf

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

  - >> __2sprintf
  [Address Reference Count : 1]
  - noretval__2sprintf.o(.text)

  __user_setup_stackheap (Thumb, 62 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __user_setup_stackheap
  [Calls]
  - >> __user_initial_stackheap
  - >> __user_perproc_libspace
  [Called By]
  - >> __rt_entry_sh

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

  - >> __rt_exit
  - >> _call_atexit_fns (Weak Reference)
  [Called By]
  - >> __rt_entry_main

  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

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

  - >> __rt_exit_exit

  __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)

  ### Local Symbols

  is_disabled_in_debug_needed (Thumb, 48 bytes, Stack size 0 bytes, system_nrf51.o(.text))
  [Called By]

  - >> SystemInit

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

  - >> SystemInit

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

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

  timers_init (Thumb, 50 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = timers_init ⇒ init_task_schedule ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> init_task_schedule
  - >> app_timer_init
  - >> app_error_handler
  [Called By]
  - >> main

  gap_params_init (Thumb, 164 bytes, Stack size 32 bytes, main.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = gap_params_init ⇒ strlen
  [Calls]
  - >> get_ble_name
  - >> app_error_handler
  - >> strlen
  [Called By]
  - >> main

  advertising_init (Thumb, 102 bytes, Stack size 136 bytes, main.o(.text))
  [Stack]

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

  services_init (Thumb, 44 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = services_init ⇒ ble_nus_init ⇒ rx_tx_char_add
  [Calls]
  - >> ble_nus_init
  - >> app_error_handler
  [Called By]
  - >> main

  sec_params_init (Thumb, 66 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> main

  on_conn_params_evt (Thumb, 46 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = on_conn_params_evt
  [Calls]
  - >> app_error_handler
  [Address Reference Count : 1]
  - main.o(.text)

  conn_params_error_handler (Thumb, 16 bytes, Stack size 0 bytes, main.o(.text))
  [Calls]

  - >> app_error_handler
  [Address Reference Count : 1]
  - main.o(.text)

  conn_params_init (Thumb, 82 bytes, Stack size 40 bytes, main.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = conn_params_init ⇒ ble_conn_params_init ⇒ __aeabi_memcpy
  [Calls]
  - >> ble_conn_params_init
  - >> app_error_handler
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  on_ble_evt (Thumb, 406 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = on_ble_evt ⇒ advertising_start
  [Calls]
  - >> write_ble_status
  - >> ble_log
  - >> advertising_start
  - >> app_error_handler
  - >> __aeabi_memcpy
  [Called By]
  - >> ble_evt_dispatch

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

  - Max Depth = 136
  - Call Chain = ble_evt_dispatch ⇒ ble_conn_params_on_ble_evt ⇒ on_write ⇒ conn_params_negotiation ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> ble_nus_on_ble_evt
  - >> ble_conn_params_on_ble_evt
  - >> on_ble_evt
  [Address Reference Count : 1]
  - main.o(.text)

  ble_stack_init (Thumb, 78 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = ble_stack_init ⇒ softdevice_handler_init
  [Calls]
  - >> softdevice_handler_init
  - >> softdevice_ble_evt_handler_set
  - >> app_error_handler
  [Called By]
  - >> main

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

  - Max Depth = 8
  - Call Chain = power_manage
  [Calls]
  - >> app_error_handler
  [Called By]
  - >> main

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

  - Max Depth = 40
  - Call Chain = uart_init ⇒ simple_uart_config ⇒ nrf_gpio_cfg_input
  [Calls]
  - >> task_set
  - >> simple_uart_config
  - >> NVIC_EnableIRQ
  - >> NVIC_SetPriority
  [Called By]
  - >> main

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

  - >> uart_reinit
  - >> uart_init

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

  - >> ble_nus_on_ble_evt

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

  - >> ble_nus_on_ble_evt

  on_write (Thumb, 84 bytes, Stack size 16 bytes, ble_nus.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = on_write
  [Called By]
  - >> ble_nus_on_ble_evt

  rx_tx_char_add (Thumb, 248 bytes, Stack size 72 bytes, ble_nus.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = rx_tx_char_add
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> ble_nus_init

  name_encode (Thumb, 150 bytes, Stack size 48 bytes, ble_advdata.o(.text))
  [Stack]

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

  appearance_encode (Thumb, 74 bytes, Stack size 24 bytes, ble_advdata.o(.text))
  [Stack]

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

  uint8_array_encode (Thumb, 82 bytes, Stack size 24 bytes, ble_advdata.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = uint8_array_encode ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> adv_data_encode

  tx_power_level_encode (Thumb, 48 bytes, Stack size 12 bytes, ble_advdata.o(.text))
  [Stack]

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

  uuid_list_sized_encode (Thumb, 196 bytes, Stack size 64 bytes, ble_advdata.o(.text))
  [Stack]

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

  uuid_list_encode (Thumb, 64 bytes, Stack size 40 bytes, ble_advdata.o(.text))
  [Stack]

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

  conn_int_check (Thumb, 88 bytes, Stack size 0 bytes, ble_advdata.o(.text))
  [Called By]

  - >> conn_int_encode

  conn_int_encode (Thumb, 92 bytes, Stack size 24 bytes, ble_advdata.o(.text))
  [Stack]

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

  manuf_specific_data_encode (Thumb, 106 bytes, Stack size 24 bytes, ble_advdata.o(.text))
  [Stack]

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

  service_data_encode (Thumb, 140 bytes, Stack size 32 bytes, ble_advdata.o(.text))
  [Stack]

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

  adv_data_encode (Thumb, 304 bytes, Stack size 24 bytes, ble_advdata.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> service_data_encode
  - >> manuf_specific_data_encode
  - >> conn_int_encode
  - >> uuid_list_encode
  - >> tx_power_level_encode
  - >> uint8_array_encode
  - >> appearance_encode
  - >> name_encode
  [Called By]
  - >> ble_advdata_set

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

  - >> ble_advdata_set

  srdata_check (Thumb, 16 bytes, Stack size 0 bytes, ble_advdata.o(.text))
  [Called By]

  - >> ble_advdata_set

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

  - >> service_data_encode
  - >> manuf_specific_data_encode
  - >> conn_int_encode
  - >> appearance_encode

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

  - >> ble_conn_params_change_conn_params
  - >> conn_params_negotiation

  update_timeout_handler (Thumb, 136 bytes, Stack size 16 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = update_timeout_handler
  [Address Reference Count : 1]
  - ble_conn_params.o(.text)

  conn_params_negotiation (Thumb, 126 bytes, Stack size 16 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = conn_params_negotiation ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> app_timer_start
  - >> is_conn_params_ok
  [Called By]
  - >> on_conn_params_update
  - >> on_write
  - >> on_connect

  on_connect (Thumb, 42 bytes, Stack size 8 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = on_connect ⇒ conn_params_negotiation ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> conn_params_negotiation
  - >> __aeabi_memcpy
  [Called By]
  - >> ble_conn_params_on_ble_evt

  on_disconnect (Thumb, 50 bytes, Stack size 16 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = on_disconnect ⇒ app_timer_stop ⇒ timer_stop_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> app_timer_stop
  [Called By]
  - >> ble_conn_params_on_ble_evt

  on_write (Thumb, 84 bytes, Stack size 16 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = on_write ⇒ conn_params_negotiation ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> app_timer_stop
  - >> conn_params_negotiation
  [Called By]
  - >> ble_conn_params_on_ble_evt

  on_conn_params_update (Thumb, 20 bytes, Stack size 8 bytes, ble_conn_params.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = on_conn_params_update ⇒ conn_params_negotiation ⇒ app_timer_start ⇒ timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> conn_params_negotiation
  - >> __aeabi_memcpy
  [Called By]
  - >> ble_conn_params_on_ble_evt

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

  - >> simple_uart_config

  nrf_gpio_cfg_input (Thumb, 20 bytes, Stack size 8 bytes, simple_uart.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_gpio_cfg_input
  [Called By]
  - >> simple_uart_config

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

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

  rtc1_init (Thumb, 18 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = rtc1_init ⇒ NVIC_SetPriority
  [Calls]
  - >> NVIC_SetPriority
  [Called By]
  - >> app_timer_init

  rtc1_start (Thumb, 42 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = rtc1_start
  [Calls]
  - >> __asm___11_app_timer_c_cd27f9c3__nrf_delay_us
  - >> NVIC_ClearPendingIRQ
  - >> NVIC_EnableIRQ
  [Called By]
  - >> compare_reg_update

  rtc1_stop (Thumb, 44 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

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

  timer_list_insert (Thumb, 206 bytes, Stack size 20 bytes, app_timer.o(.text))
  [Stack]

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

  timer_list_remove (Thumb, 150 bytes, Stack size 16 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = timer_list_remove
  [Called By]
  - >> list_deletions_handler

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

  - Max Depth = 8
  - Call Chain = timer_timeouts_check_sched
  [Calls]
  - >> NVIC_SetPendingIRQ
  [Called By]
  - >> compare_reg_update

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

  - Max Depth = 8
  - Call Chain = timer_list_handler_sched
  [Calls]
  - >> NVIC_SetPendingIRQ
  [Called By]
  - >> timer_stop_all_op_schedule
  - >> timer_stop_op_schedule
  - >> timer_start_op_schedule
  - >> timer_timeouts_check

  timeout_handler_exec (Thumb, 60 bytes, Stack size 16 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = timeout_handler_exec
  [Calls]
  - >> app_error_handler
  [Called By]
  - >> timer_timeouts_check

  timer_timeouts_check (Thumb, 128 bytes, Stack size 24 bytes, app_timer.o(.text))
  [Stack]

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

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

  - >> timer_list_handler

  list_deletions_handler (Thumb, 280 bytes, Stack size 32 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = list_deletions_handler ⇒ timer_list_remove
  [Calls]
  - >> timer_list_remove
  [Called By]
  - >> timer_list_handler

  expired_timers_handler (Thumb, 98 bytes, Stack size 20 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = expired_timers_handler
  [Called By]
  - >> timer_list_handler

  list_insertions_handler (Thumb, 260 bytes, Stack size 32 bytes, app_timer.o(.text))
  [Stack]

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

  compare_reg_update (Thumb, 124 bytes, Stack size 32 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = compare_reg_update ⇒ timer_timeouts_check_sched
  [Calls]
  - >> ticks_diff_get
  - >> rtc1_counter_get
  - >> timer_timeouts_check_sched
  - >> rtc1_stop
  - >> rtc1_start
  [Called By]
  - >> timer_list_handler

  timer_list_handler (Thumb, 70 bytes, Stack size 32 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 84
  - Call Chain = timer_list_handler ⇒ list_insertions_handler ⇒ timer_list_insert
  [Calls]
  - >> compare_reg_update
  - >> list_insertions_handler
  - >> expired_timers_handler
  - >> list_deletions_handler
  - >> elapsed_ticks_acquire
  [Called By]
  - >> SWI0_IRQHandler

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

  - >> timer_stop_all_op_schedule
  - >> timer_stop_op_schedule
  - >> timer_start_op_schedule

  user_op_alloc (Thumb, 44 bytes, Stack size 16 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = user_op_alloc
  [Called By]
  - >> timer_stop_all_op_schedule
  - >> timer_stop_op_schedule
  - >> timer_start_op_schedule

  timer_start_op_schedule (Thumb, 80 bytes, Stack size 40 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = timer_start_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> rtc1_counter_get
  - >> user_op_alloc
  - >> user_op_enque
  - >> timer_list_handler_sched
  [Called By]
  - >> app_timer_start

  timer_stop_op_schedule (Thumb, 58 bytes, Stack size 24 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = timer_stop_op_schedule ⇒ user_op_alloc
  [Calls]
  - >> user_op_alloc
  - >> user_op_enque
  - >> timer_list_handler_sched
  [Called By]
  - >> app_timer_stop

  timer_stop_all_op_schedule (Thumb, 58 bytes, Stack size 16 bytes, app_timer.o(.text), UNUSED)
  [Calls]

  - >> user_op_alloc
  - >> user_op_enque
  - >> timer_list_handler_sched
  [Called By]
  - >> app_timer_stop_all

  user_id_get (Thumb, 34 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = user_id_get ⇒ current_int_priority_get
  [Calls]
  - >> current_int_priority_get
  [Called By]
  - >> app_timer_stop_all
  - >> app_timer_stop
  - >> app_timer_start

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

  - >> rtc1_start
  - >> app_timer_init

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

  - >> timer_list_handler_sched
  - >> timer_timeouts_check_sched

  NVIC_ClearPendingIRQ (Thumb, 16 bytes, Stack size 0 bytes, app_timer.o(.text))
  [Called By]

  - >> rtc1_start
  - >> app_timer_init

  current_int_priority_get (Thumb, 84 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = current_int_priority_get
  [Called By]
  - >> user_id_get

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

  - >> app_timer_cnt_get
  - >> timer_start_op_schedule
  - >> compare_reg_update
  - >> timer_timeouts_check
  - >> app_timer_init

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

  - >> app_timer_cnt_diff_compute
  - >> compare_reg_update
  - >> list_insertions_handler
  - >> timer_timeouts_check

  sense_level_toggle (Thumb, 124 bytes, Stack size 20 bytes, app_gpiote.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = sense_level_toggle
  [Called By]
  - >> GPIOTE_IRQHandler

  pins_sense_disable (Thumb, 96 bytes, Stack size 8 bytes, app_gpiote.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = pins_sense_disable
  [Called By]
  - >> app_gpiote_user_disable
  - >> app_gpiote_user_register

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

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

  app_sched_event_get (Thumb, 84 bytes, Stack size 24 bytes, app_scheduler.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = app_sched_event_get
  [Calls]
  - >> next_index
  [Called By]
  - >> app_sched_execute

  current_int_priority_get (Thumb, 84 bytes, Stack size 8 bytes, app_scheduler.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = current_int_priority_get
  [Called By]
  - >> app_sched_event_put

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

  - >> app_sched_event_get
  - >> app_sched_event_put

  nrf_gpio_cfg_input (Thumb, 20 bytes, Stack size 8 bytes, user_ble_control.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_gpio_cfg_input
  [Called By]
  - >> init_user_ble_control

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

  - _printf_char_common.o(.text)

  ### Undefined Global Symbols

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

  - >> exit

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

  - >> _printf_int_common

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

  - >> _printf_int_common

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

  - >> _printf_int_hex