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

#<CALLGRAPH># ARM Linker, 5060528: Last Updated: Thu Dec 27 12:51:57 2018

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

### Call chain for Maximum Stack Depth:

ble_evt_dispatch ⇒ pm_on_ble_evt ⇒ gcm_ble_evt_handler ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemoryManagement_Handler ⇒ MemoryManagement_Handler
- BusFault_Handler ⇒ BusFault_Handler
- UsageFault_Handler ⇒ UsageFault_Handler
- SVC_Handler ⇒ SVC_Handler
- DebugMon_Handler ⇒ DebugMon_Handler
- PendSV_Handler ⇒ PendSV_Handler
- SysTick_Handler ⇒ SysTick_Handler
- CCM_AAR_IRQHandler ⇒ CCM_AAR_IRQHandler
- queue_process ⇒ queue_process

  ### Function Pointers

  - BusFault_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - CCM_AAR_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - COMP_LPCOMP_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - DebugMon_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - ECB_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - FPU_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - GPIOTE_IRQHandler from nrf_drv_gpiote.o(i.GPIOTE_IRQHandler) referenced from arm_startup_nrf52.o(RESET)
  - HardFault_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - I2S_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - MWU_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - MemoryManagement_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - NFCT_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - NMI_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - PDM_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - POWER_CLOCK_IRQHandler from nrf_drv_clock.o(i.POWER_CLOCK_IRQHandler) referenced from arm_startup_nrf52.o(RESET)
  - PWM0_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - PWM1_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - PWM2_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - PendSV_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - QDEC_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - RADIO_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - RNG_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - RTC0_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - RTC1_IRQHandler from app_timer.o(i.RTC1_IRQHandler) referenced from arm_startup_nrf52.o(RESET)
  - RTC2_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - Reset_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SAADC_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SPIM2_SPIS2_SPI2_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SVC_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SWI0_EGU0_IRQHandler from app_timer.o(i.SWI0_EGU0_IRQHandler) referenced from arm_startup_nrf52.o(RESET)
  - SWI1_EGU1_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SWI2_EGU2_IRQHandler from softdevice_handler.o(i.SWI2_EGU2_IRQHandler) referenced from arm_startup_nrf52.o(RESET)
  - SWI3_EGU3_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SWI4_EGU4_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SWI5_EGU5_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SysTick_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - SystemInit from system_nrf52.o(i.SystemInit) referenced from arm_startup_nrf52.o(.text)
  - TEMP_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - TIMER0_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - TIMER1_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - TIMER2_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - TIMER3_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - TIMER4_IRQHandler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - UARTE0_UART0_IRQHandler from nrf_drv_uart.o(i.UARTE0_UART0_IRQHandler) referenced from arm_startup_nrf52.o(RESET)
  - UsageFault_Handler from arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - WDT_IRQHandler from nrf_drv_wdt.o(i.WDT_IRQHandler) referenced from arm_startup_nrf52.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from arm_startup_nrf52.o(.text)
  - 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)
  - conn_params_error_handler from main.o(i.conn_params_error_handler) referenced from main.o(i.main)
  - fds_evt_handler from peer_data_storage.o(i.fds_evt_handler) referenced from peer_data_storage.o(i.pds_init)
  - fs_event_handler from fds.o(i.fs_event_handler) referenced from fds.o(fs_data)
  - gcm_gscm_evt_handler from gatt_cache_manager.o(i.gcm_gscm_evt_handler) referenced from gatts_cache_manager.o(.data)
  - gcm_im_evt_handler from gatt_cache_manager.o(i.gcm_im_evt_handler) referenced from id_manager.o(.constdata)
  - gcm_smd_evt_handler from gatt_cache_manager.o(i.gcm_smd_evt_handler) referenced from security_dispatcher.o(.constdata)
  - gscm_pdb_evt_handler from gatts_cache_manager.o(i.gscm_pdb_evt_handler) referenced from peer_database.o(.constdata)
  - im_pdb_evt_handler from id_manager.o(i.im_pdb_evt_handler) referenced from peer_database.o(.constdata)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
  - my_test_timer_handler from main.o(i.my_test_timer_handler) referenced from main.o(i.main)
  - on_adv_evt from main.o(i.on_adv_evt) referenced from main.o(i.main)
  - on_conn_params_evt from main.o(i.on_conn_params_evt) referenced from main.o(i.main)
  - pdb_pds_evt_handler from peer_database.o(i.pdb_pds_evt_handler) referenced from peer_data_storage.o(.constdata)
  - pm_evt_handler from main.o(i.pm_evt_handler) referenced from main.o(i.peer_manager_init)
  - pm_gcm_evt_handler from peer_manager.o(i.pm_gcm_evt_handler) referenced from gatt_cache_manager.o(.data)
  - pm_im_evt_handler from peer_manager.o(i.pm_im_evt_handler) referenced from id_manager.o(.constdata)
  - pm_pdb_evt_handler from peer_manager.o(i.pm_pdb_evt_handler) referenced from peer_database.o(.constdata)
  - pm_sm_evt_handler from peer_manager.o(i.pm_sm_evt_handler) referenced from security_manager.o(.constdata)
  - sm_pdb_evt_handler from security_manager.o(i.sm_pdb_evt_handler) referenced from peer_database.o(.constdata)
  - sm_smd_evt_handler from security_manager.o(i.sm_smd_evt_handler) referenced from security_dispatcher.o(.constdata)
  - smd_pdb_evt_handler from security_dispatcher.o(i.smd_pdb_evt_handler) referenced from peer_database.o(.constdata)
  - softdevice_fault_handler from softdevice_handler.o(i.softdevice_fault_handler) referenced from softdevice_handler.o(i.softdevice_handler_init)
  - sys_evt_dispatch from main.o(i.sys_evt_dispatch) referenced from main.o(i.ble_stack_init)
  - update_timeout_handler from ble_conn_params.o(i.update_timeout_handler) referenced from ble_conn_params.o(i.ble_conn_params_init)
  - wdt_event_handler from main.o(i.wdt_event_handler) referenced from main.o(i.main)

  ### Global Symbols

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

  - arm_startup_nrf52.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))

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

  - arm_startup_nrf52.o(RESET)

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

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

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

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

  MemoryManagement_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf52.o(.text))
  [Calls]

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

  BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf52.o(.text))
  [Calls]

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

  UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf52.o(.text))
  [Calls]

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

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

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

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf52.o(.text))
  [Calls]

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

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

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

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

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

  CCM_AAR_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf52.o(.text))
  [Calls]

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

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

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

  - arm_startup_nrf52.o(RESET)

  __aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __aeabi_uldivmod
  [Calls]
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> bsp_led_indication

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

  - >> service_data_encode
  - >> manuf_specific_data_encode
  - >> on_ble_evt
  - >> pds_peer_data_read

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

  - >> nrf_ble_gatt_on_ble_evt
  - >> ble_conn_state_on_ble_evt
  - >> ble_conn_params_init
  - >> ble_advertising_init
  - >> im_ble_evt_handler
  - >> gcm_ble_evt_handler
  - >> service_changed_pending_flags_check
  - >> sdk_mapped_flags_key_list_get
  - >> op_enqueue

  __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]
  - >> pm_mutex_init
  - >> peer_id_init
  - >> smd_params_reply

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

  - >> ble_advertising_init
  - >> main
  - >> pm_im_evt_handler
  - >> ah
  - >> pm_gcm_evt_handler
  - >> pm_sm_evt_handler
  - >> pm_pdb_evt_handler
  - >> fds_init
  - >> smd_params_reply
  - >> queue_process
  - >> queue_get_next_free

  __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

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

  - Max Depth = 12
  - Call Chain = memcmp
  [Called By]
  - >> im_master_ids_compare
  - >> im_is_duplicate_bonding_data
  - >> im_address_resolve
  - >> addr_compare

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

  - >> __aeabi_uldivmod

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

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

  - >> __aeabi_uldivmod

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

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

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

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

  GPIOTE_IRQHandler (Thumb, 362 bytes, Stack size 80 bytes, nrf_drv_gpiote.o(i.GPIOTE_IRQHandler))
  [Stack]

  - Max Depth = 92
  - Call Chain = GPIOTE_IRQHandler ⇒ nrf_gpio_ports_read
  [Calls]
  - >> nrf_gpiote_event_is_set
  - >> nrf_gpiote_event_clear
  - >> nrf_gpio_ports_read
  - >> nrf_gpio_cfg_sense_set
  - >> nrf_bitmask_bit_is_set
  - >> channel_port_get
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

  POWER_CLOCK_IRQHandler (Thumb, 84 bytes, Stack size 24 bytes, nrf_drv_clock.o(i.POWER_CLOCK_IRQHandler))
  [Stack]

  - Max Depth = 40
  - Call Chain = POWER_CLOCK_IRQHandler ⇒ clock_clk_started_notify
  [Calls]
  - >> nrf_clock_event_clear
  - >> nrf_clock_event_check
  - >> clock_clk_started_notify
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

  RTC1_IRQHandler (Thumb, 32 bytes, Stack size 0 bytes, app_timer.o(i.RTC1_IRQHandler))
  [Stack]

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

  SWI0_EGU0_IRQHandler (Thumb, 4 bytes, Stack size 0 bytes, app_timer.o(i.SWI0_EGU0_IRQHandler))
  [Stack]

  - Max Depth = 96
  - Call Chain = SWI0_EGU0_IRQHandler ⇒ timer_list_handler ⇒ list_insertions_handler ⇒ timer_list_remove
  [Calls]
  - >> timer_list_handler
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

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

  - Max Depth = 48
  - Call Chain = SWI2_EGU2_IRQHandler ⇒ intern_softdevice_events_execute ⇒ app_error_handler_bare
  [Calls]
  - >> app_error_handler_bare
  - >> intern_softdevice_events_execute
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

  SystemInit (Thumb, 726 bytes, Stack size 20 bytes, system_nrf52.o(i.SystemInit))
  [Stack]

  - Max Depth = 20
  - Call Chain = SystemInit
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(.text)

  UARTE0_UART0_IRQHandler (Thumb, 20 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.UARTE0_UART0_IRQHandler))
  [Stack]

  - Max Depth = 72
  - Call Chain = UARTE0_UART0_IRQHandler ⇒ uart_irq_handler ⇒ tx_byte ⇒ nrf_uart_event_clear
  [Calls]
  - >> uarte_irq_handler
  - >> uart_irq_handler
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

  WDT_IRQHandler (Thumb, 38 bytes, Stack size 8 bytes, nrf_drv_wdt.o(i.WDT_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = WDT_IRQHandler
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

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

  addr_compare (Thumb, 38 bytes, Stack size 8 bytes, id_manager.o(i.addr_compare))
  [Stack]

  - Max Depth = 20
  - Call Chain = addr_compare ⇒ memcmp
  [Calls]
  - >> memcmp
  [Called By]
  - >> im_is_duplicate_bonding_data
  - >> im_ble_evt_handler

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

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

  ah (Thumb, 82 bytes, Stack size 64 bytes, id_manager.o(i.ah))
  [Stack]

  - Max Depth = 64
  - Call Chain = ah
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> im_address_resolve

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

  - >> app_error_handler_bare
  - >> softdevice_fault_handler

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

  - Max Depth = 16
  - Call Chain = app_error_handler_bare
  [Calls]
  - >> app_error_fault_handler
  [Called By]
  - >> ble_conn_state_on_ble_evt
  - >> main
  - >> pm_evt_handler
  - >> peer_manager_init
  - >> on_conn_params_evt
  - >> on_ble_evt
  - >> on_adv_evt
  - >> conn_params_error_handler
  - >> ble_stack_init
  - >> intern_softdevice_events_execute
  - >> SWI2_EGU2_IRQHandler

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

  - >> ble_conn_params_init
  - >> main

  app_timer_init (Thumb, 70 bytes, Stack size 16 bytes, app_timer.o(i.app_timer_init))
  [Stack]

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

  app_timer_start (Thumb, 128 bytes, Stack size 40 bytes, app_timer.o(i.app_timer_start))
  [Stack]

  - Max Depth = 52
  - Call Chain = app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  - >> user_op_alloc
  - >> NVIC_SetPendingIRQ
  [Called By]
  - >> bsp_led_indication
  - >> bsp_button_event_handler
  - >> main
  - >> conn_params_negotiation

  app_timer_stop (Thumb, 26 bytes, Stack size 0 bytes, app_timer.o(i.app_timer_stop))
  [Stack]

  - Max Depth = 36
  - Call Chain = app_timer_stop ⇒ timer_stop_op_schedule ⇒ app_util_critical_region_enter
  [Calls]
  - >> timer_stop_op_schedule
  [Called By]
  - >> bsp_led_indication
  - >> bsp_button_event_handler
  - >> ble_conn_params_on_ble_evt

  app_util_critical_region_enter (Thumb, 64 bytes, Stack size 12 bytes, app_util_platform.o(i.app_util_critical_region_enter))
  [Stack]

  - Max Depth = 12
  - Call Chain = app_util_critical_region_enter
  [Called By]
  - >> nrf_drv_wdt_channel_alloc
  - >> app_timer_start
  - >> pm_mutex_unlock
  - >> nrf_drv_clock_on_sd_enable
  - >> lock_by_mask
  - >> timer_stop_op_schedule

  app_util_critical_region_exit (Thumb, 46 bytes, Stack size 0 bytes, app_util_platform.o(i.app_util_critical_region_exit))
  [Called By]

  - >> nrf_drv_wdt_channel_alloc
  - >> app_timer_start
  - >> pm_mutex_unlock
  - >> nrf_drv_clock_on_sd_enable
  - >> lock_by_mask
  - >> timer_stop_op_schedule

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

  - Max Depth = 216
  - Call Chain = ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> adv_data_encode
  [Called By]
  - >> ble_advertising_init
  - >> set_adv_mode_slow
  - >> set_adv_mode_fast

  ble_advertising_init (Thumb, 280 bytes, Stack size 32 bytes, ble_advertising.o(i.ble_advertising_init))
  [Stack]

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

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

  - Max Depth = 280
  - Call Chain = ble_advertising_on_ble_evt ⇒ ble_advertising_start ⇒ set_adv_mode_slow ⇒ 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, 46 bytes, Stack size 8 bytes, ble_advertising.o(i.ble_advertising_on_sys_evt))
  [Stack]

  - Max Depth = 280
  - Call Chain = ble_advertising_on_sys_evt ⇒ ble_advertising_start ⇒ set_adv_mode_slow ⇒ 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, 252 bytes, Stack size 48 bytes, ble_advertising.o(i.ble_advertising_start))
  [Stack]

  - Max Depth = 272
  - Call Chain = ble_advertising_start ⇒ set_adv_mode_slow ⇒ ble_advdata_set ⇒ adv_data_encode ⇒ uuid_list_encode ⇒ uuid_list_sized_encode
  [Calls]
  - >> fs_queued_op_count_get
  - >> set_adv_mode_slow
  - >> set_adv_mode_fast
  - >> adv_mode_next_avail_get
  [Called By]
  - >> ble_advertising_on_sys_evt
  - >> ble_advertising_on_ble_evt
  - >> pm_evt_handler

  ble_conn_params_init (Thumb, 72 bytes, Stack size 16 bytes, ble_conn_params.o(i.ble_conn_params_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = ble_conn_params_init
  [Calls]
  - >> app_timer_create
  - >> __aeabi_memcpy4
  [Called By]
  - >> main

  ble_conn_params_on_ble_evt (Thumb, 120 bytes, Stack size 16 bytes, ble_conn_params.o(i.ble_conn_params_on_ble_evt))
  [Stack]

  - Max Depth = 92
  - Call Chain = ble_conn_params_on_ble_evt ⇒ conn_params_negotiation ⇒ app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_timer_stop
  - >> ble_srv_is_notification_enabled
  - >> conn_params_negotiation
  [Called By]
  - >> ble_evt_dispatch

  ble_conn_state_conn_handles (Thumb, 10 bytes, Stack size 0 bytes, ble_conn_state.o(i.ble_conn_state_conn_handles))
  [Stack]

  - Max Depth = 96
  - Call Chain = ble_conn_state_conn_handles ⇒ sdk_mapped_flags_key_list_get
  [Calls]
  - >> sdk_mapped_flags_key_list_get
  [Called By]
  - >> gcm_local_database_has_changed
  - >> gcm_ble_evt_handler
  - >> service_changed_pending_flags_check
  - >> params_reply_pending_process
  - >> link_secure_pending_process

  ble_conn_state_encrypted (Thumb, 12 bytes, Stack size 0 bytes, ble_conn_state.o(i.ble_conn_state_encrypted))
  [Stack]

  - Max Depth = 8
  - Call Chain = ble_conn_state_encrypted ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> sdk_mapped_flags_get_by_key
  [Called By]
  - >> smd_ble_evt_handler

  ble_conn_state_mitm_protected (Thumb, 12 bytes, Stack size 0 bytes, ble_conn_state.o(i.ble_conn_state_mitm_protected))
  [Stack]

  - Max Depth = 8
  - Call Chain = ble_conn_state_mitm_protected ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> sdk_mapped_flags_get_by_key
  [Called By]
  - >> smd_ble_evt_handler

  ble_conn_state_on_ble_evt (Thumb, 262 bytes, Stack size 176 bytes, ble_conn_state.o(i.ble_conn_state_on_ble_evt))
  [Stack]

  - Max Depth = 272
  - Call Chain = ble_conn_state_on_ble_evt ⇒ sdk_mapped_flags_key_list_get
  [Calls]
  - >> app_error_handler_bare
  - >> sdk_mapped_flags_update_by_key
  - >> sdk_mapped_flags_key_list_get
  - >> sdk_mapped_flags_first_key_index_get
  - >> sdk_mapped_flags_bulk_update_by_key
  - >> __aeabi_memcpy4
  [Called By]
  - >> ble_evt_dispatch

  ble_conn_state_role (Thumb, 42 bytes, Stack size 16 bytes, ble_conn_state.o(i.ble_conn_state_role))
  [Stack]

  - Max Depth = 24
  - Call Chain = ble_conn_state_role ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> sdk_mapped_flags_get_by_key
  [Called By]
  - >> smd_params_reply_perform
  - >> smd_params_reply
  - >> smd_link_secure
  - >> auth_status_success_process

  ble_conn_state_user_flag_acquire (Thumb, 40 bytes, Stack size 8 bytes, ble_conn_state.o(i.ble_conn_state_user_flag_acquire))
  [Stack]

  - Max Depth = 8
  - Call Chain = ble_conn_state_user_flag_acquire
  [Calls]
  - >> user_flag_is_acquired
  [Called By]
  - >> pm_init
  - >> im_init
  - >> gcm_init
  - >> flag_id_init
  - >> flag_id_init

  ble_conn_state_user_flag_collection (Thumb, 22 bytes, Stack size 8 bytes, ble_conn_state.o(i.ble_conn_state_user_flag_collection))
  [Stack]

  - Max Depth = 8
  - Call Chain = ble_conn_state_user_flag_collection
  [Calls]
  - >> user_flag_is_acquired
  [Called By]
  - >> gcm_ble_evt_handler
  - >> service_changed_pending_flags_check
  - >> params_reply_pending_process
  - >> link_secure_pending_process

  ble_conn_state_user_flag_get (Thumb, 38 bytes, Stack size 16 bytes, ble_conn_state.o(i.ble_conn_state_user_flag_get))
  [Stack]

  - Max Depth = 24
  - Call Chain = ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> sdk_mapped_flags_get_by_key
  - >> user_flag_is_acquired
  [Called By]
  - >> get_free_connection
  - >> get_connection_by_conn_handle
  - >> gcm_ble_evt_handler
  - >> service_changed_pending_flags_check
  - >> pm_sm_evt_handler
  - >> smd_params_reply_perform
  - >> params_reply_pending_process
  - >> link_secure_pending_process
  - >> smd_ble_evt_handler
  - >> pairing_failure
  - >> link_secure_failure
  - >> auth_status_success_process

  ble_conn_state_user_flag_set (Thumb, 42 bytes, Stack size 16 bytes, ble_conn_state.o(i.ble_conn_state_user_flag_set))
  [Stack]

  - Max Depth = 40
  - Call Chain = ble_conn_state_user_flag_set ⇒ sdk_mapped_flags_update_by_key ⇒ sdk_mapped_flags_bulk_update_by_key
  [Calls]
  - >> sdk_mapped_flags_update_by_key
  - >> user_flag_is_acquired
  [Called By]
  - >> pm_im_evt_handler
  - >> new_connection
  - >> gcm_local_database_has_changed
  - >> gcm_im_evt_handler
  - >> gcm_gscm_evt_handler
  - >> gcm_ble_evt_handler
  - >> service_changed_send_in_evt
  - >> local_db_update_in_evt
  - >> local_db_apply_in_evt
  - >> sm_conn_sec_config_reply
  - >> pm_sm_evt_handler
  - >> smd_params_reply_perform
  - >> link_secure
  - >> flags_set_from_err_code
  - >> smd_ble_evt_handler
  - >> sec_proc_start
  - >> pairing_failure
  - >> encryption_failure
  - >> auth_status_success_process

  ble_srv_is_notification_enabled (Thumb, 8 bytes, Stack size 0 bytes, ble_srv_common.o(i.ble_srv_is_notification_enabled))
  [Called By]

  - >> ble_conn_params_on_ble_evt

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

  - >> bsp_wakeup_button_enable

  bsp_board_led_invert (Thumb, 32 bytes, Stack size 0 bytes, boards.o(i.bsp_board_led_invert))
  [Called By]

  - >> bsp_led_indication

  bsp_board_led_off (Thumb, 10 bytes, Stack size 0 bytes, boards.o(i.bsp_board_led_off))
  [Calls]

  - >> nrf_gpio_pin_write
  [Called By]
  - >> leds_off
  - >> bsp_led_indication
  - >> bsp_board_leds_off

  bsp_board_led_on (Thumb, 10 bytes, Stack size 0 bytes, boards.o(i.bsp_board_led_on))
  [Calls]

  - >> nrf_gpio_pin_write
  [Called By]
  - >> bsp_led_indication
  - >> bsp_board_leds_on

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

  - >> bsp_led_indication

  bsp_board_leds_off (Thumb, 18 bytes, Stack size 8 bytes, boards.o(i.bsp_board_leds_off))
  [Stack]

  - Max Depth = 8
  - Call Chain = bsp_board_leds_off
  [Calls]
  - >> bsp_board_led_off
  [Called By]
  - >> leds_off

  bsp_board_leds_on (Thumb, 18 bytes, Stack size 8 bytes, boards.o(i.bsp_board_leds_on))
  [Stack]

  - Max Depth = 8
  - Call Chain = bsp_board_leds_on
  [Calls]
  - >> bsp_board_led_on
  [Called By]
  - >> bsp_led_indication

  bsp_board_pin_to_button_idx (Thumb, 30 bytes, Stack size 8 bytes, boards.o(i.bsp_board_pin_to_button_idx))
  [Stack]

  - Max Depth = 8
  - Call Chain = bsp_board_pin_to_button_idx
  [Called By]
  - >> bsp_button_event_handler

  bsp_btn_ble_on_ble_evt (Thumb, 106 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, 30 bytes, Stack size 8 bytes, bsp_btn_ble.o(i.bsp_btn_ble_sleep_mode_prepare))
  [Stack]

  - Max Depth = 16
  - Call Chain = bsp_btn_ble_sleep_mode_prepare ⇒ bsp_wakeup_button_enable
  [Calls]
  - >> bsp_wakeup_button_enable
  [Called By]
  - >> on_adv_evt

  bsp_event_to_button_action_assign (Thumb, 64 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]
  - >> advertising_buttons_configure
  - >> bsp_btn_ble_on_ble_evt

  bsp_indication_set (Thumb, 20 bytes, Stack size 0 bytes, bsp.o(i.bsp_indication_set))
  [Stack]

  - Max Depth = 92
  - Call Chain = bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> bsp_led_indication
  [Called By]
  - >> on_ble_evt
  - >> on_adv_evt

  bsp_wakeup_button_enable (Thumb, 16 bytes, Stack size 8 bytes, bsp.o(i.bsp_wakeup_button_enable))
  [Stack]

  - Max Depth = 8
  - Call Chain = bsp_wakeup_button_enable
  [Calls]
  - >> nrf_gpio_cfg_sense_set
  - >> bsp_board_button_idx_to_pin
  [Called By]
  - >> bsp_btn_ble_sleep_mode_prepare

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

  - >> op_enqueue

  fds_file_delete (Thumb, 70 bytes, Stack size 32 bytes, fds.o(i.fds_file_delete))
  [Stack]

  - Max Depth = 200
  - Call Chain = fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_start
  - >> op_enqueue
  [Called By]
  - >> peer_data_delete

  fds_gc (Thumb, 58 bytes, Stack size 32 bytes, fds.o(i.fds_gc))
  [Stack]

  - Max Depth = 200
  - Call Chain = fds_gc ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_start
  - >> op_enqueue
  [Called By]
  - >> pm_evt_handler

  fds_init (Thumb, 130 bytes, Stack size 56 bytes, fds.o(i.fds_init))
  [Stack]

  - Max Depth = 224
  - Call Chain = fds_init ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_start
  - >> pages_init
  - >> op_enqueue
  - >> flag_set
  - >> flag_clear
  - >> event_send
  - >> fs_init
  - >> __aeabi_memclr4
  [Called By]
  - >> pds_init

  fds_record_close (Thumb, 54 bytes, Stack size 16 bytes, fds.o(i.fds_record_close))
  [Stack]

  - Max Depth = 56
  - Call Chain = fds_record_close ⇒ record_find_by_desc ⇒ record_find_next
  [Calls]
  - >> record_find_by_desc
  [Called By]
  - >> pds_peer_data_read
  - >> pds_peer_data_iterate
  - >> pds_init

  fds_record_find (Thumb, 14 bytes, Stack size 24 bytes, fds.o(i.fds_record_find))
  [Stack]

  - Max Depth = 72
  - Call Chain = fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> record_find
  [Called By]
  - >> peer_data_find

  fds_record_find_by_key (Thumb, 16 bytes, Stack size 16 bytes, fds.o(i.fds_record_find_by_key))
  [Stack]

  - Max Depth = 64
  - Call Chain = fds_record_find_by_key ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> record_find
  [Called By]
  - >> pds_peer_data_iterate
  - >> pds_init

  fds_record_find_in_file (Thumb, 16 bytes, Stack size 16 bytes, fds.o(i.fds_record_find_in_file))
  [Stack]

  - Max Depth = 64
  - Call Chain = fds_record_find_in_file ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> record_find
  [Called By]
  - >> peer_data_delete

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

  - >> pds_peer_data_store

  fds_record_open (Thumb, 60 bytes, Stack size 16 bytes, fds.o(i.fds_record_open))
  [Stack]

  - Max Depth = 56
  - Call Chain = fds_record_open ⇒ record_find_by_desc ⇒ record_find_next
  [Calls]
  - >> record_find_by_desc
  [Called By]
  - >> pds_peer_data_read
  - >> pds_peer_data_iterate
  - >> pds_init

  fds_record_update (Thumb, 14 bytes, Stack size 0 bytes, fds.o(i.fds_record_update))
  [Stack]

  - Max Depth = 264
  - Call Chain = fds_record_update ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> write_enqueue
  [Called By]
  - >> pds_peer_data_store

  fds_record_write (Thumb, 8 bytes, Stack size 0 bytes, fds.o(i.fds_record_write))
  [Stack]

  - Max Depth = 264
  - Call Chain = fds_record_write ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> write_enqueue
  [Called By]
  - >> pds_peer_data_store

  fds_record_write_reserved (Thumb, 12 bytes, Stack size 0 bytes, fds.o(i.fds_record_write_reserved))
  [Stack]

  - Max Depth = 264
  - Call Chain = fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> write_enqueue
  [Called By]
  - >> pds_peer_data_store

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

  - >> pds_init

  fds_reserve (Thumb, 46 bytes, Stack size 16 bytes, fds.o(i.fds_reserve))
  [Stack]

  - Max Depth = 36
  - Call Chain = fds_reserve ⇒ write_space_reserve
  [Calls]
  - >> write_space_reserve
  [Called By]
  - >> pds_space_reserve

  fds_reserve_cancel (Thumb, 60 bytes, Stack size 8 bytes, fds.o(i.fds_reserve_cancel))
  [Stack]

  - Max Depth = 8
  - Call Chain = fds_reserve_cancel
  [Calls]
  - >> write_space_free
  [Called By]
  - >> pds_space_reserve_cancel
  - >> pds_peer_data_store

  feed_WDT (Thumb, 8 bytes, Stack size 0 bytes, main.o(i.feed_WDT))
  [Calls]

  - >> nrf_drv_wdt_channel_feed
  [Called By]
  - >> main

  fs_erase (Thumb, 110 bytes, Stack size 24 bytes, fstorage.o(i.fs_erase))
  [Stack]

  - Max Depth = 56
  - Call Chain = fs_erase ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> queue_start
  - >> queue_get_next_free
  - >> check_config
  [Called By]
  - >> init_execute
  - >> gc_page_erase

  fs_init (Thumb, 164 bytes, Stack size 32 bytes, fstorage.o(i.fs_init))
  [Stack]

  - Max Depth = 32
  - Call Chain = fs_init
  [Called By]
  - >> fds_init

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

  - >> ble_advertising_start

  fs_store (Thumb, 124 bytes, Stack size 32 bytes, fstorage.o(i.fs_store))
  [Stack]

  - Max Depth = 64
  - Call Chain = fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> queue_start
  - >> queue_get_next_free
  - >> check_config
  [Called By]
  - >> write_execute
  - >> record_write_chunk
  - >> record_header_flag_dirty
  - >> page_tag_write_swap
  - >> page_tag_write_data
  - >> gc_record_copy

  fs_sys_event_handler (Thumb, 96 bytes, Stack size 16 bytes, fstorage.o(i.fs_sys_event_handler))
  [Stack]

  - Max Depth = 48
  - Call Chain = fs_sys_event_handler ⇒ queue_process ⇒ send_event
  [Calls]
  - >> send_event
  - >> queue_process
  - >> queue_advance
  - >> on_operation_success
  [Called By]
  - >> sys_evt_dispatch

  gcm_ble_evt_handler (Thumb, 232 bytes, Stack size 168 bytes, gatt_cache_manager.o(i.gcm_ble_evt_handler))
  [Stack]

  - Max Depth = 704
  - Call Chain = gcm_ble_evt_handler ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> gscm_db_change_notification_done
  - >> service_changed_pending_flags_check
  - >> local_db_update_in_evt
  - >> local_db_apply_in_evt
  - >> evt_send
  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_user_flag_collection
  - >> ble_conn_state_conn_handles
  - >> __aeabi_memcpy4
  [Called By]
  - >> pm_on_ble_evt

  gcm_gscm_evt_handler (Thumb, 102 bytes, Stack size 24 bytes, gatt_cache_manager.o(i.gcm_gscm_evt_handler))
  [Stack]

  - Max Depth = 560
  - Call Chain = gcm_gscm_evt_handler ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_conn_handle_get
  - >> service_changed_pending_flags_check
  - >> local_db_apply_in_evt
  - >> evt_send
  - >> ble_conn_state_user_flag_set
  [Address Reference Count : 1]
  - gatts_cache_manager.o(.data)

  gcm_im_evt_handler (Thumb, 44 bytes, Stack size 8 bytes, gatt_cache_manager.o(i.gcm_im_evt_handler))
  [Stack]

  - Max Depth = 216
  - Call Chain = gcm_im_evt_handler ⇒ local_db_apply_in_evt ⇒ gscm_local_db_cache_apply ⇒ pdb_peer_data_ptr_get ⇒ pds_peer_data_read ⇒ peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> gscm_service_changed_ind_needed
  - >> local_db_apply_in_evt
  - >> ble_conn_state_user_flag_set
  [Address Reference Count : 1]
  - id_manager.o(.constdata)

  gcm_init (Thumb, 66 bytes, Stack size 8 bytes, gatt_cache_manager.o(i.gcm_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = gcm_init ⇒ ble_conn_state_user_flag_acquire
  [Calls]
  - >> ble_conn_state_user_flag_acquire
  [Called By]
  - >> pm_init

  gcm_local_database_has_changed (Thumb, 78 bytes, Stack size 96 bytes, gatt_cache_manager.o(i.gcm_local_database_has_changed))
  [Stack]

  - Max Depth = 632
  - Call Chain = gcm_local_database_has_changed ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> gscm_local_database_has_changed
  - >> service_changed_pending_flags_check
  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_conn_handles
  [Called By]
  - >> pm_local_database_has_changed

  gcm_smd_evt_handler (Thumb, 14 bytes, Stack size 0 bytes, gatt_cache_manager.o(i.gcm_smd_evt_handler))
  [Stack]

  - Max Depth = 416
  - Call Chain = gcm_smd_evt_handler ⇒ local_db_update_in_evt ⇒ gscm_local_db_cache_update ⇒ pdb_write_buf_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> local_db_update_in_evt
  [Address Reference Count : 1]
  - security_dispatcher.o(.constdata)

  get_connection_by_conn_handle (Thumb, 48 bytes, Stack size 8 bytes, id_manager.o(i.get_connection_by_conn_handle))
  [Stack]

  - Max Depth = 32
  - Call Chain = get_connection_by_conn_handle ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> ble_conn_state_user_flag_get
  [Called By]
  - >> new_connection
  - >> im_ble_addr_get
  - >> peer_id_set
  - >> im_peer_id_get_by_conn_handle

  get_free_connection (Thumb, 40 bytes, Stack size 16 bytes, id_manager.o(i.get_free_connection))
  [Stack]

  - Max Depth = 40
  - Call Chain = get_free_connection ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> ble_conn_state_user_flag_get
  [Called By]
  - >> new_connection

  gscm_db_change_notification_done (Thumb, 22 bytes, Stack size 16 bytes, gatts_cache_manager.o(i.gscm_db_change_notification_done))
  [Stack]

  - Max Depth = 344
  - Call Chain = gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_raw_store
  [Called By]
  - >> gcm_ble_evt_handler
  - >> service_changed_send_in_evt

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

  - >> pm_init

  gscm_local_database_has_changed (Thumb, 22 bytes, Stack size 8 bytes, gatts_cache_manager.o(i.gscm_local_database_has_changed))
  [Stack]

  - Max Depth = 360
  - Call Chain = gscm_local_database_has_changed ⇒ service_changed_pending_set ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_next_peer_id_get
  - >> service_changed_pending_set
  [Called By]
  - >> gcm_local_database_has_changed

  gscm_local_db_cache_apply (Thumb, 106 bytes, Stack size 32 bytes, gatts_cache_manager.o(i.gscm_local_db_cache_apply))
  [Stack]

  - Max Depth = 176
  - Call Chain = gscm_local_db_cache_apply ⇒ pdb_peer_data_ptr_get ⇒ pds_peer_data_read ⇒ peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> pdb_peer_data_ptr_get
  - >> im_peer_id_get_by_conn_handle
  [Called By]
  - >> local_db_apply_in_evt

  gscm_local_db_cache_update (Thumb, 128 bytes, Stack size 32 bytes, gatts_cache_manager.o(i.gscm_local_db_cache_update))
  [Stack]

  - Max Depth = 384
  - Call Chain = gscm_local_db_cache_update ⇒ pdb_write_buf_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_write_buf_store
  - >> pdb_write_buf_release
  - >> pdb_write_buf_get
  - >> im_peer_id_get_by_conn_handle
  [Called By]
  - >> local_db_update_in_evt

  gscm_pdb_evt_handler (Thumb, 78 bytes, Stack size 24 bytes, gatts_cache_manager.o(i.gscm_pdb_evt_handler))
  [Stack]

  - Max Depth = 376
  - Call Chain = gscm_pdb_evt_handler ⇒ service_changed_pending_set ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_peer_data_ptr_get
  - >> service_changed_pending_set
  [Address Reference Count : 1]
  - peer_database.o(.constdata)

  gscm_service_changed_ind_needed (Thumb, 26 bytes, Stack size 16 bytes, gatts_cache_manager.o(i.gscm_service_changed_ind_needed))
  [Stack]

  - Max Depth = 160
  - Call Chain = gscm_service_changed_ind_needed ⇒ pdb_peer_data_ptr_get ⇒ pds_peer_data_read ⇒ peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> pdb_peer_data_ptr_get
  - >> im_peer_id_get_by_conn_handle
  [Called By]
  - >> gcm_im_evt_handler

  gscm_service_changed_ind_send (Thumb, 40 bytes, Stack size 24 bytes, gatts_cache_manager.o(i.gscm_service_changed_ind_send))
  [Stack]

  - Max Depth = 24
  - Call Chain = gscm_service_changed_ind_send
  [Called By]
  - >> service_changed_send_in_evt

  im_address_resolve (Thumb, 70 bytes, Stack size 24 bytes, id_manager.o(i.im_address_resolve))
  [Stack]

  - Max Depth = 88
  - Call Chain = im_address_resolve ⇒ ah
  [Calls]
  - >> ah
  - >> memcmp
  [Called By]
  - >> im_ble_evt_handler

  im_ble_addr_get (Thumb, 42 bytes, Stack size 8 bytes, id_manager.o(i.im_ble_addr_get))
  [Stack]

  - Max Depth = 40
  - Call Chain = im_ble_addr_get ⇒ get_connection_by_conn_handle ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> get_connection_by_conn_handle
  [Called By]
  - >> smd_params_reply

  im_ble_evt_handler (Thumb, 174 bytes, Stack size 80 bytes, id_manager.o(i.im_ble_evt_handler))
  [Stack]

  - Max Depth = 184
  - Call Chain = im_ble_evt_handler ⇒ pds_peer_data_iterate ⇒ fds_record_find_by_key ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> pds_peer_data_iterate_prepare
  - >> pds_peer_data_iterate
  - >> new_connection
  - >> im_new_peer_id
  - >> im_address_resolve
  - >> addr_compare
  - >> evt_send
  - >> __aeabi_memcpy4
  [Called By]
  - >> pm_on_ble_evt

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

  - >> im_peer_free
  - >> im_pdb_evt_handler
  - >> pm_gcm_evt_handler
  - >> gcm_gscm_evt_handler
  - >> smd_pdb_evt_handler
  - >> pm_pdb_evt_handler

  im_init (Thumb, 54 bytes, Stack size 8 bytes, id_manager.o(i.im_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = im_init ⇒ ble_conn_state_user_flag_acquire
  [Calls]
  - >> ble_conn_state_user_flag_acquire
  [Called By]
  - >> pm_init

  im_is_duplicate_bonding_data (Thumb, 52 bytes, Stack size 16 bytes, id_manager.o(i.im_is_duplicate_bonding_data))
  [Stack]

  - Max Depth = 36
  - Call Chain = im_is_duplicate_bonding_data ⇒ addr_compare ⇒ memcmp
  [Calls]
  - >> is_valid_irk
  - >> addr_compare
  - >> memcmp
  [Called By]
  - >> im_pdb_evt_handler

  im_master_id_is_valid (Thumb, 24 bytes, Stack size 0 bytes, id_manager.o(i.im_master_id_is_valid))
  [Called By]

  - >> im_master_ids_compare
  - >> link_secure_central_existing_peer

  im_master_ids_compare (Thumb, 42 bytes, Stack size 8 bytes, id_manager.o(i.im_master_ids_compare))
  [Stack]

  - Max Depth = 20
  - Call Chain = im_master_ids_compare ⇒ memcmp
  [Calls]
  - >> im_master_id_is_valid
  - >> memcmp
  [Called By]
  - >> im_peer_id_get_by_master_id
  - >> sec_info_request_process

  im_new_peer_id (Thumb, 4 bytes, Stack size 0 bytes, id_manager.o(i.im_new_peer_id))
  [Stack]

  - Max Depth = 40
  - Call Chain = im_new_peer_id ⇒ peer_id_set ⇒ get_connection_by_conn_handle ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> peer_id_set
  [Called By]
  - >> im_ble_evt_handler
  - >> sec_proc_start

  im_pdb_evt_handler (Thumb, 114 bytes, Stack size 40 bytes, id_manager.o(i.im_pdb_evt_handler))
  [Stack]

  - Max Depth = 184
  - Call Chain = im_pdb_evt_handler ⇒ pdb_peer_data_ptr_get ⇒ pds_peer_data_read ⇒ peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> pds_peer_data_iterate_prepare
  - >> pds_peer_data_iterate
  - >> im_is_duplicate_bonding_data
  - >> evt_send
  - >> pdb_peer_data_ptr_get
  - >> im_conn_handle_get
  [Address Reference Count : 1]
  - peer_database.o(.constdata)

  im_peer_free (Thumb, 38 bytes, Stack size 16 bytes, id_manager.o(i.im_peer_free))
  [Stack]

  - Max Depth = 296
  - Call Chain = im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_peer_free
  - >> peer_id_set
  - >> im_conn_handle_get
  [Called By]
  - >> pm_peer_delete
  - >> sec_proc_start
  - >> pairing_failure
  - >> auth_status_success_process

  im_peer_id_get_by_conn_handle (Thumb, 28 bytes, Stack size 8 bytes, id_manager.o(i.im_peer_id_get_by_conn_handle))
  [Stack]

  - Max Depth = 40
  - Call Chain = im_peer_id_get_by_conn_handle ⇒ get_connection_by_conn_handle ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> get_connection_by_conn_handle
  [Called By]
  - >> pm_im_evt_handler
  - >> gscm_service_changed_ind_needed
  - >> gscm_local_db_cache_update
  - >> gscm_local_db_cache_apply
  - >> gcm_local_database_has_changed
  - >> gcm_ble_evt_handler
  - >> service_changed_send_in_evt
  - >> local_db_update_in_evt
  - >> local_db_apply_in_evt
  - >> pm_sm_evt_handler
  - >> smd_params_reply_perform
  - >> smd_params_reply
  - >> sec_info_request_process
  - >> link_secure_failure
  - >> link_secure_central
  - >> auth_status_success_process

  im_peer_id_get_by_master_id (Thumb, 60 bytes, Stack size 24 bytes, id_manager.o(i.im_peer_id_get_by_master_id))
  [Stack]

  - Max Depth = 128
  - Call Chain = im_peer_id_get_by_master_id ⇒ pds_peer_data_iterate ⇒ fds_record_find_by_key ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> pds_peer_data_iterate_prepare
  - >> pds_peer_data_iterate
  - >> im_master_ids_compare
  [Called By]
  - >> sec_info_request_process

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

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

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

  - >> im_is_duplicate_bonding_data

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

  - Max Depth = 392
  - Call Chain = main ⇒ peer_manager_init ⇒ pm_init ⇒ pds_init ⇒ fds_init ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> nrf_drv_wdt_init
  - >> nrf_drv_wdt_enable
  - >> nrf_drv_wdt_channel_alloc
  - >> nrf_ble_gatt_init
  - >> ble_conn_params_init
  - >> ble_advertising_init
  - >> app_timer_start
  - >> app_timer_init
  - >> app_timer_create
  - >> app_error_handler_bare
  - >> feed_WDT
  - >> peer_manager_init
  - >> ble_stack_init
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  my_test_timer_handler (Thumb, 2 bytes, Stack size 0 bytes, main.o(i.my_test_timer_handler))
  [Address Reference Count : 1]

  - main.o(i.main)

  new_connection (Thumb, 80 bytes, Stack size 16 bytes, id_manager.o(i.new_connection))
  [Stack]

  - Max Depth = 56
  - Call Chain = new_connection ⇒ get_free_connection ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> get_free_connection
  - >> get_connection_by_conn_handle
  - >> ble_conn_state_user_flag_set
  [Called By]
  - >> im_ble_evt_handler

  next_id_get (Thumb, 48 bytes, Stack size 16 bytes, peer_id.o(i.next_id_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = next_id_get
  [Calls]
  - >> pm_mutex_lock_status_get
  [Called By]
  - >> peer_id_get_next_used
  - >> peer_id_get_next_deleted

  nrf_ble_gatt_init (Thumb, 44 bytes, Stack size 16 bytes, nrf_ble_gatt.o(i.nrf_ble_gatt_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_ble_gatt_init
  [Calls]
  - >> link_init
  [Called By]
  - >> main

  nrf_ble_gatt_on_ble_evt (Thumb, 354 bytes, Stack size 88 bytes, nrf_ble_gatt.o(i.nrf_ble_gatt_on_ble_evt))
  [Stack]

  - Max Depth = 112
  - Call Chain = nrf_ble_gatt_on_ble_evt ⇒ on_connected_evt
  [Calls]
  - >> on_connected_evt
  - >> link_init
  - >> __aeabi_memcpy4
  [Called By]
  - >> ble_evt_dispatch

  nrf_drv_clock_init (Thumb, 64 bytes, Stack size 16 bytes, nrf_drv_clock.o(i.nrf_drv_clock_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_drv_clock_init
  [Calls]
  - >> softdevice_handler_is_enabled
  - >> nrf_drv_common_irq_enable
  [Called By]
  - >> nrf_drv_clock_on_sd_enable

  nrf_drv_clock_on_sd_enable (Thumb, 44 bytes, Stack size 16 bytes, nrf_drv_clock.o(i.nrf_drv_clock_on_sd_enable))
  [Stack]

  - Max Depth = 32
  - Call Chain = nrf_drv_clock_on_sd_enable ⇒ nrf_drv_clock_init
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  - >> nrf_drv_clock_init
  [Called By]
  - >> softdevice_handler_init

  nrf_drv_clock_on_soc_event (Thumb, 10 bytes, Stack size 0 bytes, nrf_drv_clock.o(i.nrf_drv_clock_on_soc_event))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_drv_clock_on_soc_event ⇒ clock_clk_started_notify
  [Calls]
  - >> clock_clk_started_notify
  [Called By]
  - >> intern_softdevice_events_execute

  nrf_drv_common_irq_enable (Thumb, 56 bytes, Stack size 0 bytes, nrf_drv_common.o(i.nrf_drv_common_irq_enable))
  [Called By]

  - >> nrf_drv_wdt_init
  - >> nrf_drv_clock_init

  nrf_drv_wdt_channel_alloc (Thumb, 60 bytes, Stack size 16 bytes, nrf_drv_wdt.o(i.nrf_drv_wdt_channel_alloc))
  [Stack]

  - Max Depth = 28
  - Call Chain = nrf_drv_wdt_channel_alloc ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  [Called By]
  - >> main

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

  - >> feed_WDT

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

  - >> main

  nrf_drv_wdt_init (Thumb, 58 bytes, Stack size 8 bytes, nrf_drv_wdt.o(i.nrf_drv_wdt_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_drv_wdt_init
  [Calls]
  - >> nrf_drv_common_irq_enable
  [Called By]
  - >> main

  pdb_init (Thumb, 66 bytes, Stack size 24 bytes, peer_database.o(i.pdb_init))
  [Stack]

  - Max Depth = 48
  - Call Chain = pdb_init ⇒ pm_buffer_init
  [Calls]
  - >> pm_buffer_init
  - >> write_buffer_record_invalidate
  [Called By]
  - >> pm_init

  pdb_next_deleted_peer_id_get (Thumb, 4 bytes, Stack size 0 bytes, peer_database.o(i.pdb_next_deleted_peer_id_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = pdb_next_deleted_peer_id_get ⇒ pds_next_deleted_peer_id_get ⇒ peer_id_get_next_deleted ⇒ next_id_get
  [Calls]
  - >> pds_next_deleted_peer_id_get
  [Called By]
  - >> pm_pdb_evt_handler

  pdb_next_peer_id_get (Thumb, 4 bytes, Stack size 0 bytes, peer_database.o(i.pdb_next_peer_id_get))
  [Stack]

  - Max Depth = 32
  - Call Chain = pdb_next_peer_id_get ⇒ pds_next_peer_id_get ⇒ peer_id_get_next_used ⇒ next_id_get
  [Calls]
  - >> pds_next_peer_id_get
  [Called By]
  - >> service_changed_pending_set
  - >> gscm_local_database_has_changed
  - >> pm_pdb_evt_handler

  pdb_pds_evt_handler (Thumb, 294 bytes, Stack size 40 bytes, peer_database.o(i.pdb_pds_evt_handler))
  [Stack]

  - Max Depth = 392
  - Call Chain = pdb_pds_evt_handler ⇒ pdb_write_buf_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_write_buf_store
  - >> write_buffer_record_release
  - >> write_buffer_record_find
  - >> pdb_evt_send
  [Address Reference Count : 1]
  - peer_data_storage.o(.constdata)

  pdb_peer_allocate (Thumb, 4 bytes, Stack size 0 bytes, peer_database.o(i.pdb_peer_allocate))
  [Stack]

  - Max Depth = 76
  - Call Chain = pdb_peer_allocate ⇒ pds_peer_id_allocate ⇒ peer_id_allocate ⇒ claim ⇒ pm_mutex_lock_first_available ⇒ lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> pds_peer_id_allocate
  [Called By]
  - >> smd_params_reply
  - >> link_secure_central_new_peer

  pdb_peer_data_ptr_get (Thumb, 6 bytes, Stack size 0 bytes, peer_database.o(i.pdb_peer_data_ptr_get))
  [Stack]

  - Max Depth = 144
  - Call Chain = pdb_peer_data_ptr_get ⇒ pds_peer_data_read ⇒ peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> pds_peer_data_read
  [Called By]
  - >> im_pdb_evt_handler
  - >> gscm_pdb_evt_handler
  - >> gscm_service_changed_ind_needed
  - >> gscm_local_db_cache_apply
  - >> sec_info_request_process
  - >> link_secure_central_existing_peer

  pdb_peer_free (Thumb, 68 bytes, Stack size 16 bytes, peer_database.o(i.pdb_peer_free))
  [Stack]

  - Max Depth = 280
  - Call Chain = pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_write_buf_release
  - >> write_buffer_record_find_next
  - >> pds_peer_id_free
  [Called By]
  - >> im_peer_free

  pdb_raw_store (Thumb, 8 bytes, Stack size 0 bytes, peer_database.o(i.pdb_raw_store))
  [Stack]

  - Max Depth = 328
  - Call Chain = pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pds_peer_data_store
  [Called By]
  - >> service_changed_pending_set
  - >> gscm_db_change_notification_done

  pdb_write_buf_get (Thumb, 260 bytes, Stack size 32 bytes, peer_database.o(i.pdb_write_buf_get))
  [Stack]

  - Max Depth = 108
  - Call Chain = pdb_write_buf_get ⇒ pm_buffer_block_acquire ⇒ pm_buffer_release ⇒ pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> pm_buffer_release
  - >> pm_buffer_ptr_get
  - >> pm_buffer_block_acquire
  - >> write_buffer_record_invalidate
  - >> write_buffer_record_find
  - >> peer_data_point_to_buffer
  - >> pds_peer_id_is_allocated
  [Called By]
  - >> gscm_local_db_cache_update
  - >> smd_params_reply
  - >> link_secure_central_new_peer
  - >> link_secure_central_existing_peer

  pdb_write_buf_release (Thumb, 40 bytes, Stack size 16 bytes, peer_database.o(i.pdb_write_buf_release))
  [Stack]

  - Max Depth = 84
  - Call Chain = pdb_write_buf_release ⇒ write_buffer_record_release ⇒ pm_buffer_release ⇒ pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> write_buffer_record_release
  - >> write_buffer_record_find
  - >> pds_space_reserve_cancel
  [Called By]
  - >> pdb_peer_free
  - >> gscm_local_db_cache_update
  - >> pairing_failure
  - >> link_secure_central_new_peer
  - >> link_secure_central_existing_peer

  pdb_write_buf_store (Thumb, 188 bytes, Stack size 24 bytes, peer_database.o(i.pdb_write_buf_store))
  [Stack]

  - Max Depth = 352
  - Call Chain = pdb_write_buf_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pm_buffer_ptr_get
  - >> write_buffer_record_find
  - >> write_buf_length_words_set
  - >> peer_data_const_point_to_buffer
  - >> pds_peer_data_store
  [Called By]
  - >> gscm_local_db_cache_update
  - >> pdb_pds_evt_handler
  - >> auth_status_success_process

  pdb_write_buf_store_prepare (Thumb, 98 bytes, Stack size 24 bytes, peer_database.o(i.pdb_write_buf_store_prepare))
  [Stack]

  - Max Depth = 76
  - Call Chain = pdb_write_buf_store_prepare ⇒ pds_space_reserve ⇒ fds_reserve ⇒ write_space_reserve
  [Calls]
  - >> pm_buffer_ptr_get
  - >> write_buffer_record_find
  - >> write_buf_length_words_set
  - >> peer_data_const_point_to_buffer
  - >> pds_space_reserve
  [Called By]
  - >> smd_params_reply
  - >> link_secure_central_new_peer
  - >> link_secure_central_existing_peer

  pds_init (Thumb, 98 bytes, Stack size 40 bytes, peer_data_storage.o(i.pds_init))
  [Stack]

  - Max Depth = 264
  - Call Chain = pds_init ⇒ fds_init ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> peer_id_init
  - >> peer_id_allocate
  - >> fds_register
  - >> fds_record_open
  - >> fds_record_find_by_key
  - >> fds_record_close
  - >> fds_init
  [Called By]
  - >> pm_init

  pds_next_deleted_peer_id_get (Thumb, 4 bytes, Stack size 0 bytes, peer_data_storage.o(i.pds_next_deleted_peer_id_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = pds_next_deleted_peer_id_get ⇒ peer_id_get_next_deleted ⇒ next_id_get
  [Calls]
  - >> peer_id_get_next_deleted
  [Called By]
  - >> pdb_next_deleted_peer_id_get

  pds_next_peer_id_get (Thumb, 4 bytes, Stack size 0 bytes, peer_data_storage.o(i.pds_next_peer_id_get))
  [Stack]

  - Max Depth = 32
  - Call Chain = pds_next_peer_id_get ⇒ peer_id_get_next_used ⇒ next_id_get
  [Calls]
  - >> peer_id_get_next_used
  [Called By]
  - >> pdb_next_peer_id_get

  pds_peer_data_iterate (Thumb, 74 bytes, Stack size 40 bytes, peer_data_storage.o(i.pds_peer_data_iterate))
  [Stack]

  - Max Depth = 104
  - Call Chain = pds_peer_data_iterate ⇒ fds_record_find_by_key ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> fds_record_open
  - >> fds_record_find_by_key
  - >> fds_record_close
  [Called By]
  - >> im_peer_id_get_by_master_id
  - >> im_pdb_evt_handler
  - >> im_ble_evt_handler

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

  - >> im_peer_id_get_by_master_id
  - >> im_pdb_evt_handler
  - >> im_ble_evt_handler

  pds_peer_data_read (Thumb, 104 bytes, Stack size 48 bytes, peer_data_storage.o(i.pds_peer_data_read))
  [Stack]

  - Max Depth = 144
  - Call Chain = pds_peer_data_read ⇒ peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> fds_record_open
  - >> fds_record_close
  - >> peer_data_id_is_valid
  - >> peer_data_find
  - >> __aeabi_memcpy
  [Called By]
  - >> pdb_peer_data_ptr_get

  pds_peer_data_store (Thumb, 162 bytes, Stack size 64 bytes, peer_data_storage.o(i.pds_peer_data_store))
  [Stack]

  - Max Depth = 328
  - Call Chain = pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> fds_reserve_cancel
  - >> fds_record_write_reserved
  - >> fds_record_write
  - >> fds_record_update
  - >> fds_record_id_from_desc
  - >> peer_data_id_is_valid
  - >> peer_data_find
  [Called By]
  - >> pdb_write_buf_store
  - >> pdb_raw_store

  pds_peer_id_allocate (Thumb, 8 bytes, Stack size 0 bytes, peer_data_storage.o(i.pds_peer_id_allocate))
  [Stack]

  - Max Depth = 76
  - Call Chain = pds_peer_id_allocate ⇒ peer_id_allocate ⇒ claim ⇒ pm_mutex_lock_first_available ⇒ lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> peer_id_allocate
  [Called By]
  - >> pdb_peer_allocate

  pds_peer_id_free (Thumb, 22 bytes, Stack size 8 bytes, peer_data_storage.o(i.pds_peer_id_free))
  [Stack]

  - Max Depth = 264
  - Call Chain = pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> peer_id_delete
  - >> peer_data_delete
  [Called By]
  - >> pdb_peer_free

  pds_peer_id_is_allocated (Thumb, 4 bytes, Stack size 0 bytes, peer_data_storage.o(i.pds_peer_id_is_allocated))
  [Calls]

  - >> peer_id_is_allocated
  [Called By]
  - >> pdb_write_buf_get

  pds_space_reserve (Thumb, 46 bytes, Stack size 16 bytes, peer_data_storage.o(i.pds_space_reserve))
  [Stack]

  - Max Depth = 52
  - Call Chain = pds_space_reserve ⇒ fds_reserve ⇒ write_space_reserve
  [Calls]
  - >> fds_reserve
  - >> peer_data_id_is_valid
  [Called By]
  - >> pdb_write_buf_store_prepare

  pds_space_reserve_cancel (Thumb, 16 bytes, Stack size 8 bytes, peer_data_storage.o(i.pds_space_reserve_cancel))
  [Stack]

  - Max Depth = 16
  - Call Chain = pds_space_reserve_cancel ⇒ fds_reserve_cancel
  [Calls]
  - >> fds_reserve_cancel
  [Called By]
  - >> pdb_write_buf_release

  peer_id_allocate (Thumb, 6 bytes, Stack size 0 bytes, peer_id.o(i.peer_id_allocate))
  [Stack]

  - Max Depth = 76
  - Call Chain = peer_id_allocate ⇒ claim ⇒ pm_mutex_lock_first_available ⇒ lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> claim
  [Called By]
  - >> pds_peer_id_allocate
  - >> pds_init

  peer_id_delete (Thumb, 32 bytes, Stack size 8 bytes, peer_id.o(i.peer_id_delete))
  [Stack]

  - Max Depth = 84
  - Call Chain = peer_id_delete ⇒ claim ⇒ pm_mutex_lock_first_available ⇒ lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> claim
  [Called By]
  - >> pds_peer_id_free

  peer_id_free (Thumb, 24 bytes, Stack size 8 bytes, peer_id.o(i.peer_id_free))
  [Stack]

  - Max Depth = 44
  - Call Chain = peer_id_free ⇒ release ⇒ pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> release
  [Called By]
  - >> peer_data_delete
  - >> fds_evt_handler

  peer_id_get_next_deleted (Thumb, 6 bytes, Stack size 0 bytes, peer_id.o(i.peer_id_get_next_deleted))
  [Stack]

  - Max Depth = 16
  - Call Chain = peer_id_get_next_deleted ⇒ next_id_get
  [Calls]
  - >> next_id_get
  [Called By]
  - >> pds_next_deleted_peer_id_get
  - >> peer_data_delete

  peer_id_get_next_used (Thumb, 42 bytes, Stack size 16 bytes, peer_id.o(i.peer_id_get_next_used))
  [Stack]

  - Max Depth = 32
  - Call Chain = peer_id_get_next_used ⇒ next_id_get
  [Calls]
  - >> peer_id_is_deleted
  - >> next_id_get
  [Called By]
  - >> pds_next_peer_id_get

  peer_id_init (Thumb, 36 bytes, Stack size 8 bytes, peer_id.o(i.peer_id_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = peer_id_init
  [Calls]
  - >> pm_mutex_init
  - >> __aeabi_memclr
  [Called By]
  - >> pds_init

  peer_id_is_allocated (Thumb, 16 bytes, Stack size 0 bytes, peer_id.o(i.peer_id_is_allocated))
  [Calls]

  - >> pm_mutex_lock_status_get
  [Called By]
  - >> pds_peer_id_is_allocated

  peer_id_is_deleted (Thumb, 16 bytes, Stack size 0 bytes, peer_id.o(i.peer_id_is_deleted))
  [Calls]

  - >> pm_mutex_lock_status_get
  [Called By]
  - >> peer_id_get_next_used

  pm_buffer_block_acquire (Thumb, 92 bytes, Stack size 24 bytes, pm_buffer.o(i.pm_buffer_block_acquire))
  [Stack]

  - Max Depth = 76
  - Call Chain = pm_buffer_block_acquire ⇒ pm_buffer_release ⇒ pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> pm_mutex_lock
  - >> pm_buffer_release
  [Called By]
  - >> pdb_write_buf_get

  pm_buffer_init (Thumb, 64 bytes, Stack size 24 bytes, pm_buffer.o(i.pm_buffer_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = pm_buffer_init
  [Calls]
  - >> pm_mutex_init
  [Called By]
  - >> pdb_init

  pm_buffer_ptr_get (Thumb, 40 bytes, Stack size 16 bytes, pm_buffer.o(i.pm_buffer_ptr_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = pm_buffer_ptr_get
  [Calls]
  - >> pm_mutex_lock_status_get
  [Called By]
  - >> pdb_write_buf_store
  - >> pdb_write_buf_get
  - >> pdb_write_buf_store_prepare

  pm_buffer_release (Thumb, 46 bytes, Stack size 16 bytes, pm_buffer.o(i.pm_buffer_release))
  [Stack]

  - Max Depth = 52
  - Call Chain = pm_buffer_release ⇒ pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> pm_mutex_unlock
  - >> pm_mutex_lock_status_get
  [Called By]
  - >> pdb_write_buf_get
  - >> pm_buffer_block_acquire
  - >> write_buffer_record_release

  pm_conn_sec_config_reply (Thumb, 4 bytes, Stack size 0 bytes, peer_manager.o(i.pm_conn_sec_config_reply))
  [Stack]

  - Max Depth = 40
  - Call Chain = pm_conn_sec_config_reply ⇒ sm_conn_sec_config_reply ⇒ ble_conn_state_user_flag_set ⇒ sdk_mapped_flags_update_by_key ⇒ sdk_mapped_flags_bulk_update_by_key
  [Calls]
  - >> sm_conn_sec_config_reply
  [Called By]
  - >> pm_evt_handler

  pm_gcm_evt_handler (Thumb, 136 bytes, Stack size 40 bytes, peer_manager.o(i.pm_gcm_evt_handler))
  [Stack]

  - Max Depth = 64
  - Call Chain = pm_gcm_evt_handler ⇒ evt_send
  [Calls]
  - >> im_conn_handle_get
  - >> evt_send
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - gatt_cache_manager.o(.data)

  pm_im_evt_handler (Thumb, 74 bytes, Stack size 32 bytes, peer_manager.o(i.pm_im_evt_handler))
  [Stack]

  - Max Depth = 328
  - Call Chain = pm_im_evt_handler ⇒ pm_peer_delete ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> ble_conn_state_user_flag_set
  - >> pm_peer_delete
  - >> evt_send
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - id_manager.o(.constdata)

  pm_init (Thumb, 96 bytes, Stack size 16 bytes, peer_manager.o(i.pm_init))
  [Stack]

  - Max Depth = 280
  - Call Chain = pm_init ⇒ pds_init ⇒ fds_init ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_init
  - >> gscm_init
  - >> gcm_init
  - >> ble_conn_state_user_flag_acquire
  - >> smd_init
  - >> sm_init
  - >> pdb_init
  - >> pds_init
  [Called By]
  - >> peer_manager_init

  pm_local_database_has_changed (Thumb, 14 bytes, Stack size 0 bytes, peer_manager.o(i.pm_local_database_has_changed))
  [Stack]

  - Max Depth = 632
  - Call Chain = pm_local_database_has_changed ⇒ gcm_local_database_has_changed ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> gcm_local_database_has_changed
  [Called By]
  - >> pm_evt_handler

  pm_mutex_init (Thumb, 14 bytes, Stack size 0 bytes, pm_mutex.o(i.pm_mutex_init))
  [Calls]

  - >> __aeabi_memclr
  [Called By]
  - >> pm_buffer_init
  - >> peer_id_init

  pm_mutex_lock (Thumb, 26 bytes, Stack size 0 bytes, pm_mutex.o(i.pm_mutex_lock))
  [Stack]

  - Max Depth = 36
  - Call Chain = pm_mutex_lock ⇒ lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> lock_by_mask
  [Called By]
  - >> claim
  - >> pm_buffer_block_acquire

  pm_mutex_lock_first_available (Thumb, 54 bytes, Stack size 24 bytes, pm_mutex.o(i.pm_mutex_lock_first_available))
  [Stack]

  - Max Depth = 60
  - Call Chain = pm_mutex_lock_first_available ⇒ lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> lock_by_mask
  [Called By]
  - >> claim

  pm_mutex_lock_status_get (Thumb, 24 bytes, Stack size 0 bytes, pm_mutex.o(i.pm_mutex_lock_status_get))
  [Called By]

  - >> peer_id_is_deleted
  - >> next_id_get
  - >> pm_buffer_release
  - >> pm_buffer_ptr_get
  - >> peer_id_is_allocated

  pm_mutex_unlock (Thumb, 58 bytes, Stack size 24 bytes, pm_mutex.o(i.pm_mutex_unlock))
  [Stack]

  - Max Depth = 36
  - Call Chain = pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  [Called By]
  - >> release
  - >> pm_buffer_release

  pm_on_ble_evt (Thumb, 36 bytes, Stack size 8 bytes, peer_manager.o(i.pm_on_ble_evt))
  [Stack]

  - Max Depth = 712
  - Call Chain = pm_on_ble_evt ⇒ gcm_ble_evt_handler ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_ble_evt_handler
  - >> gcm_ble_evt_handler
  - >> sm_ble_evt_handler
  [Called By]
  - >> ble_evt_dispatch

  pm_pdb_evt_handler (Thumb, 338 bytes, Stack size 64 bytes, peer_manager.o(i.pm_pdb_evt_handler))
  [Stack]

  - Max Depth = 96
  - Call Chain = pm_pdb_evt_handler ⇒ pdb_next_peer_id_get ⇒ pds_next_peer_id_get ⇒ peer_id_get_next_used ⇒ next_id_get
  [Calls]
  - >> pdb_next_peer_id_get
  - >> im_conn_handle_get
  - >> evt_send
  - >> pdb_next_deleted_peer_id_get
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - peer_database.o(.constdata)

  pm_peer_delete (Thumb, 14 bytes, Stack size 0 bytes, peer_manager.o(i.pm_peer_delete))
  [Stack]

  - Max Depth = 296
  - Call Chain = pm_peer_delete ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_free
  [Called By]
  - >> pm_im_evt_handler

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

  - >> peer_manager_init

  pm_sec_params_set (Thumb, 14 bytes, Stack size 0 bytes, peer_manager.o(i.pm_sec_params_set))
  [Stack]

  - Max Depth = 16
  - Call Chain = pm_sec_params_set ⇒ sm_sec_params_set
  [Calls]
  - >> sm_sec_params_set
  [Called By]
  - >> peer_manager_init

  pm_sm_evt_handler (Thumb, 346 bytes, Stack size 48 bytes, peer_manager.o(i.pm_sm_evt_handler))
  [Stack]

  - Max Depth = 88
  - Call Chain = pm_sm_evt_handler ⇒ im_peer_id_get_by_conn_handle ⇒ get_connection_by_conn_handle ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_user_flag_get
  - >> evt_send
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - security_manager.o(.constdata)

  sdk_mapped_flags_bulk_update_by_key (Thumb, 68 bytes, Stack size 16 bytes, sdk_mapped_flags.o(i.sdk_mapped_flags_bulk_update_by_key))
  [Stack]

  - Max Depth = 16
  - Call Chain = sdk_mapped_flags_bulk_update_by_key
  [Called By]
  - >> ble_conn_state_on_ble_evt
  - >> sdk_mapped_flags_update_by_key

  sdk_mapped_flags_first_key_index_get (Thumb, 34 bytes, Stack size 16 bytes, sdk_mapped_flags.o(i.sdk_mapped_flags_first_key_index_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = sdk_mapped_flags_first_key_index_get
  [Calls]
  - >> sdk_mapped_flags_get_by_index
  [Called By]
  - >> ble_conn_state_on_ble_evt

  sdk_mapped_flags_get_by_key (Thumb, 38 bytes, Stack size 8 bytes, sdk_mapped_flags.o(i.sdk_mapped_flags_get_by_key))
  [Stack]

  - Max Depth = 8
  - Call Chain = sdk_mapped_flags_get_by_key
  [Calls]
  - >> sdk_mapped_flags_get_by_index
  [Called By]
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_role
  - >> ble_conn_state_mitm_protected
  - >> ble_conn_state_encrypted

  sdk_mapped_flags_key_list_get (Thumb, 74 bytes, Stack size 96 bytes, sdk_mapped_flags.o(i.sdk_mapped_flags_key_list_get))
  [Stack]

  - Max Depth = 96
  - Call Chain = sdk_mapped_flags_key_list_get
  [Calls]
  - >> sdk_mapped_flags_get_by_index
  - >> __aeabi_memcpy4
  [Called By]
  - >> ble_conn_state_on_ble_evt
  - >> ble_conn_state_conn_handles

  sdk_mapped_flags_update_by_key (Thumb, 14 bytes, Stack size 8 bytes, sdk_mapped_flags.o(i.sdk_mapped_flags_update_by_key))
  [Stack]

  - Max Depth = 24
  - Call Chain = sdk_mapped_flags_update_by_key ⇒ sdk_mapped_flags_bulk_update_by_key
  [Calls]
  - >> sdk_mapped_flags_bulk_update_by_key
  [Called By]
  - >> ble_conn_state_on_ble_evt
  - >> ble_conn_state_user_flag_set

  sm_ble_evt_handler (Thumb, 18 bytes, Stack size 8 bytes, security_manager.o(i.sm_ble_evt_handler))
  [Stack]

  - Max Depth = 568
  - Call Chain = sm_ble_evt_handler ⇒ link_secure_pending_process ⇒ link_secure ⇒ smd_link_secure ⇒ link_secure_central ⇒ link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> link_secure_pending_process
  - >> smd_ble_evt_handler
  [Called By]
  - >> pm_on_ble_evt

  sm_conn_sec_config_reply (Thumb, 18 bytes, Stack size 0 bytes, security_manager.o(i.sm_conn_sec_config_reply))
  [Stack]

  - Max Depth = 40
  - Call Chain = sm_conn_sec_config_reply ⇒ ble_conn_state_user_flag_set ⇒ sdk_mapped_flags_update_by_key ⇒ sdk_mapped_flags_bulk_update_by_key
  [Calls]
  - >> ble_conn_state_user_flag_set
  [Called By]
  - >> pm_conn_sec_config_reply

  sm_init (Thumb, 76 bytes, Stack size 8 bytes, security_manager.o(i.sm_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = sm_init ⇒ flag_id_init ⇒ ble_conn_state_user_flag_acquire
  [Calls]
  - >> flag_id_init
  [Called By]
  - >> pm_init

  sm_pdb_evt_handler (Thumb, 52 bytes, Stack size 8 bytes, security_manager.o(i.sm_pdb_evt_handler))
  [Stack]

  - Max Depth = 568
  - Call Chain = sm_pdb_evt_handler ⇒ link_secure_pending_process ⇒ link_secure ⇒ smd_link_secure ⇒ link_secure_central ⇒ link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> params_reply_pending_process
  - >> link_secure_pending_process
  [Address Reference Count : 1]
  - peer_database.o(.constdata)

  sm_sec_params_set (Thumb, 38 bytes, Stack size 16 bytes, security_manager.o(i.sm_sec_params_set))
  [Stack]

  - Max Depth = 16
  - Call Chain = sm_sec_params_set
  [Calls]
  - >> sec_params_verify
  [Called By]
  - >> pm_sec_params_set

  sm_smd_evt_handler (Thumb, 116 bytes, Stack size 24 bytes, security_manager.o(i.sm_smd_evt_handler))
  [Stack]

  - Max Depth = 488
  - Call Chain = sm_smd_evt_handler ⇒ link_secure ⇒ smd_link_secure ⇒ link_secure_central ⇒ link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> smd_params_reply_perform
  - >> link_secure
  - >> evt_send
  [Address Reference Count : 1]
  - security_dispatcher.o(.constdata)

  smd_ble_evt_handler (Thumb, 226 bytes, Stack size 24 bytes, security_dispatcher.o(i.smd_ble_evt_handler))
  [Stack]

  - Max Depth = 432
  - Call Chain = smd_ble_evt_handler ⇒ auth_status_success_process ⇒ pdb_write_buf_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_mitm_protected
  - >> ble_conn_state_encrypted
  - >> sec_info_request_process
  - >> link_secure_failure
  - >> evt_send
  - >> encryption_failure
  - >> auth_status_success_process
  [Called By]
  - >> sm_ble_evt_handler

  smd_init (Thumb, 56 bytes, Stack size 8 bytes, security_dispatcher.o(i.smd_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = smd_init ⇒ flag_id_init ⇒ ble_conn_state_user_flag_acquire
  [Calls]
  - >> flag_id_init
  [Called By]
  - >> pm_init

  smd_link_secure (Thumb, 48 bytes, Stack size 16 bytes, security_dispatcher.o(i.smd_link_secure))
  [Stack]

  - Max Depth = 432
  - Call Chain = smd_link_secure ⇒ link_secure_central ⇒ link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> ble_conn_state_role
  - >> link_secure_central
  [Called By]
  - >> link_secure

  smd_params_reply (Thumb, 276 bytes, Stack size 88 bytes, security_dispatcher.o(i.smd_params_reply))
  [Stack]

  - Max Depth = 416
  - Call Chain = smd_params_reply ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_ble_addr_get
  - >> pdb_write_buf_get
  - >> im_peer_id_get_by_conn_handle
  - >> ble_conn_state_role
  - >> pdb_write_buf_store_prepare
  - >> pdb_peer_allocate
  - >> sec_start_send
  - >> sec_proc_start
  - >> __aeabi_memclr4
  - >> __aeabi_memclr
  [Called By]
  - >> smd_params_reply_perform

  smd_pdb_evt_handler (Thumb, 48 bytes, Stack size 24 bytes, security_dispatcher.o(i.smd_pdb_evt_handler))
  [Stack]

  - Max Depth = 40
  - Call Chain = smd_pdb_evt_handler ⇒ evt_send
  [Calls]
  - >> im_conn_handle_get
  - >> evt_send
  [Address Reference Count : 1]
  - peer_database.o(.constdata)

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

  - Max Depth = 8
  - Call Chain = softdevice_app_ram_start_get
  [Called By]
  - >> ble_stack_init

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

  - >> ble_stack_init

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

  - Max Depth = 8
  - Call Chain = softdevice_enable
  [Called By]
  - >> ble_stack_init

  softdevice_fault_handler (Thumb, 4 bytes, Stack size 0 bytes, softdevice_handler.o(i.softdevice_fault_handler))
  [Calls]

  - >> app_error_fault_handler
  [Address Reference Count : 1]
  - softdevice_handler.o(i.softdevice_handler_init)

  softdevice_handler_init (Thumb, 92 bytes, Stack size 24 bytes, softdevice_handler.o(i.softdevice_handler_init))
  [Stack]

  - Max Depth = 56
  - Call Chain = softdevice_handler_init ⇒ nrf_drv_clock_on_sd_enable ⇒ nrf_drv_clock_init
  [Calls]
  - >> nrf_drv_clock_on_sd_enable
  - >> sd_nvic_EnableIRQ
  - >> NVIC_EnableIRQ
  - >> NVIC_DisableIRQ
  [Called By]
  - >> ble_stack_init

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

  - >> nrf_drv_clock_init

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

  - >> ble_stack_init

  wdt_event_handler (Thumb, 12 bytes, Stack size 0 bytes, main.o(i.wdt_event_handler))
  [Address Reference Count : 1]

  - main.o(i.main)

  ### Local Symbols

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

  - Max Depth = 720
  - Call Chain = ble_evt_dispatch ⇒ pm_on_ble_evt ⇒ gcm_ble_evt_handler ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pm_on_ble_evt
  - >> nrf_ble_gatt_on_ble_evt
  - >> bsp_btn_ble_on_ble_evt
  - >> ble_conn_state_on_ble_evt
  - >> ble_conn_params_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, 144 bytes, Stack size 32 bytes, main.o(i.ble_stack_init))
  [Stack]

  - Max Depth = 88
  - Call Chain = ble_stack_init ⇒ softdevice_handler_init ⇒ nrf_drv_clock_on_sd_enable ⇒ nrf_drv_clock_init
  [Calls]
  - >> softdevice_sys_evt_handler_set
  - >> softdevice_handler_init
  - >> softdevice_enable
  - >> softdevice_ble_evt_handler_set
  - >> softdevice_app_ram_start_get
  - >> app_error_handler_bare
  [Called By]
  - >> main

  conn_params_error_handler (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.conn_params_error_handler))
  [Stack]

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

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

  - Max Depth = 100
  - Call Chain = on_adv_evt ⇒ bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> bsp_indication_set
  - >> bsp_btn_ble_sleep_mode_prepare
  - >> app_error_handler_bare
  [Address Reference Count : 1]
  - main.o(i.main)

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

  - Max Depth = 132
  - Call Chain = on_ble_evt ⇒ bsp_indication_set ⇒ bsp_led_indication ⇒ app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> bsp_indication_set
  - >> app_error_handler_bare
  - >> __aeabi_memcpy
  [Called By]
  - >> ble_evt_dispatch

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

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

  peer_manager_init (Thumb, 104 bytes, Stack size 16 bytes, main.o(i.peer_manager_init))
  [Stack]

  - Max Depth = 296
  - Call Chain = peer_manager_init ⇒ pm_init ⇒ pds_init ⇒ fds_init ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pm_sec_params_set
  - >> pm_register
  - >> pm_init
  - >> app_error_handler_bare
  [Called By]
  - >> main

  pm_evt_handler (Thumb, 90 bytes, Stack size 8 bytes, main.o(i.pm_evt_handler))
  [Stack]

  - Max Depth = 640
  - Call Chain = pm_evt_handler ⇒ pm_local_database_has_changed ⇒ gcm_local_database_has_changed ⇒ service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pm_local_database_has_changed
  - >> pm_conn_sec_config_reply
  - >> fds_gc
  - >> ble_advertising_start
  - >> app_error_handler_bare
  [Address Reference Count : 1]
  - main.o(i.peer_manager_init)

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

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

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

  - >> bsp_board_led_on
  - >> bsp_board_led_off

  bsp_button_event_handler (Thumb, 132 bytes, Stack size 32 bytes, bsp.o(i.bsp_button_event_handler))
  [Stack]

  - Max Depth = 84
  - Call Chain = bsp_button_event_handler ⇒ app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_timer_stop
  - >> bsp_board_pin_to_button_idx
  - >> app_timer_start
  [Address Reference Count : 1]
  - bsp.o(.constdata)

  bsp_led_indication (Thumb, 432 bytes, Stack size 40 bytes, bsp.o(i.bsp_led_indication))
  [Stack]

  - Max Depth = 92
  - Call Chain = bsp_led_indication ⇒ app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_timer_stop
  - >> leds_off
  - >> bsp_board_leds_on
  - >> bsp_board_led_state_get
  - >> bsp_board_led_on
  - >> bsp_board_led_off
  - >> bsp_board_led_invert
  - >> app_timer_start
  - >> __aeabi_uldivmod
  [Called By]
  - >> bsp_indication_set

  leds_off (Thumb, 42 bytes, Stack size 8 bytes, bsp.o(i.leds_off))
  [Stack]

  - Max Depth = 16
  - Call Chain = leds_off ⇒ bsp_board_leds_off
  [Calls]
  - >> bsp_board_leds_off
  - >> bsp_board_led_off
  [Called By]
  - >> bsp_led_indication

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

  - >> bsp_wakeup_button_enable

  advertising_buttons_configure (Thumb, 54 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

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

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

  conn_int_encode (Thumb, 136 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, 156 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, 136 bytes, Stack size 24 bytes, ble_advdata.o(i.service_data_encode))
  [Stack]

  - Max Depth = 24
  - 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, 48 bytes, Stack size 32 bytes, ble_advdata.o(i.uuid_list_encode))
  [Stack]

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

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

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

  - >> ble_advertising_start

  set_adv_mode_fast (Thumb, 64 bytes, Stack size 8 bytes, ble_advertising.o(i.set_adv_mode_fast))
  [Stack]

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

  set_adv_mode_slow (Thumb, 60 bytes, Stack size 8 bytes, ble_advertising.o(i.set_adv_mode_slow))
  [Stack]

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

  conn_params_negotiation (Thumb, 78 bytes, Stack size 24 bytes, ble_conn_params.o(i.conn_params_negotiation))
  [Stack]

  - Max Depth = 76
  - Call Chain = conn_params_negotiation ⇒ app_timer_start ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_timer_start
  - >> is_conn_params_ok
  [Called By]
  - >> ble_conn_params_on_ble_evt

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

  - >> conn_params_negotiation

  update_timeout_handler (Thumb, 88 bytes, Stack size 16 bytes, ble_conn_params.o(i.update_timeout_handler))
  [Stack]

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

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

  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_user_flag_collection
  - >> ble_conn_state_user_flag_acquire

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

  - >> gcm_gscm_evt_handler
  - >> gcm_ble_evt_handler
  - >> service_changed_send_in_evt
  - >> local_db_update_in_evt
  - >> local_db_apply_in_evt

  local_db_apply_in_evt (Thumb, 112 bytes, Stack size 32 bytes, gatt_cache_manager.o(i.local_db_apply_in_evt))
  [Stack]

  - Max Depth = 208
  - Call Chain = local_db_apply_in_evt ⇒ gscm_local_db_cache_apply ⇒ pdb_peer_data_ptr_get ⇒ pds_peer_data_read ⇒ peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> gscm_local_db_cache_apply
  - >> evt_send
  - >> ble_conn_state_user_flag_set
  [Called By]
  - >> gcm_im_evt_handler
  - >> gcm_gscm_evt_handler
  - >> gcm_ble_evt_handler
  - >> service_changed_send_in_evt

  local_db_update_in_evt (Thumb, 114 bytes, Stack size 32 bytes, gatt_cache_manager.o(i.local_db_update_in_evt))
  [Stack]

  - Max Depth = 416
  - Call Chain = local_db_update_in_evt ⇒ gscm_local_db_cache_update ⇒ pdb_write_buf_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> gscm_local_db_cache_update
  - >> evt_send
  - >> ble_conn_state_user_flag_set
  [Called By]
  - >> gcm_smd_evt_handler
  - >> gcm_ble_evt_handler

  service_changed_pending_flags_check (Thumb, 82 bytes, Stack size 160 bytes, gatt_cache_manager.o(i.service_changed_pending_flags_check))
  [Stack]

  - Max Depth = 536
  - Call Chain = service_changed_pending_flags_check ⇒ service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> service_changed_send_in_evt
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_user_flag_collection
  - >> ble_conn_state_conn_handles
  - >> __aeabi_memcpy4
  [Called By]
  - >> gcm_local_database_has_changed
  - >> gcm_gscm_evt_handler
  - >> gcm_ble_evt_handler

  service_changed_send_in_evt (Thumb, 144 bytes, Stack size 32 bytes, gatt_cache_manager.o(i.service_changed_send_in_evt))
  [Stack]

  - Max Depth = 376
  - Call Chain = service_changed_send_in_evt ⇒ gscm_db_change_notification_done ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> gscm_service_changed_ind_send
  - >> gscm_db_change_notification_done
  - >> local_db_apply_in_evt
  - >> evt_send
  - >> ble_conn_state_user_flag_set
  [Called By]
  - >> service_changed_pending_flags_check

  service_changed_pending_set (Thumb, 58 bytes, Stack size 24 bytes, gatts_cache_manager.o(i.service_changed_pending_set))
  [Stack]

  - Max Depth = 352
  - Call Chain = service_changed_pending_set ⇒ pdb_raw_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_raw_store
  - >> pdb_next_peer_id_get
  [Called By]
  - >> gscm_pdb_evt_handler
  - >> gscm_local_database_has_changed

  evt_send (Thumb, 24 bytes, Stack size 16 bytes, id_manager.o(i.evt_send))
  [Stack]

  - Max Depth = 16
  - Call Chain = evt_send
  [Called By]
  - >> im_pdb_evt_handler
  - >> im_ble_evt_handler

  peer_id_set (Thumb, 24 bytes, Stack size 8 bytes, id_manager.o(i.peer_id_set))
  [Stack]

  - Max Depth = 40
  - Call Chain = peer_id_set ⇒ get_connection_by_conn_handle ⇒ ble_conn_state_user_flag_get ⇒ sdk_mapped_flags_get_by_key
  [Calls]
  - >> get_connection_by_conn_handle
  [Called By]
  - >> im_peer_free
  - >> im_new_peer_id

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

  - >> nrf_ble_gatt_on_ble_evt
  - >> nrf_ble_gatt_init

  on_connected_evt (Thumb, 98 bytes, Stack size 24 bytes, nrf_ble_gatt.o(i.on_connected_evt))
  [Stack]

  - Max Depth = 24
  - Call Chain = on_connected_evt
  [Called By]
  - >> nrf_ble_gatt_on_ble_evt

  fds_evt_handler (Thumb, 244 bytes, Stack size 32 bytes, peer_data_storage.o(i.fds_evt_handler))
  [Stack]

  - Max Depth = 288
  - Call Chain = fds_evt_handler ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> peer_id_free
  - >> record_key_within_pm_range
  - >> peer_data_delete
  - >> pds_evt_send
  - >> file_id_within_pm_range
  [Address Reference Count : 1]
  - peer_data_storage.o(i.pds_init)

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

  - >> fds_evt_handler

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

  - >> peer_data_delete
  - >> fds_evt_handler

  peer_data_delete (Thumb, 124 bytes, Stack size 56 bytes, peer_data_storage.o(i.peer_data_delete))
  [Stack]

  - Max Depth = 256
  - Call Chain = peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> peer_id_get_next_deleted
  - >> peer_id_free
  - >> fds_record_find_in_file
  - >> fds_file_delete
  - >> pds_evt_send
  [Called By]
  - >> pds_peer_id_free
  - >> fds_evt_handler

  peer_data_find (Thumb, 48 bytes, Stack size 24 bytes, peer_data_storage.o(i.peer_data_find))
  [Stack]

  - Max Depth = 96
  - Call Chain = peer_data_find ⇒ fds_record_find ⇒ record_find ⇒ record_find_next
  [Calls]
  - >> fds_record_find
  - >> peer_data_id_is_valid
  [Called By]
  - >> pds_peer_data_read
  - >> pds_peer_data_store

  peer_data_id_is_valid (Thumb, 32 bytes, Stack size 0 bytes, peer_data_storage.o(i.peer_data_id_is_valid))
  [Called By]

  - >> pds_peer_data_read
  - >> pds_space_reserve
  - >> pds_peer_data_store
  - >> peer_data_find

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

  - >> fds_evt_handler

  pdb_evt_send (Thumb, 24 bytes, Stack size 16 bytes, peer_database.o(i.pdb_evt_send))
  [Stack]

  - Max Depth = 16
  - Call Chain = pdb_evt_send
  [Called By]
  - >> pdb_pds_evt_handler

  peer_data_const_point_to_buffer (Thumb, 6 bytes, Stack size 0 bytes, peer_database.o(i.peer_data_const_point_to_buffer))
  [Stack]

  - Max Depth = 8
  - Call Chain = peer_data_const_point_to_buffer ⇒ peer_data_point_to_buffer
  [Calls]
  - >> peer_data_point_to_buffer
  [Called By]
  - >> pdb_write_buf_store
  - >> pdb_write_buf_store_prepare

  peer_data_point_to_buffer (Thumb, 26 bytes, Stack size 8 bytes, peer_database.o(i.peer_data_point_to_buffer))
  [Stack]

  - Max Depth = 8
  - Call Chain = peer_data_point_to_buffer
  [Called By]
  - >> pdb_write_buf_get
  - >> peer_data_const_point_to_buffer

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

  - >> pdb_write_buf_store
  - >> pdb_write_buf_store_prepare

  write_buffer_record_find (Thumb, 36 bytes, Stack size 16 bytes, peer_database.o(i.write_buffer_record_find))
  [Stack]

  - Max Depth = 16
  - Call Chain = write_buffer_record_find
  [Calls]
  - >> write_buffer_record_find_next
  [Called By]
  - >> pdb_write_buf_store
  - >> pdb_write_buf_release
  - >> pdb_write_buf_get
  - >> pdb_write_buf_store_prepare
  - >> pdb_pds_evt_handler

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

  - >> pdb_peer_free
  - >> write_buffer_record_find

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

  - >> pdb_write_buf_get
  - >> pdb_init
  - >> write_buffer_record_release

  write_buffer_record_release (Thumb, 38 bytes, Stack size 16 bytes, peer_database.o(i.write_buffer_record_release))
  [Stack]

  - Max Depth = 68
  - Call Chain = write_buffer_record_release ⇒ pm_buffer_release ⇒ pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> pm_buffer_release
  - >> write_buffer_record_invalidate
  [Called By]
  - >> pdb_write_buf_release
  - >> pdb_pds_evt_handler

  claim (Thumb, 56 bytes, Stack size 16 bytes, peer_id.o(i.claim))
  [Stack]

  - Max Depth = 76
  - Call Chain = claim ⇒ pm_mutex_lock_first_available ⇒ lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> pm_mutex_lock_first_available
  - >> pm_mutex_lock
  [Called By]
  - >> peer_id_delete
  - >> peer_id_allocate

  release (Thumb, 16 bytes, Stack size 0 bytes, peer_id.o(i.release))
  [Stack]

  - Max Depth = 36
  - Call Chain = release ⇒ pm_mutex_unlock ⇒ app_util_critical_region_enter
  [Calls]
  - >> pm_mutex_unlock
  [Called By]
  - >> peer_id_free

  evt_send (Thumb, 36 bytes, Stack size 24 bytes, peer_manager.o(i.evt_send))
  [Stack]

  - Max Depth = 24
  - Call Chain = evt_send
  [Called By]
  - >> pm_im_evt_handler
  - >> pm_gcm_evt_handler
  - >> pm_sm_evt_handler
  - >> pm_pdb_evt_handler

  lock_by_mask (Thumb, 50 bytes, Stack size 24 bytes, pm_mutex.o(i.lock_by_mask))
  [Stack]

  - Max Depth = 36
  - Call Chain = lock_by_mask ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  [Called By]
  - >> pm_mutex_lock_first_available
  - >> pm_mutex_lock

  auth_status_success_process (Thumb, 156 bytes, Stack size 56 bytes, security_dispatcher.o(i.auth_status_success_process))
  [Stack]

  - Max Depth = 408
  - Call Chain = auth_status_success_process ⇒ pdb_write_buf_store ⇒ pds_peer_data_store ⇒ fds_record_write_reserved ⇒ write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_free
  - >> pdb_write_buf_store
  - >> im_peer_id_get_by_conn_handle
  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_role
  - >> evt_send
  [Called By]
  - >> smd_ble_evt_handler

  encryption_failure (Thumb, 40 bytes, Stack size 24 bytes, security_dispatcher.o(i.encryption_failure))
  [Stack]

  - Max Depth = 64
  - Call Chain = encryption_failure ⇒ ble_conn_state_user_flag_set ⇒ sdk_mapped_flags_update_by_key ⇒ sdk_mapped_flags_bulk_update_by_key
  [Calls]
  - >> ble_conn_state_user_flag_set
  - >> evt_send
  [Called By]
  - >> smd_ble_evt_handler
  - >> link_secure_failure

  evt_send (Thumb, 24 bytes, Stack size 16 bytes, security_dispatcher.o(i.evt_send))
  [Stack]

  - Max Depth = 16
  - Call Chain = evt_send
  [Called By]
  - >> smd_pdb_evt_handler
  - >> smd_ble_evt_handler
  - >> sec_start_send
  - >> sec_info_request_process
  - >> pairing_failure
  - >> encryption_failure
  - >> auth_status_success_process

  flag_id_init (Thumb, 18 bytes, Stack size 8 bytes, security_dispatcher.o(i.flag_id_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = flag_id_init ⇒ ble_conn_state_user_flag_acquire
  [Calls]
  - >> ble_conn_state_user_flag_acquire
  [Called By]
  - >> smd_init

  link_secure_central (Thumb, 134 bytes, Stack size 32 bytes, security_dispatcher.o(i.link_secure_central))
  [Stack]

  - Max Depth = 416
  - Call Chain = link_secure_central ⇒ link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> sec_start_send
  - >> sec_proc_start
  - >> link_secure_central_new_peer
  - >> link_secure_central_existing_peer
  [Called By]
  - >> smd_link_secure

  link_secure_central_existing_peer (Thumb, 200 bytes, Stack size 56 bytes, security_dispatcher.o(i.link_secure_central_existing_peer))
  [Stack]

  - Max Depth = 384
  - Call Chain = link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_master_id_is_valid
  - >> pdb_write_buf_release
  - >> pdb_write_buf_get
  - >> pdb_peer_data_ptr_get
  - >> pdb_write_buf_store_prepare
  - >> sec_proc_start
  [Called By]
  - >> link_secure_central

  link_secure_central_new_peer (Thumb, 108 bytes, Stack size 32 bytes, security_dispatcher.o(i.link_secure_central_new_peer))
  [Stack]

  - Max Depth = 360
  - Call Chain = link_secure_central_new_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> pdb_write_buf_release
  - >> pdb_write_buf_get
  - >> pdb_write_buf_store_prepare
  - >> pdb_peer_allocate
  - >> sec_proc_start
  [Called By]
  - >> link_secure_central

  link_secure_failure (Thumb, 82 bytes, Stack size 24 bytes, security_dispatcher.o(i.link_secure_failure))
  [Stack]

  - Max Depth = 360
  - Call Chain = link_secure_failure ⇒ pairing_failure ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> ble_conn_state_user_flag_get
  - >> pairing_failure
  - >> encryption_failure
  [Called By]
  - >> smd_ble_evt_handler

  pairing_failure (Thumb, 100 bytes, Stack size 40 bytes, security_dispatcher.o(i.pairing_failure))
  [Stack]

  - Max Depth = 336
  - Call Chain = pairing_failure ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_free
  - >> pdb_write_buf_release
  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_user_flag_get
  - >> evt_send
  [Called By]
  - >> link_secure_failure

  sec_info_request_process (Thumb, 178 bytes, Stack size 48 bytes, security_dispatcher.o(i.sec_info_request_process))
  [Stack]

  - Max Depth = 376
  - Call Chain = sec_info_request_process ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_master_id
  - >> im_master_ids_compare
  - >> pdb_peer_data_ptr_get
  - >> im_peer_id_get_by_conn_handle
  - >> sec_start_send
  - >> sec_proc_start
  - >> evt_send
  [Called By]
  - >> smd_ble_evt_handler

  sec_proc_start (Thumb, 78 bytes, Stack size 32 bytes, security_dispatcher.o(i.sec_proc_start))
  [Stack]

  - Max Depth = 328
  - Call Chain = sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_free
  - >> im_new_peer_id
  - >> ble_conn_state_user_flag_set
  [Called By]
  - >> smd_params_reply
  - >> sec_info_request_process
  - >> link_secure_central_new_peer
  - >> link_secure_central_existing_peer
  - >> link_secure_central

  sec_start_send (Thumb, 26 bytes, Stack size 24 bytes, security_dispatcher.o(i.sec_start_send))
  [Stack]

  - Max Depth = 40
  - Call Chain = sec_start_send ⇒ evt_send
  [Calls]
  - >> evt_send
  [Called By]
  - >> smd_params_reply
  - >> sec_info_request_process
  - >> link_secure_central

  events_send_from_err_code (Thumb, 52 bytes, Stack size 16 bytes, security_manager.o(i.events_send_from_err_code))
  [Stack]

  - Max Depth = 16
  - Call Chain = events_send_from_err_code
  [Calls]
  - >> evt_send
  [Called By]
  - >> smd_params_reply_perform
  - >> link_secure

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

  - >> smd_params_reply_perform
  - >> events_send_from_err_code
  - >> sm_smd_evt_handler

  flag_id_init (Thumb, 18 bytes, Stack size 8 bytes, security_manager.o(i.flag_id_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = flag_id_init ⇒ ble_conn_state_user_flag_acquire
  [Calls]
  - >> ble_conn_state_user_flag_acquire
  [Called By]
  - >> sm_init

  flags_set_from_err_code (Thumb, 82 bytes, Stack size 16 bytes, security_manager.o(i.flags_set_from_err_code))
  [Stack]

  - Max Depth = 56
  - Call Chain = flags_set_from_err_code ⇒ ble_conn_state_user_flag_set ⇒ sdk_mapped_flags_update_by_key ⇒ sdk_mapped_flags_bulk_update_by_key
  [Calls]
  - >> ble_conn_state_user_flag_set
  [Called By]
  - >> smd_params_reply_perform
  - >> link_secure

  link_secure (Thumb, 146 bytes, Stack size 32 bytes, security_manager.o(i.link_secure))
  [Stack]

  - Max Depth = 464
  - Call Chain = link_secure ⇒ smd_link_secure ⇒ link_secure_central ⇒ link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> ble_conn_state_user_flag_set
  - >> flags_set_from_err_code
  - >> events_send_from_err_code
  - >> smd_link_secure
  [Called By]
  - >> link_secure_pending_process
  - >> sm_smd_evt_handler

  link_secure_pending_process (Thumb, 88 bytes, Stack size 96 bytes, security_manager.o(i.link_secure_pending_process))
  [Stack]

  - Max Depth = 560
  - Call Chain = link_secure_pending_process ⇒ link_secure ⇒ smd_link_secure ⇒ link_secure_central ⇒ link_secure_central_existing_peer ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_user_flag_collection
  - >> ble_conn_state_conn_handles
  - >> link_secure
  [Called By]
  - >> sm_ble_evt_handler
  - >> sm_pdb_evt_handler

  params_reply_pending_process (Thumb, 60 bytes, Stack size 88 bytes, security_manager.o(i.params_reply_pending_process))
  [Stack]

  - Max Depth = 528
  - Call Chain = params_reply_pending_process ⇒ smd_params_reply_perform ⇒ smd_params_reply ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_user_flag_collection
  - >> ble_conn_state_conn_handles
  - >> smd_params_reply_perform
  [Called By]
  - >> sm_pdb_evt_handler

  sec_params_verify (Thumb, 118 bytes, Stack size 0 bytes, security_manager.o(i.sec_params_verify))
  [Called By]

  - >> sm_sec_params_set

  smd_params_reply_perform (Thumb, 132 bytes, Stack size 24 bytes, security_manager.o(i.smd_params_reply_perform))
  [Stack]

  - Max Depth = 440
  - Call Chain = smd_params_reply_perform ⇒ smd_params_reply ⇒ sec_proc_start ⇒ im_peer_free ⇒ pdb_peer_free ⇒ pds_peer_id_free ⇒ peer_data_delete ⇒ fds_file_delete ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> im_peer_id_get_by_conn_handle
  - >> ble_conn_state_user_flag_set
  - >> ble_conn_state_user_flag_get
  - >> ble_conn_state_role
  - >> flags_set_from_err_code
  - >> evt_send
  - >> events_send_from_err_code
  - >> smd_params_reply
  [Called By]
  - >> params_reply_pending_process
  - >> sm_smd_evt_handler

  clock_clk_started_notify (Thumb, 34 bytes, Stack size 16 bytes, nrf_drv_clock.o(i.clock_clk_started_notify))
  [Stack]

  - Max Depth = 16
  - Call Chain = clock_clk_started_notify
  [Called By]
  - >> nrf_drv_clock_on_soc_event
  - >> POWER_CLOCK_IRQHandler

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

  - >> POWER_CLOCK_IRQHandler

  nrf_clock_event_clear (Thumb, 16 bytes, Stack size 8 bytes, nrf_drv_clock.o(i.nrf_clock_event_clear))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_clock_event_clear
  [Called By]
  - >> POWER_CLOCK_IRQHandler

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

  - >> GPIOTE_IRQHandler

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

  - >> GPIOTE_IRQHandler

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

  - >> GPIOTE_IRQHandler

  nrf_gpio_ports_read (Thumb, 34 bytes, Stack size 12 bytes, nrf_drv_gpiote.o(i.nrf_gpio_ports_read))
  [Stack]

  - Max Depth = 12
  - Call Chain = nrf_gpio_ports_read
  [Called By]
  - >> GPIOTE_IRQHandler

  nrf_gpiote_event_clear (Thumb, 16 bytes, Stack size 8 bytes, nrf_drv_gpiote.o(i.nrf_gpiote_event_clear))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_gpiote_event_clear
  [Called By]
  - >> GPIOTE_IRQHandler

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

  - >> GPIOTE_IRQHandler

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

  - >> uart_irq_handler

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

  - Max Depth = 8
  - Call Chain = nrf_uart_event_clear
  [Called By]
  - >> tx_byte
  - >> rx_byte
  - >> uart_irq_handler

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

  - >> uart_irq_handler

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

  - >> uarte_irq_handler

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

  - Max Depth = 8
  - Call Chain = nrf_uarte_event_clear
  [Called By]
  - >> uarte_irq_handler

  rx_byte (Thumb, 50 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.rx_byte))
  [Stack]

  - Max Depth = 24
  - Call Chain = rx_byte ⇒ nrf_uart_event_clear
  [Calls]
  - >> nrf_uart_event_clear
  [Called By]
  - >> uart_irq_handler

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

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

  tx_byte (Thumb, 32 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.tx_byte))
  [Stack]

  - Max Depth = 24
  - Call Chain = tx_byte ⇒ nrf_uart_event_clear
  [Calls]
  - >> nrf_uart_event_clear
  [Called By]
  - >> uart_irq_handler

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

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

  uart_irq_handler (Thumb, 286 bytes, Stack size 48 bytes, nrf_drv_uart.o(i.uart_irq_handler))
  [Stack]

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

  uarte_irq_handler (Thumb, 240 bytes, Stack size 40 bytes, nrf_drv_uart.o(i.uarte_irq_handler))
  [Stack]

  - Max Depth = 64
  - Call Chain = uarte_irq_handler ⇒ rx_done_event
  [Calls]
  - >> rx_done_event
  - >> nrf_uarte_event_clear
  - >> nrf_uarte_event_check
  - >> tx_done_event
  [Called By]
  - >> UARTE0_UART0_IRQHandler

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

  - >> app_timer_init
  - >> compare_reg_update

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

  - >> app_timer_init
  - >> compare_reg_update

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

  - >> app_timer_start
  - >> timer_timeouts_check
  - >> timer_stop_op_schedule
  - >> compare_reg_update

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

  - >> app_timer_init

  compare_reg_update (Thumb, 160 bytes, Stack size 40 bytes, app_timer.o(i.compare_reg_update))
  [Stack]

  - Max Depth = 56
  - Call Chain = compare_reg_update ⇒ rtc1_stop
  [Calls]
  - >> rtc1_stop
  - >> nrf_delay_us
  - >> NVIC_SetPendingIRQ
  - >> NVIC_EnableIRQ
  - >> NVIC_ClearPendingIRQ
  [Called By]
  - >> timer_list_handler

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

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

  list_insertions_handler (Thumb, 234 bytes, Stack size 32 bytes, app_timer.o(i.list_insertions_handler))
  [Stack]

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

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

  - >> timer_list_remove
  - >> rtc1_stop
  - >> compare_reg_update

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

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

  timer_list_handler (Thumb, 122 bytes, Stack size 40 bytes, app_timer.o(i.timer_list_handler))
  [Stack]

  - Max Depth = 96
  - Call Chain = timer_list_handler ⇒ list_insertions_handler ⇒ timer_list_remove
  [Calls]
  - >> list_insertions_handler
  - >> elapsed_ticks_acquire
  - >> compare_reg_update
  [Called By]
  - >> SWI0_EGU0_IRQHandler

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

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

  timer_list_remove (Thumb, 88 bytes, Stack size 24 bytes, app_timer.o(i.timer_list_remove))
  [Stack]

  - Max Depth = 24
  - Call Chain = timer_list_remove
  [Calls]
  - >> nrf_delay_us
  [Called By]
  - >> list_insertions_handler

  timer_stop_op_schedule (Thumb, 68 bytes, Stack size 24 bytes, app_timer.o(i.timer_stop_op_schedule))
  [Stack]

  - Max Depth = 36
  - Call Chain = timer_stop_op_schedule ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  - >> user_op_alloc
  - >> NVIC_SetPendingIRQ
  [Called By]
  - >> app_timer_stop

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

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

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

  - >> app_timer_start
  - >> timer_stop_op_schedule

  delete_execute (Thumb, 124 bytes, Stack size 32 bytes, fds.o(i.delete_execute))
  [Stack]

  - Max Depth = 112
  - Call Chain = delete_execute ⇒ record_header_flag_dirty ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> record_header_flag_dirty
  - >> record_find_by_desc
  - >> record_find
  [Called By]
  - >> queue_process

  event_prepare (Thumb, 106 bytes, Stack size 8 bytes, fds.o(i.event_prepare))
  [Stack]

  - Max Depth = 8
  - Call Chain = event_prepare
  [Called By]
  - >> queue_process

  event_send (Thumb, 26 bytes, Stack size 16 bytes, fds.o(i.event_send))
  [Stack]

  - Max Depth = 16
  - Call Chain = event_send
  [Called By]
  - >> fds_init
  - >> queue_process

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

  - >> fds_init
  - >> queue_process
  - >> init_execute

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

  - >> fds_init
  - >> queue_start
  - >> init_execute

  fs_event_handler (Thumb, 6 bytes, Stack size 0 bytes, fds.o(i.fs_event_handler))
  [Stack]

  - Max Depth = 160
  - Call Chain = fs_event_handler ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_process
  [Address Reference Count : 1]
  - fds.o(fs_data)

  gc_execute (Thumb, 108 bytes, Stack size 16 bytes, fds.o(i.gc_execute))
  [Stack]

  - Max Depth = 120
  - Call Chain = gc_execute ⇒ gc_next_page ⇒ gc_record_find_next ⇒ gc_record_copy ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> page_tag_write_swap
  - >> page_tag_write_data
  - >> gc_state_advance
  - >> gc_record_find_next
  - >> gc_record_copy
  - >> gc_page_erase
  - >> gc_next_page
  [Called By]
  - >> queue_process

  gc_next_page (Thumb, 66 bytes, Stack size 16 bytes, fds.o(i.gc_next_page))
  [Stack]

  - Max Depth = 104
  - Call Chain = gc_next_page ⇒ gc_record_find_next ⇒ gc_record_copy ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> gc_record_find_next
  [Called By]
  - >> gc_execute

  gc_page_erase (Thumb, 62 bytes, Stack size 8 bytes, fds.o(i.gc_page_erase))
  [Stack]

  - Max Depth = 64
  - Call Chain = gc_page_erase ⇒ fs_erase ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> fs_erase
  [Called By]
  - >> gc_record_find_next
  - >> gc_execute

  gc_record_copy (Thumb, 38 bytes, Stack size 16 bytes, fds.o(i.gc_record_copy))
  [Stack]

  - Max Depth = 80
  - Call Chain = gc_record_copy ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> fs_store
  [Called By]
  - >> gc_record_find_next
  - >> gc_execute

  gc_record_find_next (Thumb, 30 bytes, Stack size 8 bytes, fds.o(i.gc_record_find_next))
  [Stack]

  - Max Depth = 88
  - Call Chain = gc_record_find_next ⇒ gc_record_copy ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> record_find_next
  - >> gc_record_copy
  - >> gc_page_erase
  [Called By]
  - >> gc_next_page
  - >> gc_execute

  gc_state_advance (Thumb, 120 bytes, Stack size 20 bytes, fds.o(i.gc_state_advance))
  [Stack]

  - Max Depth = 20
  - Call Chain = gc_state_advance
  [Called By]
  - >> gc_execute

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

  - >> record_find_next
  - >> page_scan

  init_execute (Thumb, 180 bytes, Stack size 24 bytes, fds.o(i.init_execute))
  [Stack]

  - Max Depth = 96
  - Call Chain = init_execute ⇒ page_tag_write_swap ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> page_tag_write_swap
  - >> page_tag_write_data
  - >> flag_set
  - >> flag_clear
  - >> fs_erase
  [Called By]
  - >> queue_process

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

  - >> write_enqueue
  - >> record_find_by_desc

  op_enqueue (Thumb, 124 bytes, Stack size 24 bytes, fds.o(i.op_enqueue))
  [Stack]

  - Max Depth = 24
  - Call Chain = op_enqueue
  [Calls]
  - >> chunk_queue_next
  - >> __aeabi_memcpy4
  [Called By]
  - >> fds_gc
  - >> fds_init
  - >> fds_file_delete
  - >> write_enqueue

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

  - >> write_execute

  page_scan (Thumb, 94 bytes, Stack size 32 bytes, fds.o(i.page_scan))
  [Stack]

  - Max Depth = 32
  - Call Chain = page_scan
  [Calls]
  - >> header_is_valid
  [Called By]
  - >> pages_init

  page_tag_write_data (Thumb, 20 bytes, Stack size 8 bytes, fds.o(i.page_tag_write_data))
  [Stack]

  - Max Depth = 72
  - Call Chain = page_tag_write_data ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> fs_store
  [Called By]
  - >> init_execute
  - >> gc_execute

  page_tag_write_swap (Thumb, 22 bytes, Stack size 8 bytes, fds.o(i.page_tag_write_swap))
  [Stack]

  - Max Depth = 72
  - Call Chain = page_tag_write_swap ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> fs_store
  [Called By]
  - >> init_execute
  - >> gc_execute

  pages_init (Thumb, 228 bytes, Stack size 40 bytes, fds.o(i.pages_init))
  [Stack]

  - Max Depth = 72
  - Call Chain = pages_init ⇒ page_scan
  [Calls]
  - >> page_scan
  [Called By]
  - >> fds_init

  queue_process (Thumb, 184 bytes, Stack size 40 bytes, fds.o(i.queue_process))
  [Stack]

  - Max Depth = 160 + In Cycle
  - Call Chain = queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> write_execute
  - >> queue_process
  - >> init_execute
  - >> gc_execute
  - >> flag_clear
  - >> event_send
  - >> event_prepare
  - >> delete_execute
  - >> __aeabi_memclr4
  [Called By]
  - >> queue_start
  - >> queue_process
  - >> fs_event_handler

  queue_start (Thumb, 28 bytes, Stack size 8 bytes, fds.o(i.queue_start))
  [Stack]

  - Max Depth = 168
  - Call Chain = queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_process
  - >> flag_set
  [Called By]
  - >> fds_gc
  - >> fds_init
  - >> fds_file_delete
  - >> write_enqueue

  record_find (Thumb, 128 bytes, Stack size 32 bytes, fds.o(i.record_find))
  [Stack]

  - Max Depth = 48
  - Call Chain = record_find ⇒ record_find_next
  [Calls]
  - >> record_find_next
  [Called By]
  - >> fds_record_find_in_file
  - >> fds_record_find_by_key
  - >> fds_record_find
  - >> delete_execute

  record_find_by_desc (Thumb, 148 bytes, Stack size 24 bytes, fds.o(i.record_find_by_desc))
  [Stack]

  - Max Depth = 40
  - Call Chain = record_find_by_desc ⇒ record_find_next
  [Calls]
  - >> record_find_next
  - >> is_word_aligned
  [Called By]
  - >> fds_record_open
  - >> fds_record_close
  - >> write_execute
  - >> delete_execute

  record_find_next (Thumb, 70 bytes, Stack size 16 bytes, fds.o(i.record_find_next))
  [Stack]

  - Max Depth = 16
  - Call Chain = record_find_next
  [Calls]
  - >> header_is_valid
  [Called By]
  - >> record_find_by_desc
  - >> record_find
  - >> gc_record_find_next

  record_header_flag_dirty (Thumb, 40 bytes, Stack size 16 bytes, fds.o(i.record_header_flag_dirty))
  [Stack]

  - Max Depth = 80
  - Call Chain = record_header_flag_dirty ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> fs_store
  [Called By]
  - >> write_execute
  - >> delete_execute

  record_write_chunk (Thumb, 82 bytes, Stack size 16 bytes, fds.o(i.record_write_chunk))
  [Stack]

  - Max Depth = 80
  - Call Chain = record_write_chunk ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> fs_store
  [Called By]
  - >> write_execute

  write_enqueue (Thumb, 284 bytes, Stack size 96 bytes, fds.o(i.write_enqueue))
  [Stack]

  - Max Depth = 264
  - Call Chain = write_enqueue ⇒ queue_start ⇒ queue_process ⇒ queue_process (Cycle)
  [Calls]
  - >> write_space_reserve
  - >> write_space_free
  - >> queue_start
  - >> op_enqueue
  - >> is_word_aligned
  [Called By]
  - >> fds_record_write_reserved
  - >> fds_record_write
  - >> fds_record_update

  write_execute (Thumb, 228 bytes, Stack size 32 bytes, fds.o(i.write_execute))
  [Stack]

  - Max Depth = 112
  - Call Chain = write_execute ⇒ record_write_chunk ⇒ fs_store ⇒ queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> record_write_chunk
  - >> record_header_flag_dirty
  - >> record_find_by_desc
  - >> page_offsets_update
  - >> fs_store
  [Called By]
  - >> queue_process

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

  - >> fds_reserve_cancel
  - >> write_enqueue

  write_space_reserve (Thumb, 78 bytes, Stack size 20 bytes, fds.o(i.write_space_reserve))
  [Stack]

  - Max Depth = 20
  - Call Chain = write_space_reserve
  [Called By]
  - >> fds_reserve
  - >> write_enqueue

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

  - >> fs_store
  - >> fs_erase

  on_operation_success (Thumb, 80 bytes, Stack size 8 bytes, fstorage.o(i.on_operation_success))
  [Stack]

  - Max Depth = 32
  - Call Chain = on_operation_success ⇒ send_event
  [Calls]
  - >> send_event
  - >> queue_advance
  [Called By]
  - >> fs_sys_event_handler

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

  - >> fs_sys_event_handler
  - >> on_operation_success

  queue_get_next_free (Thumb, 52 bytes, Stack size 16 bytes, fstorage.o(i.queue_get_next_free))
  [Stack]

  - Max Depth = 16
  - Call Chain = queue_get_next_free
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> fs_store
  - >> fs_erase

  queue_process (Thumb, 104 bytes, Stack size 8 bytes, fstorage.o(i.queue_process))
  [Stack]

  - Max Depth = 32
  - Call Chain = queue_process ⇒ send_event
  [Calls]
  - >> send_event
  [Called By]
  - >> fs_sys_event_handler
  - >> queue_start

  queue_start (Thumb, 22 bytes, Stack size 0 bytes, fstorage.o(i.queue_start))
  [Stack]

  - Max Depth = 32
  - Call Chain = queue_start ⇒ queue_process ⇒ send_event
  [Calls]
  - >> queue_process
  [Called By]
  - >> fs_store
  - >> fs_erase

  send_event (Thumb, 76 bytes, Stack size 24 bytes, fstorage.o(i.send_event))
  [Stack]

  - Max Depth = 24
  - Call Chain = send_event
  [Called By]
  - >> fs_sys_event_handler
  - >> queue_process
  - >> on_operation_success

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

  - >> sdk_mapped_flags_key_list_get
  - >> sdk_mapped_flags_get_by_key
  - >> sdk_mapped_flags_first_key_index_get

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

  - >> softdevice_handler_init

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

  - >> softdevice_handler_init
  - >> sd_nvic_EnableIRQ

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

  - >> sd_nvic_EnableIRQ

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

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

  ### Undefined Global Symbols