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

#<CALLGRAPH># ARM Linker, 5060061: Last Updated: Mon Dec 07 11:07:53 2015

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

### Call chain for Maximum Stack Depth:

main ⇒ debug_printf ⇒ vsprintf

### 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
- __asm___11_nrf_delay_c_532987f3__nrf_delay_us ⇒ __asm___11_nrf_delay_c_532987f3__nrf_delay_us
- app_notify_error_state_transit ⇒ sm_state_change
- sm_state_change ⇒ cmd_process

  ### 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 spi_master.o(i.SPI0_TWI0_IRQHandler) referenced from arm_startup_nrf51.o(RESET)
  - SPI1_TWI1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SVC_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
  - SWI0_IRQHandler from 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 app_uart_fifo.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)
  - _sputc from printfa.o(i._sputc) referenced from printfa.o(i.__0vsprintf)
  - alert_timer_handler from bsp.o(i.alert_timer_handler) referenced from bsp.o(i.bsp_init)
  - ble_evt_dispatch from main.o(i.ble_evt_dispatch) referenced from main.o(i.ble_stack_init)
  - bsp_button_event_handler from bsp.o(i.bsp_button_event_handler) referenced 4 times from bsp.o(.constdata)
  - bsp_event_handler from main.o(i.bsp_event_handler) referenced from main.o(i.main)
  - button_timer_handler from bsp.o(i.button_timer_handler) referenced from bsp.o(i.bsp_init)
  - data_page_erase_state_run from pstorage.o(i.data_page_erase_state_run) referenced from pstorage.o(.constdata)
  - data_to_swap_write_state_run from pstorage.o(i.data_to_swap_write_state_run) referenced from pstorage.o(.constdata)
  - detection_delay_timeout_handler from app_button.o(i.detection_delay_timeout_handler) referenced from app_button.o(i.app_button_init)
  - device_manager_evt_handler from main.o(i.device_manager_evt_handler) referenced from main.o(i.device_manager_init)
  - dm_pstorage_cb_handler from device_manager_peripheral.o(i.dm_pstorage_cb_handler) referenced from device_manager_peripheral.o(i.dm_init)
  - gattc_context_apply from device_manager_peripheral.o(i.gattc_context_apply) referenced from device_manager_peripheral.o(.constdata)
  - gattc_context_load from device_manager_peripheral.o(i.gattc_context_load) referenced from device_manager_peripheral.o(.constdata)
  - gattc_context_store from device_manager_peripheral.o(i.gattc_context_store) referenced from device_manager_peripheral.o(.constdata)
  - gatts_context_apply from device_manager_peripheral.o(i.gatts_context_apply) referenced from device_manager_peripheral.o(.constdata)
  - gatts_context_load from device_manager_peripheral.o(i.gatts_context_load) referenced from device_manager_peripheral.o(.constdata)
  - gatts_context_store from device_manager_peripheral.o(i.gatts_context_store) referenced from device_manager_peripheral.o(.constdata)
  - gattsc_context_apply from device_manager_peripheral.o(i.gattsc_context_apply) referenced from device_manager_peripheral.o(.constdata)
  - gattsc_context_load from device_manager_peripheral.o(i.gattsc_context_load) referenced from device_manager_peripheral.o(.constdata)
  - gattsc_context_store from device_manager_peripheral.o(i.gattsc_context_store) referenced from device_manager_peripheral.o(.constdata)
  - gpiote_event_handler from app_button.o(i.gpiote_event_handler) referenced from app_button.o(i.app_button_init)
  - head_restore_state_run from pstorage.o(i.head_restore_state_run) referenced from pstorage.o(.constdata)
  - 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)
  - no_service_context_apply from device_manager_peripheral.o(i.no_service_context_apply) referenced from device_manager_peripheral.o(.constdata)
  - no_service_context_load from device_manager_peripheral.o(i.no_service_context_load) referenced from device_manager_peripheral.o(.constdata)
  - no_service_context_store from device_manager_peripheral.o(i.no_service_context_store) referenced from device_manager_peripheral.o(.constdata)
  - on_adv_evt from main.o(i.on_adv_evt) referenced from main.o(i.main)
  - pstorage_store from pstorage.o(i.pstorage_store) referenced from device_manager_peripheral.o(i.device_context_store)
  - pstorage_store from pstorage.o(i.pstorage_store) referenced from device_manager_peripheral.o(i.gatts_context_store)
  - pstorage_update from pstorage.o(i.pstorage_update) referenced from device_manager_peripheral.o(i.device_context_store)
  - pstorage_update from pstorage.o(i.pstorage_update) referenced from device_manager_peripheral.o(i.gatts_context_store)
  - softdevice_assertion_handler from softdevice_handler.o(i.softdevice_assertion_handler) referenced from softdevice_handler.o(i.softdevice_handler_init)
  - spi_master_event_handler from acc_lis2.o(i.spi_master_event_handler) referenced from acc_lis2.o(i.spia_init)
  - state_erase_data_page_entry_run from pstorage.o(i.state_erase_data_page_entry_run) referenced from pstorage.o(.constdata)
  - state_restore_head_entry_run from pstorage.o(i.state_restore_head_entry_run) referenced from pstorage.o(.constdata)
  - state_restore_tail_entry_run from pstorage.o(i.state_restore_tail_entry_run) referenced from pstorage.o(.constdata)
  - state_swap_erase_entry_run from pstorage.o(i.state_swap_erase_entry_run) referenced from pstorage.o(.constdata)
  - state_write_data_swap_entry_run from pstorage.o(i.state_write_data_swap_entry_run) referenced from pstorage.o(.constdata)
  - storage_operation_dummy_handler from device_manager_peripheral.o(i.storage_operation_dummy_handler) referenced from device_manager_peripheral.o(i.device_context_store)
  - swap_erase_state_run from pstorage.o(i.swap_erase_state_run) referenced from pstorage.o(.constdata)
  - sys_evt_dispatch from main.o(i.sys_evt_dispatch) referenced from main.o(i.ble_stack_init)
  - tail_restore_state_run from pstorage.o(i.tail_restore_state_run) referenced from pstorage.o(.constdata)

  ### Global Symbols

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

  - arm_startup_nrf51.o(.text)

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

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

  - >> __scatterload

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

  - >> __scatterload

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

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

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

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

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

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

  - >> __asm___11_nrf_delay_c_532987f3__nrf_delay_us
  [Called By]
  - >> nrf_delay_ms
  - >> __asm___11_nrf_delay_c_532987f3__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
  - >> 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)

  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
  - >> head_restore_state_run
  - >> clear_operation_execute
  - >> pstorage_clear
  - >> dm_pstorage_cb_handler
  - >> state_swap_erase_entry_run
  - >> state_restore_tail_entry_run
  - >> state_data_erase_swap_entry_run
  - >> pstorage_flash_page_end
  - >> is_page_erase_required
  - >> _printf_core
  - >> __aeabi_idivmod

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

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

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

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

  - >> dm_register
  - >> dm_ble_evt_handler
  - >> pstorage_load
  - >> device_instance_allocate
  - >> service_data_encode
  - >> manuf_specific_data_encode

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

  - >> spia_init
  - >> ble_advertising_init
  - >> gatts_context_store

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

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

  - >> _memset$wrapper
  - >> __aeabi_memclr

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

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

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

  - >> __aeabi_memset
  [Called By]
  - >> peer_instance_init
  - >> connection_instance_init

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

  - >> dm_init
  - >> dm_ble_evt_handler
  - >> ble_advertising_start
  - >> ble_advertising_init
  - >> main
  - >> services_init
  - >> acc_service_init
  - >> gatts_context_store
  - >> dm_pstorage_cb_handler
  - >> ble_advertising_peer_address_clear

  __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

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

  - >> services_init
  - >> acc_service_init

  memcmp (Thumb, 26 bytes, Stack size 12 bytes, memcmp.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = memcmp
  [Called By]
  - >> gatts_context_store
  - >> dm_pstorage_cb_handler
  - >> device_instance_find

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

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

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

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

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

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

  - >> __aeabi_dadd

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

  - >> __aeabi_dadd

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

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

  __aeabi_ddiv (Thumb, 234 bytes, Stack size 40 bytes, ddiv.o(.text), UNUSED)
  [Calls]

  - >> _double_round
  [Called By]
  - >> _fp_digits

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

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

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

  - >> _fp_digits

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

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

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

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

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

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

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

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

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

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

  - >> __aeabi_dadd

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

  _double_round (Thumb, 26 bytes, Stack size 8 bytes, depilogue.o(.text), UNUSED)
  [Called By]

  - >> _double_epilogue
  - >> __aeabi_ddiv
  - >> __aeabi_dadd

  _double_epilogue (Thumb, 164 bytes, Stack size 48 bytes, depilogue.o(.text), UNUSED)
  [Calls]

  - >> __ARM_clz
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> _double_round
  [Called By]
  - >> __aeabi_dmul
  - >> __aeabi_dadd

  __decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED)

  __decompress0 (Thumb, 58 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED)

  GPIOTE_IRQHandler (Thumb, 234 bytes, Stack size 24 bytes, nrf_drv_gpiote.o(i.GPIOTE_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = GPIOTE_IRQHandler
  [Calls]
  - >> nrf_gpiote_event_is_set
  - >> nrf_gpio_cfg_sense_set
  - >> channel_port_get
  [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 = 32
  - Call Chain = RTC1_IRQHandler ⇒ timer_timeouts_check
  [Calls]
  - >> timer_timeouts_check
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

  SPI0_TWI0_IRQHandler (Thumb, 34 bytes, Stack size 8 bytes, spi_master.o(i.SPI0_TWI0_IRQHandler))
  [Stack]

  - Max Depth = 48
  - Call Chain = SPI0_TWI0_IRQHandler ⇒ spi_master_send_recv_irq ⇒ spi_master_signal_evt
  [Calls]
  - >> spi_master_send_recv_irq
  - >> spi_master_get_instance
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

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

  - Max Depth = 76
  - Call Chain = SWI0_IRQHandler ⇒ list_insertions_handler ⇒ timer_list_insert
  [Calls]
  - >> list_insertions_handler
  - >> list_deletions_handler
  - >> expired_timers_handler
  - >> elapsed_ticks_acquire
  - >> compare_reg_update
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

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

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

  SystemInit (Thumb, 64 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, 110 bytes, Stack size 24 bytes, app_uart_fifo.o(i.UART0_IRQHandler))
  [Stack]

  - Max Depth = 64
  - Call Chain = UART0_IRQHandler ⇒ on_uart_event ⇒ action_tx_send ⇒ action_tx_stop
  [Calls]
  - >> app_fifo_put
  - >> on_uart_event
  [Address Reference Count : 1]
  - arm_startup_nrf51.o(RESET)

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

  - >> _sputc
  - >> _printf_core

  __1vsprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)

  __2vsprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)

  __c89vsprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)

  vsprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf))
  [Stack]

  - Max Depth = 24
  - Call Chain = vsprintf
  [Called By]
  - >> debug_printf

  __ARM_clz (Thumb, 46 bytes, Stack size 0 bytes, depilogue.o(i.__ARM_clz), UNUSED)
  [Called By]

  - >> _double_epilogue

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

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

  acc_get_status (Thumb, 12 bytes, Stack size 8 bytes, acc_lis2.o(i.acc_get_status))
  [Stack]

  - Max Depth = 112
  - Call Chain = acc_get_status ⇒ spia_rd8 ⇒ send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> spia_rd8
  [Called By]
  - >> acc_init

  acc_get_z8 (Thumb, 14 bytes, Stack size 8 bytes, acc_lis2.o(i.acc_get_z8))
  [Stack]

  - Max Depth = 112
  - Call Chain = acc_get_z8 ⇒ spia_rd16 ⇒ send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> spia_rd16
  [Called By]
  - >> main

  acc_init (Thumb, 112 bytes, Stack size 8 bytes, acc_lis2.o(i.acc_init))
  [Stack]

  - Max Depth = 120
  - Call Chain = acc_init ⇒ acc_set_400Hz_lp_mode ⇒ spia_wr8 ⇒ send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> spia_init
  - >> acc_set_400Hz_lp_mode
  - >> acc_get_status
  - >> spia_wr8
  - >> nrf_delay_ms
  [Called By]
  - >> main

  acc_set_400Hz_lp_mode (Thumb, 12 bytes, Stack size 8 bytes, acc_lis2.o(i.acc_set_400Hz_lp_mode))
  [Stack]

  - Max Depth = 112
  - Call Chain = acc_set_400Hz_lp_mode ⇒ spia_wr8 ⇒ send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> spia_wr8
  [Called By]
  - >> acc_init

  action_tx_stop (Thumb, 26 bytes, Stack size 16 bytes, app_uart_fifo.o(i.action_tx_stop))
  [Stack]

  - Max Depth = 16
  - Call Chain = action_tx_stop
  [Called By]
  - >> on_uart_event
  - >> action_tx_send

  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, 102 bytes, Stack size 24 bytes, app_button.o(i.app_button_init))
  [Stack]

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

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

  - >> spi_master_signal_evt
  - >> spi_master_send_recv_irq
  - >> spi_master_init_hw_instance
  - >> spi_master_buffer_release
  - >> spi_master_buffer_init
  - >> spi_master_send_recv
  - >> spi_master_open
  - >> spi_master_evt_handler_reg
  - >> dm_ble_evt_handler
  - >> main
  - >> bsp_event_handler
  - >> sleep_mode_enter
  - >> services_init
  - >> on_ble_evt
  - >> on_adv_evt
  - >> device_manager_init
  - >> device_manager_evt_handler
  - >> ble_stack_init
  - >> acc_service_init
  - >> dm_pstorage_cb_handler
  - >> timer_timeouts_check
  - >> intern_softdevice_events_execute
  - >> SWI2_IRQHandler

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

  - >> action_tx_send

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

  - >> UART0_IRQHandler

  app_timer_create (Thumb, 72 bytes, Stack size 16 bytes, app_timer.o(i.app_timer_create))
  [Stack]

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

  app_timer_init (Thumb, 164 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, 122 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, 82 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_acc_change_notify (Thumb, 58 bytes, Stack size 32 bytes, main.o(i.ble_acc_change_notify))
  [Stack]

  - Max Depth = 32
  - Call Chain = ble_acc_change_notify
  [Called By]
  - >> main

  ble_advdata_set (Thumb, 90 bytes, Stack size 88 bytes, ble_advdata.o(i.ble_advdata_set))
  [Stack]

  - Max Depth = 200
  - Call Chain = ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> adv_data_encode
  [Called By]
  - >> ble_advertising_start
  - >> ble_advertising_init

  ble_advertising_init (Thumb, 284 bytes, Stack size 16 bytes, ble_advertising.o(i.ble_advertising_init))
  [Stack]

  - Max Depth = 216
  - Call Chain = ble_advertising_init ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> ble_advertising_peer_address_clear
  - >> ble_advdata_set
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy4
  [Called By]
  - >> main

  ble_advertising_on_ble_evt (Thumb, 112 bytes, Stack size 8 bytes, ble_advertising.o(i.ble_advertising_on_ble_evt))
  [Stack]

  - Max Depth = 256
  - Call Chain = ble_advertising_on_ble_evt ⇒ ble_advertising_start ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> ble_advertising_start
  [Called By]
  - >> ble_evt_dispatch

  ble_advertising_on_sys_evt (Thumb, 42 bytes, Stack size 8 bytes, ble_advertising.o(i.ble_advertising_on_sys_evt))
  [Stack]

  - Max Depth = 256
  - Call Chain = ble_advertising_on_sys_evt ⇒ ble_advertising_start ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> ble_advertising_start
  [Called By]
  - >> sys_evt_dispatch

  ble_advertising_start (Thumb, 470 bytes, Stack size 48 bytes, ble_advertising.o(i.ble_advertising_start))
  [Stack]

  - Max Depth = 248
  - Call Chain = ble_advertising_start ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> pstorage_access_status_get
  - >> whitelist_has_entries
  - >> peer_address_exists
  - >> ble_advertising_peer_address_clear
  - >> ble_advdata_set
  - >> __aeabi_memclr4
  [Called By]
  - >> ble_advertising_on_sys_evt
  - >> ble_advertising_on_ble_evt
  - >> main

  bond_data_load (Thumb, 58 bytes, Stack size 16 bytes, device_manager_peripheral.o(i.bond_data_load))
  [Stack]

  - Max Depth = 56
  - Call Chain = bond_data_load ⇒ pstorage_load
  [Calls]
  - >> pstorage_load
  - >> pstorage_block_identifier_get
  [Called By]
  - >> dm_ble_evt_handler

  bsp_btn_ble_init (Thumb, 80 bytes, Stack size 24 bytes, bsp_btn_ble.o(i.bsp_btn_ble_init))
  [Stack]

  - Max Depth = 48
  - Call Chain = bsp_btn_ble_init ⇒ advertising_buttons_configure ⇒ bsp_event_to_button_action_assign
  [Calls]
  - >> advertising_buttons_configure
  - >> bsp_button_is_pressed
  [Called By]
  - >> main

  bsp_btn_ble_on_ble_evt (Thumb, 114 bytes, Stack size 8 bytes, bsp_btn_ble.o(i.bsp_btn_ble_on_ble_evt))
  [Stack]

  - Max Depth = 32
  - Call Chain = bsp_btn_ble_on_ble_evt ⇒ advertising_buttons_configure ⇒ bsp_event_to_button_action_assign
  [Calls]
  - >> advertising_buttons_configure
  - >> bsp_event_to_button_action_assign
  [Called By]
  - >> ble_evt_dispatch

  bsp_btn_ble_sleep_mode_prepare (Thumb, 20 bytes, Stack size 8 bytes, bsp_btn_ble.o(i.bsp_btn_ble_sleep_mode_prepare))
  [Stack]

  - Max Depth = 28
  - Call Chain = bsp_btn_ble_sleep_mode_prepare ⇒ bsp_wakeup_buttons_set
  [Calls]
  - >> bsp_wakeup_buttons_set
  [Called By]
  - >> sleep_mode_enter

  bsp_button_is_pressed (Thumb, 34 bytes, Stack size 0 bytes, bsp.o(i.bsp_button_is_pressed))
  [Called By]

  - >> bsp_btn_ble_init

  bsp_event_handler (Thumb, 142 bytes, Stack size 32 bytes, main.o(i.bsp_event_handler))
  [Stack]

  - Max Depth = 112
  - Call Chain = bsp_event_handler ⇒ sleep_mode_enter ⇒ bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start
  [Calls]
  - >> bsp_indication_set
  - >> app_error_handler
  - >> sleep_mode_enter
  [Address Reference Count : 1]
  - main.o(i.main)

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

  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]
  - >> bsp_event_handler
  - >> sleep_mode_enter
  - >> on_ble_evt
  - >> on_adv_evt
  - >> device_manager_evt_handler

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

  - Max Depth = 84
  - 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

  bsp_wakeup_buttons_set (Thumb, 50 bytes, Stack size 20 bytes, bsp.o(i.bsp_wakeup_buttons_set))
  [Stack]

  - Max Depth = 20
  - Call Chain = bsp_wakeup_buttons_set
  [Called By]
  - >> bsp_btn_ble_sleep_mode_prepare

  debug_printf (Thumb, 30 bytes, Stack size 280 bytes, debug_util.o(i.debug_printf))
  [Stack]

  - Max Depth = 304
  - Call Chain = debug_printf ⇒ vsprintf
  [Calls]
  - >> simple_uart_putstring
  - >> vsprintf
  [Called By]
  - >> main
  - >> on_ble_evt

  dm_ble_evt_handler (Thumb, 972 bytes, Stack size 96 bytes, device_manager_peripheral.o(i.dm_ble_evt_handler))
  [Stack]

  - Max Depth = 272
  - Call Chain = dm_ble_evt_handler ⇒ device_instance_free ⇒ pstorage_clear ⇒ cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> app_error_handler
  - >> dm_handle_initialize
  - >> bond_data_load
  - >> peer_instance_init
  - >> device_instance_free
  - >> device_instance_find
  - >> device_instance_allocate
  - >> device_context_store
  - >> connection_instance_init
  - >> connection_instance_find
  - >> app_evt_notify
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy
  [Called By]
  - >> ble_evt_dispatch

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

  - >> dm_ble_evt_handler
  - >> dm_pstorage_cb_handler

  dm_init (Thumb, 176 bytes, Stack size 40 bytes, device_manager_peripheral.o(i.dm_init))
  [Stack]

  - Max Depth = 192
  - Call Chain = dm_init ⇒ pstorage_clear ⇒ cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> pstorage_register
  - >> pstorage_load
  - >> pstorage_clear
  - >> pstorage_block_identifier_get
  - >> peer_instance_init
  - >> connection_instance_init
  - >> __aeabi_memclr4
  [Called By]
  - >> device_manager_init

  dm_register (Thumb, 104 bytes, Stack size 16 bytes, device_manager_peripheral.o(i.dm_register))
  [Stack]

  - Max Depth = 16
  - Call Chain = dm_register
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> device_manager_init

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

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

  main (Thumb, 366 bytes, Stack size 96 bytes, main.o(i.main))
  [Stack]

  - Max Depth = 400
  - Call Chain = main ⇒ debug_printf ⇒ vsprintf
  [Calls]
  - >> simple_uart_config
  - >> nrf_delay_ms
  - >> debug_printf
  - >> bsp_init
  - >> bsp_btn_ble_init
  - >> ble_advertising_start
  - >> ble_advertising_init
  - >> app_timer_init
  - >> app_error_handler
  - >> acc_init
  - >> acc_get_z8
  - >> ble_acc_change_notify
  - >> services_init
  - >> device_manager_init
  - >> ble_stack_init
  - >> acc_service_init
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

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

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

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

  - Max Depth = 8
  - Call Chain = nrf_drv_common_irq_enable
  [Called By]
  - >> nrf_drv_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]
  - >> pin_in_use_by_te
  - >> pin_in_use_by_port
  - >> nrf_gpio_cfg_sense_set
  - >> channel_port_get
  [Called By]
  - >> app_button_enable

  nrf_drv_gpiote_in_init (Thumb, 130 bytes, Stack size 24 bytes, nrf_drv_gpiote.o(i.nrf_drv_gpiote_in_init))
  [Stack]

  - Max Depth = 44
  - Call Chain = nrf_drv_gpiote_in_init ⇒ channel_port_alloc
  [Calls]
  - >> channel_port_alloc
  [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

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

  - >> ble_advertising_start

  pstorage_block_identifier_get (Thumb, 74 bytes, Stack size 12 bytes, pstorage.o(i.pstorage_block_identifier_get))
  [Stack]

  - Max Depth = 12
  - Call Chain = pstorage_block_identifier_get
  [Called By]
  - >> dm_init
  - >> bond_data_load
  - >> dm_pstorage_cb_handler
  - >> device_instance_free
  - >> device_context_store

  pstorage_clear (Thumb, 156 bytes, Stack size 32 bytes, pstorage.o(i.pstorage_clear))
  [Stack]

  - Max Depth = 152
  - Call Chain = pstorage_clear ⇒ cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> cmd_queue_enqueue
  - >> is_word_aligned
  - >> __aeabi_uidivmod
  [Called By]
  - >> dm_init
  - >> device_instance_free

  pstorage_init (Thumb, 68 bytes, Stack size 16 bytes, pstorage.o(i.pstorage_init))
  [Stack]

  - Max Depth = 36
  - Call Chain = pstorage_init ⇒ pstorage_flash_page_end ⇒ __aeabi_uidivmod
  [Calls]
  - >> cmd_queue_element_init
  - >> pstorage_flash_page_size
  - >> pstorage_flash_page_end
  [Called By]
  - >> device_manager_init

  pstorage_load (Thumb, 158 bytes, Stack size 40 bytes, pstorage.o(i.pstorage_load))
  [Stack]

  - Max Depth = 40
  - Call Chain = pstorage_load
  [Calls]
  - >> is_word_aligned
  - >> __aeabi_memcpy
  [Called By]
  - >> dm_init
  - >> bond_data_load
  - >> gatts_context_load

  pstorage_register (Thumb, 170 bytes, Stack size 24 bytes, pstorage.o(i.pstorage_register))
  [Stack]

  - Max Depth = 52
  - Call Chain = pstorage_register ⇒ __aeabi_idivmod ⇒ __aeabi_uidivmod
  [Calls]
  - >> pstorage_flash_page_size
  - >> pstorage_flash_page_end
  - >> __aeabi_idivmod
  [Called By]
  - >> dm_init

  pstorage_store (Thumb, 134 bytes, Stack size 24 bytes, pstorage.o(i.pstorage_store))
  [Stack]

  - Max Depth = 144
  - Call Chain = pstorage_store ⇒ cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> cmd_queue_enqueue
  - >> is_word_aligned
  [Address Reference Count : 2]
  - device_manager_peripheral.o(i.device_context_store)
  - device_manager_peripheral.o(i.gatts_context_store)

  pstorage_sys_event_handler (Thumb, 72 bytes, Stack size 8 bytes, pstorage.o(i.pstorage_sys_event_handler))
  [Stack]

  - Max Depth = 96
  - Call Chain = pstorage_sys_event_handler ⇒ flash_operation_success_run ⇒ clear_post_processing_run ⇒ command_end_procedure_run ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> flash_operation_success_run
  - >> app_notify_error_state_transit
  - >> swap_sub_state_state_change
  - >> sm_state_change
  [Called By]
  - >> sys_evt_dispatch

  pstorage_update (Thumb, 134 bytes, Stack size 24 bytes, pstorage.o(i.pstorage_update))
  [Stack]

  - Max Depth = 144
  - Call Chain = pstorage_update ⇒ cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> cmd_queue_enqueue
  - >> is_word_aligned
  [Address Reference Count : 2]
  - device_manager_peripheral.o(i.device_context_store)
  - device_manager_peripheral.o(i.gatts_context_store)

  send_recv_spi0_data (Thumb, 26 bytes, Stack size 8 bytes, acc_lis2.o(i.send_recv_spi0_data))
  [Stack]

  - Max Depth = 96
  - Call Chain = send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> spi_master_send_recv
  [Called By]
  - >> spia_wr8
  - >> spia_rd8
  - >> spia_rd16

  simple_uart_config (Thumb, 76 bytes, Stack size 20 bytes, simple_uart.o(i.simple_uart_config))
  [Stack]

  - Max Depth = 20
  - Call Chain = simple_uart_config
  [Called By]
  - >> main

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

  - >> simple_uart_putstring

  simple_uart_putstring (Thumb, 24 bytes, Stack size 4 bytes, simple_uart.o(i.simple_uart_putstring))
  [Stack]

  - Max Depth = 4
  - Call Chain = simple_uart_putstring
  [Calls]
  - >> simple_uart_put
  [Called By]
  - >> debug_printf

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

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

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

  - >> ble_stack_init

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

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

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

  - >> ble_stack_init

  spi_master_event_handler (Thumb, 16 bytes, Stack size 8 bytes, acc_lis2.o(i.spi_master_event_handler))
  [Stack]

  - Max Depth = 8
  - Call Chain = spi_master_event_handler
  [Address Reference Count : 1]
  - acc_lis2.o(i.spia_init)

  spi_master_evt_handler_reg (Thumb, 26 bytes, Stack size 16 bytes, spi_master.o(i.spi_master_evt_handler_reg))
  [Stack]

  - Max Depth = 16
  - Call Chain = spi_master_evt_handler_reg
  [Calls]
  - >> spi_master_get_instance
  - >> app_error_handler
  [Called By]
  - >> spia_init

  spi_master_open (Thumb, 260 bytes, Stack size 24 bytes, spi_master.o(i.spi_master_open))
  [Stack]

  - Max Depth = 56
  - Call Chain = spi_master_open ⇒ spi_master_init_hw_instance
  [Calls]
  - >> spi_master_init_hw_instance
  - >> spi_master_get_instance
  - >> nrf_gpio_pin_set
  - >> app_error_handler
  [Called By]
  - >> spia_init

  spi_master_send_recv (Thumb, 288 bytes, Stack size 48 bytes, spi_master.o(i.spi_master_send_recv))
  [Stack]

  - Max Depth = 88
  - Call Chain = spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> spi_master_get_instance
  - >> spi_master_buffer_init
  - >> app_error_handler
  [Called By]
  - >> send_recv_spi0_data

  spia_init (Thumb, 88 bytes, Stack size 48 bytes, acc_lis2.o(i.spia_init))
  [Stack]

  - Max Depth = 104
  - Call Chain = spia_init ⇒ spi_master_open ⇒ spi_master_init_hw_instance
  [Calls]
  - >> spi_master_open
  - >> spi_master_evt_handler_reg
  - >> __aeabi_memcpy4
  [Called By]
  - >> acc_init

  ### Local Symbols

  acc_service_init (Thumb, 252 bytes, Stack size 88 bytes, main.o(i.acc_service_init))
  [Stack]

  - Max Depth = 88
  - Call Chain = acc_service_init
  [Calls]
  - >> app_error_handler
  - >> strlen
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  ble_evt_dispatch (Thumb, 28 bytes, Stack size 8 bytes, main.o(i.ble_evt_dispatch))
  [Stack]

  - Max Depth = 320
  - Call Chain = ble_evt_dispatch ⇒ on_ble_evt ⇒ debug_printf ⇒ vsprintf
  [Calls]
  - >> dm_ble_evt_handler
  - >> bsp_btn_ble_on_ble_evt
  - >> ble_advertising_on_ble_evt
  - >> on_ble_evt
  [Address Reference Count : 1]
  - main.o(i.ble_stack_init)

  ble_stack_init (Thumb, 90 bytes, Stack size 16 bytes, main.o(i.ble_stack_init))
  [Stack]

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

  device_manager_evt_handler (Thumb, 52 bytes, Stack size 8 bytes, main.o(i.device_manager_evt_handler))
  [Stack]

  - Max Depth = 80
  - Call Chain = device_manager_evt_handler ⇒ bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start
  [Calls]
  - >> bsp_indication_set
  - >> app_error_handler
  [Address Reference Count : 1]
  - main.o(i.device_manager_init)

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

  - Max Depth = 216
  - Call Chain = device_manager_init ⇒ dm_init ⇒ pstorage_clear ⇒ cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> pstorage_init
  - >> dm_register
  - >> dm_init
  - >> app_error_handler
  [Called By]
  - >> main

  on_adv_evt (Thumb, 36 bytes, Stack size 8 bytes, main.o(i.on_adv_evt))
  [Stack]

  - Max Depth = 88
  - Call Chain = on_adv_evt ⇒ sleep_mode_enter ⇒ bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start
  [Calls]
  - >> bsp_indication_set
  - >> app_error_handler
  - >> sleep_mode_enter
  [Address Reference Count : 1]
  - main.o(i.main)

  on_ble_evt (Thumb, 118 bytes, Stack size 8 bytes, main.o(i.on_ble_evt))
  [Stack]

  - Max Depth = 312
  - Call Chain = on_ble_evt ⇒ debug_printf ⇒ vsprintf
  [Calls]
  - >> debug_printf
  - >> bsp_indication_set
  - >> app_error_handler
  [Called By]
  - >> ble_evt_dispatch

  services_init (Thumb, 314 bytes, Stack size 104 bytes, main.o(i.services_init))
  [Stack]

  - Max Depth = 104
  - Call Chain = services_init
  [Calls]
  - >> app_error_handler
  - >> strlen
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  sleep_mode_enter (Thumb, 52 bytes, Stack size 8 bytes, main.o(i.sleep_mode_enter))
  [Stack]

  - Max Depth = 80
  - Call Chain = sleep_mode_enter ⇒ bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start
  [Calls]
  - >> bsp_indication_set
  - >> bsp_btn_ble_sleep_mode_prepare
  - >> app_error_handler
  [Called By]
  - >> bsp_event_handler
  - >> on_adv_evt

  sys_evt_dispatch (Thumb, 16 bytes, Stack size 8 bytes, main.o(i.sys_evt_dispatch))
  [Stack]

  - Max Depth = 264
  - Call Chain = sys_evt_dispatch ⇒ ble_advertising_on_sys_evt ⇒ ble_advertising_start ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> pstorage_sys_event_handler
  - >> ble_advertising_on_sys_evt
  [Address Reference Count : 1]
  - main.o(i.ble_stack_init)

  spia_rd16 (Thumb, 54 bytes, Stack size 8 bytes, acc_lis2.o(i.spia_rd16))
  [Stack]

  - Max Depth = 104
  - Call Chain = spia_rd16 ⇒ send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> send_recv_spi0_data
  [Called By]
  - >> acc_get_z8

  spia_rd8 (Thumb, 44 bytes, Stack size 8 bytes, acc_lis2.o(i.spia_rd8))
  [Stack]

  - Max Depth = 104
  - Call Chain = spia_rd8 ⇒ send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> send_recv_spi0_data
  [Called By]
  - >> acc_get_status

  spia_wr8 (Thumb, 32 bytes, Stack size 8 bytes, acc_lis2.o(i.spia_wr8))
  [Stack]

  - Max Depth = 104
  - Call Chain = spia_wr8 ⇒ send_recv_spi0_data ⇒ spi_master_send_recv ⇒ spi_master_buffer_init
  [Calls]
  - >> send_recv_spi0_data
  [Called By]
  - >> acc_set_400Hz_lp_mode
  - >> acc_init

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

  - >> spi_master_send_recv_irq
  - >> spi_master_open

  spi_master_buffer_init (Thumb, 72 bytes, Stack size 40 bytes, spi_master.o(i.spi_master_buffer_init))
  [Stack]

  - Max Depth = 40
  - Call Chain = spi_master_buffer_init
  [Calls]
  - >> app_error_handler
  [Called By]
  - >> spi_master_send_recv

  spi_master_buffer_release (Thumb, 40 bytes, Stack size 16 bytes, spi_master.o(i.spi_master_buffer_release))
  [Stack]

  - Max Depth = 16
  - Call Chain = spi_master_buffer_release
  [Calls]
  - >> app_error_handler
  [Called By]
  - >> spi_master_send_recv_irq

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

  - >> SPI0_TWI0_IRQHandler
  - >> spi_master_send_recv
  - >> spi_master_open
  - >> spi_master_evt_handler_reg

  spi_master_init_hw_instance (Thumb, 58 bytes, Stack size 32 bytes, spi_master.o(i.spi_master_init_hw_instance))
  [Stack]

  - Max Depth = 32
  - Call Chain = spi_master_init_hw_instance
  [Calls]
  - >> app_error_handler
  [Called By]
  - >> spi_master_open

  spi_master_send_recv_irq (Thumb, 180 bytes, Stack size 16 bytes, spi_master.o(i.spi_master_send_recv_irq))
  [Stack]

  - Max Depth = 40
  - Call Chain = spi_master_send_recv_irq ⇒ spi_master_signal_evt
  [Calls]
  - >> spi_master_signal_evt
  - >> spi_master_buffer_release
  - >> nrf_gpio_pin_set
  - >> app_error_handler
  [Called By]
  - >> SPI0_TWI0_IRQHandler

  spi_master_signal_evt (Thumb, 46 bytes, Stack size 24 bytes, spi_master.o(i.spi_master_signal_evt))
  [Stack]

  - Max Depth = 24
  - Call Chain = spi_master_signal_evt
  [Calls]
  - >> app_error_handler
  [Called By]
  - >> spi_master_send_recv_irq

  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, 144 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, 454 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)

  advertising_buttons_configure (Thumb, 60 bytes, Stack size 8 bytes, bsp_btn_ble.o(i.advertising_buttons_configure))
  [Stack]

  - Max Depth = 24
  - Call Chain = advertising_buttons_configure ⇒ bsp_event_to_button_action_assign
  [Calls]
  - >> bsp_event_to_button_action_assign
  [Called By]
  - >> bsp_btn_ble_on_ble_evt
  - >> bsp_btn_ble_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

  adv_data_encode (Thumb, 330 bytes, Stack size 40 bytes, ble_advdata.o(i.adv_data_encode))
  [Stack]

  - Max Depth = 112
  - 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
  - >> conn_int_encode
  [Called By]
  - >> ble_advdata_set

  conn_int_encode (Thumb, 126 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

  manuf_specific_data_encode (Thumb, 100 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, 106 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, 124 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]

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

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

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

  uuid_list_sized_encode (Thumb, 162 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

  ble_advertising_peer_address_clear (Thumb, 12 bytes, Stack size 8 bytes, ble_advertising.o(i.ble_advertising_peer_address_clear))
  [Stack]

  - Max Depth = 8
  - Call Chain = ble_advertising_peer_address_clear
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> ble_advertising_start
  - >> ble_advertising_init

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

  - >> ble_advertising_start

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

  - >> ble_advertising_start

  app_evt_notify (Thumb, 6 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.app_evt_notify))
  [Called By]

  - >> dm_ble_evt_handler
  - >> dm_pstorage_cb_handler

  connection_instance_find (Thumb, 38 bytes, Stack size 16 bytes, device_manager_peripheral.o(i.connection_instance_find))
  [Stack]

  - Max Depth = 16
  - Call Chain = connection_instance_find
  [Called By]
  - >> dm_ble_evt_handler

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

  - Max Depth = 8
  - Call Chain = connection_instance_init
  [Calls]
  - >> __aeabi_memclr
  [Called By]
  - >> dm_init
  - >> dm_ble_evt_handler

  device_context_store (Thumb, 152 bytes, Stack size 32 bytes, device_manager_peripheral.o(i.device_context_store))
  [Stack]

  - Max Depth = 44
  - Call Chain = device_context_store ⇒ pstorage_block_identifier_get
  [Calls]
  - >> pstorage_block_identifier_get
  [Called By]
  - >> dm_ble_evt_handler

  device_instance_allocate (Thumb, 74 bytes, Stack size 16 bytes, device_manager_peripheral.o(i.device_instance_allocate))
  [Stack]

  - Max Depth = 16
  - Call Chain = device_instance_allocate
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> dm_ble_evt_handler

  device_instance_find (Thumb, 68 bytes, Stack size 32 bytes, device_manager_peripheral.o(i.device_instance_find))
  [Stack]

  - Max Depth = 44
  - Call Chain = device_instance_find ⇒ memcmp
  [Calls]
  - >> memcmp
  [Called By]
  - >> dm_ble_evt_handler

  device_instance_free (Thumb, 40 bytes, Stack size 24 bytes, device_manager_peripheral.o(i.device_instance_free))
  [Stack]

  - Max Depth = 176
  - Call Chain = device_instance_free ⇒ pstorage_clear ⇒ cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> pstorage_clear
  - >> pstorage_block_identifier_get
  - >> peer_instance_init
  [Called By]
  - >> dm_ble_evt_handler

  dm_pstorage_cb_handler (Thumb, 348 bytes, Stack size 96 bytes, device_manager_peripheral.o(i.dm_pstorage_cb_handler))
  [Stack]

  - Max Depth = 108
  - Call Chain = dm_pstorage_cb_handler ⇒ pstorage_block_identifier_get
  [Calls]
  - >> app_error_handler
  - >> pstorage_block_identifier_get
  - >> dm_handle_initialize
  - >> update_status_bit_reset
  - >> app_evt_notify
  - >> memcmp
  - >> __aeabi_memclr4
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - device_manager_peripheral.o(i.dm_init)

  gattc_context_apply (Thumb, 4 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.gattc_context_apply))
  [Address Reference Count : 1]

  - device_manager_peripheral.o(.constdata)

  gattc_context_load (Thumb, 4 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.gattc_context_load))
  [Address Reference Count : 1]

  - device_manager_peripheral.o(.constdata)

  gattc_context_store (Thumb, 4 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.gattc_context_store))
  [Address Reference Count : 1]

  - device_manager_peripheral.o(.constdata)

  gatts_context_apply (Thumb, 160 bytes, Stack size 24 bytes, device_manager_peripheral.o(i.gatts_context_apply))
  [Stack]

  - Max Depth = 24
  - Call Chain = gatts_context_apply
  [Called By]
  - >> gattsc_context_apply
  [Address Reference Count : 1]
  - device_manager_peripheral.o(.constdata)

  gatts_context_load (Thumb, 44 bytes, Stack size 16 bytes, device_manager_peripheral.o(i.gatts_context_load))
  [Stack]

  - Max Depth = 56
  - Call Chain = gatts_context_load ⇒ pstorage_load
  [Calls]
  - >> pstorage_load
  [Called By]
  - >> gattsc_context_load
  [Address Reference Count : 1]
  - device_manager_peripheral.o(.constdata)

  gatts_context_store (Thumb, 158 bytes, Stack size 56 bytes, device_manager_peripheral.o(i.gatts_context_store))
  [Stack]

  - Max Depth = 68
  - Call Chain = gatts_context_store ⇒ memcmp
  [Calls]
  - >> memcmp
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy4
  [Called By]
  - >> gattsc_context_store
  [Address Reference Count : 1]
  - device_manager_peripheral.o(.constdata)

  gattsc_context_apply (Thumb, 8 bytes, Stack size 8 bytes, device_manager_peripheral.o(i.gattsc_context_apply))
  [Stack]

  - Max Depth = 32
  - Call Chain = gattsc_context_apply ⇒ gatts_context_apply
  [Calls]
  - >> gatts_context_apply
  [Address Reference Count : 1]
  - device_manager_peripheral.o(.constdata)

  gattsc_context_load (Thumb, 8 bytes, Stack size 8 bytes, device_manager_peripheral.o(i.gattsc_context_load))
  [Stack]

  - Max Depth = 64
  - Call Chain = gattsc_context_load ⇒ gatts_context_load ⇒ pstorage_load
  [Calls]
  - >> gatts_context_load
  [Address Reference Count : 1]
  - device_manager_peripheral.o(.constdata)

  gattsc_context_store (Thumb, 8 bytes, Stack size 8 bytes, device_manager_peripheral.o(i.gattsc_context_store))
  [Stack]

  - Max Depth = 76
  - Call Chain = gattsc_context_store ⇒ gatts_context_store ⇒ memcmp
  [Calls]
  - >> gatts_context_store
  [Address Reference Count : 1]
  - device_manager_peripheral.o(.constdata)

  no_service_context_apply (Thumb, 4 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.no_service_context_apply))
  [Address Reference Count : 1]

  - device_manager_peripheral.o(.constdata)

  no_service_context_load (Thumb, 4 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.no_service_context_load))
  [Address Reference Count : 1]

  - device_manager_peripheral.o(.constdata)

  no_service_context_store (Thumb, 4 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.no_service_context_store))
  [Address Reference Count : 1]

  - device_manager_peripheral.o(.constdata)

  peer_instance_init (Thumb, 50 bytes, Stack size 16 bytes, device_manager_peripheral.o(i.peer_instance_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = peer_instance_init
  [Calls]
  - >> update_status_bit_reset
  - >> __aeabi_memclr
  [Called By]
  - >> dm_init
  - >> dm_ble_evt_handler
  - >> device_instance_free

  storage_operation_dummy_handler (Thumb, 4 bytes, Stack size 0 bytes, device_manager_peripheral.o(i.storage_operation_dummy_handler))
  [Address Reference Count : 1]

  - device_manager_peripheral.o(i.device_context_store)

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

  - >> peer_instance_init
  - >> dm_pstorage_cb_handler

  action_tx_send (Thumb, 56 bytes, Stack size 16 bytes, app_uart_fifo.o(i.action_tx_send))
  [Stack]

  - Max Depth = 32
  - Call Chain = action_tx_send ⇒ action_tx_stop
  [Calls]
  - >> app_fifo_get
  - >> action_tx_stop
  [Called By]
  - >> on_uart_event

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

  - >> on_uart_event

  on_uart_event (Thumb, 118 bytes, Stack size 8 bytes, app_uart_fifo.o(i.on_uart_event))
  [Stack]

  - Max Depth = 40
  - Call Chain = on_uart_event ⇒ action_tx_send ⇒ action_tx_stop
  [Calls]
  - >> action_tx_stop
  - >> action_uart_deactivate
  - >> action_tx_send
  - >> __ARM_common_switch8
  [Called By]
  - >> UART0_IRQHandler

  app_notify (Thumb, 34 bytes, Stack size 16 bytes, pstorage.o(i.app_notify))
  [Stack]

  - Max Depth = 16
  - Call Chain = app_notify
  [Called By]
  - >> command_end_procedure_run
  - >> app_notify_error_state_transit

  app_notify_error_state_transit (Thumb, 26 bytes, Stack size 8 bytes, pstorage.o(i.app_notify_error_state_transit))
  [Stack]

  - Max Depth = 24 + In Cycle
  - Call Chain = app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> app_notify
  - >> sm_state_change
  [Called By]
  - >> pstorage_sys_event_handler
  - >> flash_api_err_code_process

  clear_operation_execute (Thumb, 252 bytes, Stack size 24 bytes, pstorage.o(i.clear_operation_execute))
  [Stack]

  - Max Depth = 88
  - Call Chain = clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> sm_state_change
  - >> pstorage_flash_page_size
  - >> __aeabi_uidivmod
  [Called By]
  - >> cmd_process

  clear_post_processing_run (Thumb, 32 bytes, Stack size 8 bytes, pstorage.o(i.clear_post_processing_run))
  [Stack]

  - Max Depth = 80
  - Call Chain = clear_post_processing_run ⇒ command_end_procedure_run ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> command_end_procedure_run
  - >> sm_state_change
  [Called By]
  - >> head_restore_state_run
  - >> flash_operation_success_run
  - >> data_page_erase_state_run
  - >> tail_restore_state_run

  cmd_process (Thumb, 46 bytes, Stack size 8 bytes, pstorage.o(i.cmd_process))
  [Stack]

  - Max Depth = 96
  - Call Chain = cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> clear_operation_execute
  - >> sm_state_change
  [Called By]
  - >> cmd_queue_enqueue
  - >> sm_state_change

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

  - >> pstorage_init
  - >> command_end_procedure_run

  cmd_queue_enqueue (Thumb, 68 bytes, Stack size 24 bytes, pstorage.o(i.cmd_queue_enqueue))
  [Stack]

  - Max Depth = 120
  - Call Chain = cmd_queue_enqueue ⇒ cmd_process ⇒ clear_operation_execute ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> cmd_process
  [Called By]
  - >> pstorage_update
  - >> pstorage_store
  - >> pstorage_clear

  command_end_procedure_run (Thumb, 56 bytes, Stack size 8 bytes, pstorage.o(i.command_end_procedure_run))
  [Stack]

  - Max Depth = 72
  - Call Chain = command_end_procedure_run ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> cmd_queue_element_init
  - >> app_notify
  - >> sm_state_change
  [Called By]
  - >> flash_operation_success_run
  - >> clear_post_processing_run

  data_page_erase_state_run (Thumb, 80 bytes, Stack size 8 bytes, pstorage.o(i.data_page_erase_state_run))
  [Stack]

  - Max Depth = 88
  - Call Chain = data_page_erase_state_run ⇒ clear_post_processing_run ⇒ command_end_procedure_run ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> clear_post_processing_run
  - >> swap_sub_state_state_change
  - >> swap_sub_state_err_busy_process
  - >> is_page_erase_required
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  data_to_swap_write_state_run (Thumb, 34 bytes, Stack size 8 bytes, pstorage.o(i.data_to_swap_write_state_run))
  [Stack]

  - Max Depth = 16
  - Call Chain = data_to_swap_write_state_run ⇒ swap_sub_state_err_busy_process
  [Calls]
  - >> swap_sub_state_state_change
  - >> swap_sub_state_err_busy_process
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  flash_api_err_code_process (Thumb, 28 bytes, Stack size 8 bytes, pstorage.o(i.flash_api_err_code_process))
  [Stack]

  - Max Depth = 32
  - Call Chain = flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> app_notify_error_state_transit
  [Called By]
  - >> flash_write
  - >> flash_page_erase

  flash_operation_success_run (Thumb, 114 bytes, Stack size 8 bytes, pstorage.o(i.flash_operation_success_run))
  [Stack]

  - Max Depth = 88
  - Call Chain = flash_operation_success_run ⇒ clear_post_processing_run ⇒ command_end_procedure_run ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> command_end_procedure_run
  - >> clear_post_processing_run
  - >> store_cmd_flash_write_execute
  - >> sm_state_change
  - >> main_state_err_busy_process
  - >> is_page_erase_required
  [Called By]
  - >> pstorage_sys_event_handler

  flash_page_erase (Thumb, 10 bytes, Stack size 8 bytes, pstorage.o(i.flash_page_erase))
  [Stack]

  - Max Depth = 40
  - Call Chain = flash_page_erase ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_api_err_code_process
  [Called By]
  - >> state_swap_erase_entry_run
  - >> state_erase_data_page_entry_run
  - >> sm_state_change

  flash_write (Thumb, 10 bytes, Stack size 8 bytes, pstorage.o(i.flash_write))
  [Stack]

  - Max Depth = 40
  - Call Chain = flash_write ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_api_err_code_process
  [Called By]
  - >> store_cmd_flash_write_execute
  - >> state_write_data_swap_entry_run
  - >> state_restore_tail_entry_run
  - >> state_restore_head_entry_run

  head_restore_state_run (Thumb, 110 bytes, Stack size 16 bytes, pstorage.o(i.head_restore_state_run))
  [Stack]

  - Max Depth = 96
  - Call Chain = head_restore_state_run ⇒ clear_post_processing_run ⇒ command_end_procedure_run ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> clear_post_processing_run
  - >> swap_sub_state_state_change
  - >> swap_sub_state_err_busy_process
  - >> pstorage_flash_page_size
  - >> is_page_erase_required
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  is_page_erase_required (Thumb, 60 bytes, Stack size 16 bytes, pstorage.o(i.is_page_erase_required))
  [Stack]

  - Max Depth = 28
  - Call Chain = is_page_erase_required ⇒ __aeabi_uidivmod
  [Calls]
  - >> pstorage_flash_page_size
  - >> __aeabi_uidivmod
  [Called By]
  - >> head_restore_state_run
  - >> flash_operation_success_run
  - >> data_page_erase_state_run

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

  - >> pstorage_update
  - >> pstorage_store
  - >> pstorage_load
  - >> pstorage_clear

  main_state_err_busy_process (Thumb, 20 bytes, Stack size 8 bytes, pstorage.o(i.main_state_err_busy_process))
  [Stack]

  - Max Depth = 72
  - Call Chain = main_state_err_busy_process ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> sm_state_change
  [Called By]
  - >> flash_operation_success_run

  pstorage_flash_page_end (Thumb, 32 bytes, Stack size 8 bytes, pstorage.o(i.pstorage_flash_page_end))
  [Stack]

  - Max Depth = 20
  - Call Chain = pstorage_flash_page_end ⇒ __aeabi_uidivmod
  [Calls]
  - >> pstorage_flash_page_size
  - >> __aeabi_uidivmod
  [Called By]
  - >> pstorage_init
  - >> pstorage_register
  - >> state_write_data_swap_entry_run
  - >> state_swap_erase_entry_run
  - >> state_restore_tail_entry_run
  - >> state_restore_head_entry_run

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

  - >> pstorage_init
  - >> head_restore_state_run
  - >> clear_operation_execute
  - >> pstorage_register
  - >> store_cmd_flash_write_execute
  - >> state_write_data_swap_entry_run
  - >> state_swap_erase_entry_run
  - >> state_restore_tail_entry_run
  - >> state_restore_head_entry_run
  - >> state_data_erase_swap_entry_run
  - >> pstorage_flash_page_end
  - >> is_page_erase_required

  sm_state_change (Thumb, 62 bytes, Stack size 8 bytes, pstorage.o(i.sm_state_change))
  [Stack]

  - Max Depth = 64 + In Cycle
  - Call Chain = sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> flash_page_erase
  - >> cmd_process
  - >> store_cmd_flash_write_execute
  - >> state_data_erase_swap_entry_run
  [Called By]
  - >> pstorage_sys_event_handler
  - >> flash_operation_success_run
  - >> command_end_procedure_run
  - >> cmd_process
  - >> clear_post_processing_run
  - >> clear_operation_execute
  - >> app_notify_error_state_transit
  - >> main_state_err_busy_process

  state_data_erase_swap_entry_run (Thumb, 92 bytes, Stack size 24 bytes, pstorage.o(i.state_data_erase_swap_entry_run))
  [Stack]

  - Max Depth = 36
  - Call Chain = state_data_erase_swap_entry_run ⇒ __aeabi_uidivmod
  [Calls]
  - >> swap_sub_state_state_change
  - >> pstorage_flash_page_size
  - >> __aeabi_uidivmod
  [Called By]
  - >> sm_state_change

  state_erase_data_page_entry_run (Thumb, 12 bytes, Stack size 8 bytes, pstorage.o(i.state_erase_data_page_entry_run))
  [Stack]

  - Max Depth = 48
  - Call Chain = state_erase_data_page_entry_run ⇒ flash_page_erase ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_page_erase
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  state_restore_head_entry_run (Thumb, 36 bytes, Stack size 8 bytes, pstorage.o(i.state_restore_head_entry_run))
  [Stack]

  - Max Depth = 48
  - Call Chain = state_restore_head_entry_run ⇒ flash_write ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_write
  - >> pstorage_flash_page_size
  - >> pstorage_flash_page_end
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  state_restore_tail_entry_run (Thumb, 66 bytes, Stack size 24 bytes, pstorage.o(i.state_restore_tail_entry_run))
  [Stack]

  - Max Depth = 64
  - Call Chain = state_restore_tail_entry_run ⇒ flash_write ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_write
  - >> pstorage_flash_page_size
  - >> pstorage_flash_page_end
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  state_swap_erase_entry_run (Thumb, 32 bytes, Stack size 16 bytes, pstorage.o(i.state_swap_erase_entry_run))
  [Stack]

  - Max Depth = 56
  - Call Chain = state_swap_erase_entry_run ⇒ flash_page_erase ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_page_erase
  - >> pstorage_flash_page_size
  - >> pstorage_flash_page_end
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  state_write_data_swap_entry_run (Thumb, 42 bytes, Stack size 16 bytes, pstorage.o(i.state_write_data_swap_entry_run))
  [Stack]

  - Max Depth = 56
  - Call Chain = state_write_data_swap_entry_run ⇒ flash_write ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_write
  - >> pstorage_flash_page_size
  - >> pstorage_flash_page_end
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  store_cmd_flash_write_execute (Thumb, 82 bytes, Stack size 16 bytes, pstorage.o(i.store_cmd_flash_write_execute))
  [Stack]

  - Max Depth = 56
  - Call Chain = store_cmd_flash_write_execute ⇒ flash_write ⇒ flash_api_err_code_process ⇒ app_notify_error_state_transit ⇒ sm_state_change (Cycle)
  [Calls]
  - >> flash_write
  - >> pstorage_flash_page_size
  [Called By]
  - >> flash_operation_success_run
  - >> sm_state_change

  swap_erase_state_run (Thumb, 24 bytes, Stack size 8 bytes, pstorage.o(i.swap_erase_state_run))
  [Stack]

  - Max Depth = 16
  - Call Chain = swap_erase_state_run ⇒ swap_sub_state_err_busy_process
  [Calls]
  - >> swap_sub_state_state_change
  - >> swap_sub_state_err_busy_process
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

  swap_sub_state_err_busy_process (Thumb, 20 bytes, Stack size 8 bytes, pstorage.o(i.swap_sub_state_err_busy_process))
  [Stack]

  - Max Depth = 8
  - Call Chain = swap_sub_state_err_busy_process
  [Calls]
  - >> swap_sub_state_state_change
  [Called By]
  - >> head_restore_state_run
  - >> data_to_swap_write_state_run
  - >> data_page_erase_state_run
  - >> tail_restore_state_run
  - >> swap_erase_state_run

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

  - >> pstorage_sys_event_handler
  - >> head_restore_state_run
  - >> data_to_swap_write_state_run
  - >> data_page_erase_state_run
  - >> swap_sub_state_err_busy_process
  - >> swap_erase_state_run
  - >> state_data_erase_swap_entry_run

  tail_restore_state_run (Thumb, 22 bytes, Stack size 8 bytes, pstorage.o(i.tail_restore_state_run))
  [Stack]

  - Max Depth = 88
  - Call Chain = tail_restore_state_run ⇒ clear_post_processing_run ⇒ command_end_procedure_run ⇒ sm_state_change ⇒ cmd_process (Cycle)
  [Calls]
  - >> clear_post_processing_run
  - >> swap_sub_state_err_busy_process
  [Address Reference Count : 1]
  - pstorage.o(.constdata)

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

  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, 70 bytes, Stack size 16 bytes, app_button.o(i.gpiote_event_handler))
  [Stack]

  - Max Depth = 48
  - Call Chain = gpiote_event_handler ⇒ app_timer_start
  [Calls]
  - >> nrf_drv_gpiote_in_is_set
  - >> app_timer_stop
  - >> app_timer_start
  [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, 140 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]
  - >> SWI0_IRQHandler

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

  expired_timers_handler (Thumb, 82 bytes, Stack size 32 bytes, app_timer.o(i.expired_timers_handler))
  [Stack]

  - Max Depth = 32
  - Call Chain = expired_timers_handler
  [Called By]
  - >> SWI0_IRQHandler

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

  - Max Depth = 40
  - Call Chain = list_deletions_handler ⇒ timer_list_remove
  [Calls]
  - >> timer_list_remove
  [Called By]
  - >> SWI0_IRQHandler

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

  - Max Depth = 44
  - Call Chain = list_insertions_handler ⇒ timer_list_insert
  [Calls]
  - >> timer_list_insert
  [Called By]
  - >> SWI0_IRQHandler

  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_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, 94 bytes, Stack size 20 bytes, app_timer.o(i.timer_list_insert))
  [Stack]

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

  timer_list_remove (Thumb, 104 bytes, Stack size 16 bytes, app_timer.o(i.timer_list_remove))
  [Stack]

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

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

  - Max Depth = 24
  - Call Chain = timer_timeouts_check
  [Calls]
  - >> app_error_handler
  - >> timer_list_handler_sched
  [Called By]
  - >> RTC1_IRQHandler

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

  - >> app_timer_stop
  - >> app_timer_start

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

  - >> app_timer_stop
  - >> app_timer_start

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

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

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

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

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

  - >> _printf_core

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

  - >> _printf_core

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

  - >> __0vsprintf
  [Address Reference Count : 1]
  - printfa.o(i.__0vsprintf)

  ### Undefined Global Symbols