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

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Fri Apr 01 15:35:40 2022

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

### Call chain for Maximum Stack Depth:

on_data_obj_execute_request_sched ⇒ nrf_dfu_validation_activation_prepare ⇒ postvalidate ⇒ postvalidate_sd_bl ⇒ boot_validation_extract ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemoryManagement_Handler ⇒ MemoryManagement_Handler
- BusFault_Handler ⇒ BusFault_Handler
- UsageFault_Handler ⇒ UsageFault_Handler
- DebugMon_Handler ⇒ DebugMon_Handler
- PendSV_Handler ⇒ PendSV_Handler
- SysTick_Handler ⇒ SysTick_Handler
- CCM_AAR_IRQHandler ⇒ CCM_AAR_IRQHandler
- uECC_vli_numBits ⇒ uECC_vli_numBits
- bcopy ⇒ bcopy
- pb_field_set_to_default ⇒ pb_message_set_to_defaults
- pb_read ⇒ pb_read
- nrf_fstorage_sys_evt_handler ⇒ queue_process
- __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_close ⇒ __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_close
- __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_wspace_close ⇒ __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_wspace_close

  ### 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 arm_startup_nrf52.o(.text) 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 arm_startup_nrf52.o(.text) 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 arm_startup_nrf52.o(.text) referenced from arm_startup_nrf52.o(RESET)
  - RTC2_IRQHandler from nrf_bootloader_dfu_timers.o(i.RTC2_IRQHandler) 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 nrf_svc_handler.o(.emb_text) referenced from arm_startup_nrf52.o(RESET)
  - SWI0_EGU0_IRQHandler from arm_startup_nrf52.o(.text) 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 nrf_sdh.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 arm_startup_nrf52.o(.text) 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_bootloader_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)
  - app_error_fault_handler from main.o(i.app_error_fault_handler) referenced from nrf_sdh.o(i.nrf_sdh_enable_request)
  - ble_dfu_req_handler_callback from nrf_dfu_ble.o(i.ble_dfu_req_handler_callback) referenced 2 times from nrf_dfu_ble.o(.constdata)
  - ble_dfu_transport_close from nrf_dfu_ble.o(i.ble_dfu_transport_close) referenced from nrf_dfu_ble.o(dfu_trans)
  - ble_dfu_transport_init from nrf_dfu_ble.o(i.ble_dfu_transport_init) referenced from nrf_dfu_ble.o(dfu_trans)
  - ble_evt_handler from nrf_dfu_ble.o(i.ble_evt_handler) referenced from nrf_dfu_ble.o(sdh_ble_observers2)
  - buf_read from pb_decode.o(i.buf_read) referenced from pb_decode.o(i.pb_istream_from_buffer)
  - buf_read from pb_decode.o(i.buf_read) referenced from pb_decode.o(i.pb_read)
  - dfu_fstorage_evt_handler from nrf_dfu_flash.o(i.dfu_fstorage_evt_handler) referenced from nrf_dfu_flash.o(fs_data)
  - dfu_observer from main.o(i.dfu_observer) referenced from main.o(i.main)
  - dfu_observer from nrf_bootloader.o(i.dfu_observer) referenced from nrf_bootloader.o(i.nrf_bootloader_init)
  - dfu_observer from nrf_dfu.o(i.dfu_observer) referenced from nrf_dfu.o(i.nrf_dfu_init)
  - do_reset from nrf_bootloader.o(i.do_reset) referenced from nrf_bootloader.o(i.bootloader_reset)
  - double_jacobian_default from micro_ecc_lib_uECC.c.o(.text.double_jacobian_default) referenced from micro_ecc_lib_uECC.c.o(.rodata.curve_secp256r1)
  - erase from nrf_fstorage_nvmc.o(i.erase) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - flash_write_callback from nrf_bootloader_fw_activation.o(i.flash_write_callback) referenced from nrf_bootloader_fw_activation.o(i.nrf_bootloader_fw_activate)
  - flash_write_callback from nrf_bootloader.o(i.flash_write_callback) referenced from nrf_bootloader.o(i.nrf_bootloader_init)
  - inactivity_timeout from nrf_bootloader.o(i.inactivity_timeout) referenced from nrf_bootloader.o(i.dfu_observer)
  - inactivity_timeout from nrf_bootloader.o(i.inactivity_timeout) referenced from nrf_bootloader.o(i.nrf_bootloader_init)
  - init from nrf_fstorage_nvmc.o(i.init) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - is_busy from nrf_fstorage_nvmc.o(i.is_busy) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
  - nrf_dfu_req_handler_req from nrf_dfu_req_handler.o(i.nrf_dfu_req_handler_req) referenced from nrf_dfu_req_handler.o(i.nrf_dfu_req_handler_on_req)
  - nrf_dfu_set_adv_name_handler from nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_handler) referenced from nrf_dfu_svci_handler.o(svc_data)
  - nrf_dfu_set_adv_name_on_call from nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_on_call) referenced from nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_handler)
  - nrf_dfu_set_adv_name_on_sys_evt from nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_on_sys_evt) referenced from nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_handler)
  - nrf_fstorage_sdh_req_handler from nrf_fstorage_sd.o(i.nrf_fstorage_sdh_req_handler) referenced from nrf_fstorage_sd.o(sdh_req_observers0)
  - nrf_fstorage_sdh_state_handler from nrf_fstorage_sd.o(i.nrf_fstorage_sdh_state_handler) referenced from nrf_fstorage_sd.o(sdh_state_observers0)
  - nrf_fstorage_sys_evt_handler from nrf_fstorage_sd.o(i.nrf_fstorage_sys_evt_handler) referenced from nrf_fstorage_sd.o(sdh_soc_observers0)
  - nrf_sdh_ble_evts_poll from nrf_sdh_ble.o(i.nrf_sdh_ble_evts_poll) referenced from nrf_sdh_ble.o(sdh_stack_observers0)
  - nrf_sdh_soc_evts_poll from nrf_sdh_soc.o(i.nrf_sdh_soc_evts_poll) referenced from nrf_sdh_soc.o(sdh_stack_observers0)
  - nrf_sw_backend_hash_sha256_finalize from nrf_sw_backend_hash.o(i.nrf_sw_backend_hash_sha256_finalize) referenced from nrf_sw_backend_hash.o(.constdata)
  - nrf_sw_backend_hash_sha256_init from nrf_sw_backend_hash.o(i.nrf_sw_backend_hash_sha256_init) referenced from nrf_sw_backend_hash.o(.constdata)
  - nrf_sw_backend_hash_sha256_update from nrf_sw_backend_hash.o(i.nrf_sw_backend_hash_sha256_update) referenced from nrf_sw_backend_hash.o(.constdata)
  - on_data_obj_execute_request_sched from nrf_dfu_req_handler.o(i.on_data_obj_execute_request_sched) referenced from nrf_dfu_req_handler.o(i.on_data_obj_execute_request_sched)
  - on_dfu_complete from nrf_dfu_req_handler.o(i.on_dfu_complete) referenced from nrf_dfu_req_handler.o(i.on_data_obj_execute_request_sched)
  - on_flash_write from nrf_dfu_ble.o(i.on_flash_write) referenced from nrf_dfu_ble.o(.constdata)
  - pb_dec_bytes from pb_decode.o(i.pb_dec_bytes) referenced from pb_decode.o(.constdata)
  - pb_dec_fixed32 from pb_decode.o(i.pb_dec_fixed32) referenced from pb_decode.o(.constdata)
  - pb_dec_fixed64 from pb_decode.o(i.pb_dec_fixed64) referenced from pb_decode.o(.constdata)
  - pb_dec_string from pb_decode.o(i.pb_dec_string) referenced from pb_decode.o(.constdata)
  - pb_dec_submessage from pb_decode.o(i.pb_dec_submessage) referenced from pb_decode.o(.constdata)
  - pb_dec_svarint from pb_decode.o(i.pb_dec_svarint) referenced from pb_decode.o(.constdata)
  - pb_dec_uvarint from pb_decode.o(i.pb_dec_uvarint) referenced from pb_decode.o(.constdata)
  - pb_dec_varint from pb_decode.o(i.pb_dec_varint) referenced from pb_decode.o(.constdata)
  - pb_decoding_callback from nrf_dfu_validation.o(i.pb_decoding_callback) referenced from nrf_dfu_validation.o(i.stored_init_cmd_decode)
  - read from nrf_fstorage_nvmc.o(i.read) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - rmap from nrf_fstorage_nvmc.o(i.rmap) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - uECC_secp256r1 from micro_ecc_lib_uECC.c.o(.text.uECC_secp256r1) referenced from micro_ecc_backend_ecc.o(.constdata)
  - uninit from nrf_fstorage_nvmc.o(i.uninit) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - vli_mmod_fast_secp256r1 from micro_ecc_lib_uECC.c.o(.text.vli_mmod_fast_secp256r1) referenced from micro_ecc_lib_uECC.c.o(.rodata.curve_secp256r1)
  - wdt_feed_timer_handler from nrf_bootloader_wdt.o(i.wdt_feed_timer_handler) referenced from nrf_bootloader_wdt.o(i.nrf_bootloader_wdt_init)
  - wmap from nrf_fstorage_nvmc.o(i.wmap) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - write from nrf_fstorage_nvmc.o(i.write) referenced 2 times from nrf_fstorage_nvmc.o(.constdata)
  - x_side_default from micro_ecc_lib_uECC.c.o(.text.x_side_default) referenced from micro_ecc_lib_uECC.c.o(.rodata.curve_secp256r1)

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

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

  - >> nrf_atfifo_item_alloc

  __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_wspace_close (Thumb, 18 bytes, Stack size 0 bytes, nrf_atfifo.o(.emb_text))
  [Calls]

  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_wspace_close
  [Called By]
  - >> nrf_atfifo_item_put
  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_wspace_close

  __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_req (Thumb, 58 bytes, Stack size 0 bytes, nrf_atfifo.o(.emb_text))
  [Called By]

  - >> nrf_atfifo_item_get

  __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_close (Thumb, 18 bytes, Stack size 0 bytes, nrf_atfifo.o(.emb_text))
  [Calls]

  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_close
  [Called By]
  - >> nrf_atfifo_item_free
  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_close

  __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_space_clear (Thumb, 50 bytes, Stack size 0 bytes, nrf_atfifo.o(.emb_text))
  [Called By]

  - >> nrf_atfifo_clear

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_mov (Thumb, 24 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text), UNUSED)

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_orr (Thumb, 26 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text))
  [Called By]

  - >> nrf_atomic_u32_fetch_or

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_and (Thumb, 26 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text))
  [Called By]

  - >> nrf_atomic_u32_and

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_eor (Thumb, 26 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text), UNUSED)

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_add (Thumb, 26 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text), UNUSED)

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_sub (Thumb, 26 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text), UNUSED)

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_cmp_exch (Thumb, 42 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text), UNUSED)

  __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_sub_hs (Thumb, 30 bytes, Stack size 0 bytes, nrf_atomic.o(.emb_text), UNUSED)

  SVC_Handler (Thumb, 20 bytes, Stack size 0 bytes, nrf_svc_handler.o(.emb_text))
  [Stack]

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

  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)

  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)

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

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

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

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

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

  - arm_startup_nrf52.o(RESET)

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

  - >> pb_decode_varint

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

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

  - >> nrf_dfu_settings_reinit
  - >> settings_write
  - >> nrf_dfu_validation_init_cmd_append
  - >> app_sched_event_put
  - >> nrf_dfu_settings_adv_name_copy
  - >> ble_evt_handler
  - >> postvalidate
  - >> postvalidate_sd_bl
  - >> nrf_dfu_validation_signature_check
  - >> boot_validation_extract
  - >> read
  - >> read
  - >> pb_field_set_to_default

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

  - >> nrf_dfu_settings_reinit
  - >> on_data_obj_execute_request_sched
  - >> nrf_dfu_req_handler_req_process
  - >> ble_dfu_init
  - >> on_ctrl_pt_write
  - >> ble_evt_handler
  - >> advertising_start
  - >> postvalidate_sd_bl

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

  - >> nrf_dfu_settings_progress_reset
  - >> memset
  - >> __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]
  - >> boot_validation_extract
  - >> pb_field_set_to_default
  - >> decode_static_field

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

  - >> nrf_dfu_settings_reinit
  - >> sha256_final
  - >> ble_dfu_req_handler_callback
  - >> stored_init_cmd_decode
  - >> postvalidate_sd_bl
  - >> nrf_dfu_validation_signature_check
  - >> nrf_dfu_validation_hash_ok
  - >> boot_validation_extract
  - >> nrf_dfu_settings_progress_reset
  - >> write
  - >> uninit
  - >> event_send
  - >> erase
  - >> event_send

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

  memset (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = memset
  [Calls]
  - >> __aeabi_memset
  [Called By]
  - >> x_side_default

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

  - Max Depth = 12
  - Call Chain = memcmp
  [Called By]
  - >> bl_activate
  - >> settings_write
  - >> nrf_dfu_validation_hash_ok

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

  uECC_secp256r1 (Thumb, 8 bytes, Stack size 0 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_secp256r1))
  [Address Reference Count : 1]

  - micro_ecc_backend_ecc.o(.constdata)

  uECC_verify (Thumb, 724 bytes, Stack size 1920 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_verify))
  [Stack]

  - Max Depth = 2960
  - Call Chain = uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> uECC_vli_modInv
  - >> uECC_vli_modMult_fast
  - >> uECC_vli_modMult
  - >> uECC_vli_modSub
  - >> uECC_vli_equal
  - >> uECC_vli_set
  - >> uECC_vli_numBits
  - >> uECC_vli_testBit
  - >> uECC_vli_isZero
  - >> uECC_vli_clear
  - >> uECC_vli_sub
  - >> apply_z
  - >> XYcZ_add
  - >> bits2int
  - >> uECC_vli_cmp_unsafe
  - >> bcopy
  [Called By]
  - >> nrf_crypto_backend_micro_ecc_verify

  uECC_vli_add (Thumb, 88 bytes, Stack size 64 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_add))
  [Stack]

  - Max Depth = 64
  - Call Chain = uECC_vli_add
  [Called By]
  - >> uECC_vli_modInv
  - >> uECC_vli_modSub
  - >> uECC_vli_modAdd
  - >> double_jacobian_default
  - >> vli_modInv_update
  - >> vli_mmod_fast_secp256r1

  uECC_vli_clear (Thumb, 24 bytes, Stack size 32 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_clear))
  [Stack]

  - Max Depth = 32
  - Call Chain = uECC_vli_clear
  [Called By]
  - >> uECC_verify
  - >> uECC_vli_modInv
  - >> uECC_vli_mmod
  - >> bits2int

  uECC_vli_equal (Thumb, 42 bytes, Stack size 48 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_equal))
  [Stack]

  - Max Depth = 48
  - Call Chain = uECC_vli_equal
  [Called By]
  - >> uECC_verify

  uECC_vli_isZero (Thumb, 30 bytes, Stack size 32 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_isZero))
  [Stack]

  - Max Depth = 32
  - Call Chain = uECC_vli_isZero
  [Called By]
  - >> uECC_verify
  - >> uECC_vli_modInv
  - >> double_jacobian_default

  uECC_vli_mmod (Thumb, 316 bytes, Stack size 672 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_mmod))
  [Stack]

  - Max Depth = 720
  - Call Chain = uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> uECC_vli_rshift1
  - >> uECC_vli_set
  - >> uECC_vli_numBits
  - >> uECC_vli_clear
  [Called By]
  - >> uECC_vli_modMult

  uECC_vli_modAdd (Thumb, 50 bytes, Stack size 64 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_modAdd))
  [Stack]

  - Max Depth = 128
  - Call Chain = uECC_vli_modAdd ⇒ uECC_vli_sub
  [Calls]
  - >> uECC_vli_sub
  - >> uECC_vli_add
  - >> uECC_vli_cmp_unsafe
  [Called By]
  - >> double_jacobian_default
  - >> x_side_default

  uECC_vli_modInv (Thumb, 268 bytes, Stack size 608 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_modInv))
  [Stack]

  - Max Depth = 768
  - Call Chain = uECC_vli_modInv ⇒ vli_modInv_update ⇒ uECC_vli_add
  [Calls]
  - >> uECC_vli_rshift1
  - >> uECC_vli_set
  - >> uECC_vli_isZero
  - >> uECC_vli_clear
  - >> uECC_vli_sub
  - >> uECC_vli_add
  - >> vli_modInv_update
  - >> uECC_vli_cmp_unsafe
  [Called By]
  - >> uECC_verify

  uECC_vli_modMult (Thumb, 36 bytes, Stack size 320 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_modMult))
  [Stack]

  - Max Depth = 1040
  - Call Chain = uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> uECC_vli_mmod
  - >> uECC_vli_mult
  [Called By]
  - >> uECC_verify

  uECC_vli_modMult_fast (Thumb, 32 bytes, Stack size 320 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_modMult_fast))
  [Stack]

  - Max Depth = 464
  - Call Chain = uECC_vli_modMult_fast ⇒ uECC_vli_mult
  [Calls]
  - >> uECC_vli_mult
  [Called By]
  - >> uECC_verify
  - >> apply_z
  - >> XYcZ_add
  - >> double_jacobian_default
  - >> x_side_default

  uECC_vli_modSquare_fast (Thumb, 32 bytes, Stack size 320 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_modSquare_fast))
  [Stack]

  - Max Depth = 464
  - Call Chain = uECC_vli_modSquare_fast ⇒ uECC_vli_square
  [Calls]
  - >> uECC_vli_square
  [Called By]
  - >> apply_z
  - >> XYcZ_add
  - >> double_jacobian_default
  - >> x_side_default

  uECC_vli_modSub (Thumb, 36 bytes, Stack size 64 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_modSub))
  [Stack]

  - Max Depth = 128
  - Call Chain = uECC_vli_modSub ⇒ uECC_vli_sub
  [Calls]
  - >> uECC_vli_sub
  - >> uECC_vli_add
  [Called By]
  - >> uECC_verify
  - >> XYcZ_add
  - >> double_jacobian_default
  - >> x_side_default

  uECC_vli_mult (Thumb, 786 bytes, Stack size 144 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_mult))
  [Stack]

  - Max Depth = 144
  - Call Chain = uECC_vli_mult
  [Called By]
  - >> uECC_vli_modMult_fast
  - >> uECC_vli_modMult

  uECC_vli_numBits (Thumb, 68 bytes, Stack size 0 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_numBits))
  [Calls]

  - >> uECC_vli_numBits
  [Called By]
  - >> uECC_verify
  - >> uECC_vli_mmod
  - >> uECC_vli_numBits

  uECC_vli_rshift1 (Thumb, 26 bytes, Stack size 0 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_rshift1))
  [Called By]

  - >> uECC_vli_modInv
  - >> uECC_vli_mmod
  - >> double_jacobian_default
  - >> vli_modInv_update

  uECC_vli_set (Thumb, 26 bytes, Stack size 48 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_set))
  [Stack]

  - Max Depth = 48
  - Call Chain = uECC_vli_set
  [Called By]
  - >> uECC_verify
  - >> uECC_vli_modInv
  - >> uECC_vli_mmod
  - >> XYcZ_add
  - >> double_jacobian_default
  - >> vli_mmod_fast_secp256r1

  uECC_vli_square (Thumb, 652 bytes, Stack size 144 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_square))
  [Stack]

  - Max Depth = 144
  - Call Chain = uECC_vli_square
  [Called By]
  - >> uECC_vli_modSquare_fast

  uECC_vli_sub (Thumb, 94 bytes, Stack size 64 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_sub))
  [Stack]

  - Max Depth = 64
  - Call Chain = uECC_vli_sub
  [Called By]
  - >> uECC_verify
  - >> uECC_vli_modInv
  - >> uECC_vli_modSub
  - >> uECC_vli_modAdd
  - >> vli_mmod_fast_secp256r1
  - >> bits2int

  uECC_vli_testBit (Thumb, 18 bytes, Stack size 0 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_testBit))
  [Called By]

  - >> uECC_verify

  RTC2_IRQHandler (Thumb, 106 bytes, Stack size 24 bytes, nrf_bootloader_dfu_timers.o(i.RTC2_IRQHandler))
  [Stack]

  - Max Depth = 48
  - Call Chain = RTC2_IRQHandler ⇒ timer_activate ⇒ nrf_rtc_event_clear
  [Calls]
  - >> timer_stop
  - >> timer_activate
  - >> nrf_rtc_event_clear
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

  SWI2_EGU2_IRQHandler (Thumb, 4 bytes, Stack size 0 bytes, nrf_sdh.o(i.SWI2_EGU2_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = SWI2_EGU2_IRQHandler ⇒ nrf_sdh_evts_poll ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> nrf_sdh_evts_poll
  [Address Reference Count : 1]
  - arm_startup_nrf52.o(RESET)

  SystemInit (Thumb, 848 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)

  WDT_IRQHandler (Thumb, 14 bytes, Stack size 8 bytes, nrf_bootloader_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)

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

  - >> on_error
  [Address Reference Count : 1]
  - nrf_sdh.o(i.nrf_sdh_enable_request)

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

  - >> on_error
  [Called By]
  - >> nrf_bootloader_app_start_final
  - >> nrf_bootloader_init
  - >> ble_evt_handler
  - >> nrf_sdh_soc_evts_poll
  - >> nrf_sdh_ble_evts_poll
  - >> softdevices_evt_irq_enable
  - >> softdevice_evt_irq_disable

  app_sched_event_put (Thumb, 154 bytes, Stack size 40 bytes, app_scheduler.o(i.app_sched_event_put))
  [Stack]

  - Max Depth = 52
  - Call Chain = app_sched_event_put ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  - >> __aeabi_memcpy
  [Called By]
  - >> on_data_obj_execute_request_sched
  - >> nrf_dfu_req_handler_on_req

  app_sched_execute (Thumb, 58 bytes, Stack size 8 bytes, app_scheduler.o(i.app_sched_execute))
  [Stack]

  - Max Depth = 8
  - Call Chain = app_sched_execute
  [Called By]
  - >> nrf_bootloader_init

  app_sched_init (Thumb, 40 bytes, Stack size 12 bytes, app_scheduler.o(i.app_sched_init))
  [Stack]

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

  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]
  - >> app_sched_event_put
  - >> nrf_sdh_enable_request
  - >> nrf_sdh_disable_request
  - >> nrf_balloc_free
  - >> nrf_balloc_alloc

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

  - >> app_sched_event_put
  - >> nrf_sdh_enable_request
  - >> nrf_sdh_disable_request
  - >> nrf_balloc_free
  - >> nrf_balloc_alloc

  ble_dfu_init (Thumb, 182 bytes, Stack size 96 bytes, nrf_dfu_ble.o(i.ble_dfu_init))
  [Stack]

  - Max Depth = 96
  - Call Chain = ble_dfu_init
  [Calls]
  - >> __aeabi_memcpy4
  [Called By]
  - >> ble_dfu_transport_init

  ble_dfu_transport_close (Thumb, 82 bytes, Stack size 24 bytes, nrf_dfu_ble.o(i.ble_dfu_transport_close))
  [Stack]

  - Max Depth = 80
  - Call Chain = ble_dfu_transport_close ⇒ nrf_sdh_disable_request ⇒ sdh_state_observer_notify ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> nrf_sdh_disable_request
  [Address Reference Count : 1]
  - nrf_dfu_ble.o(dfu_trans)

  ble_dfu_transport_init (Thumb, 134 bytes, Stack size 16 bytes, nrf_dfu_ble.o(i.ble_dfu_transport_init))
  [Stack]

  - Max Depth = 112
  - Call Chain = ble_dfu_transport_init ⇒ ble_dfu_init
  [Calls]
  - >> nrf_sdh_enable_request
  - >> nrf_sdh_ble_enable
  - >> nrf_sdh_ble_default_cfg_set
  - >> nrf_sdh_ble_app_ram_start_get
  - >> nrf_dfu_settings_adv_name_is_valid
  - >> nrf_dfu_settings_adv_name_copy
  - >> nrf_dfu_mbr_init_sd
  - >> nrf_balloc_init
  - >> ble_dfu_init
  - >> gap_params_init
  - >> advertising_start
  [Address Reference Count : 1]
  - nrf_dfu_ble.o(dfu_trans)

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

  - >> on_rw_authorize_req

  crc32_compute (Thumb, 54 bytes, Stack size 20 bytes, crc32.o(i.crc32_compute))
  [Stack]

  - Max Depth = 20
  - Call Chain = crc32_compute
  [Called By]
  - >> nrf_dfu_validation_boot_validate
  - >> app_activate
  - >> settings_crc_get
  - >> boot_validation_crc
  - >> nrf_dfu_validation_init_cmd_append
  - >> on_data_obj_write_request
  - >> nrf_dfu_settings_adv_name_is_valid
  - >> postvalidate
  - >> boot_validation_extract
  - >> nrf_dfu_settings_adv_name_write

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

  - nrf_dfu_flash.o(fs_data)

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

  - >> ble_dfu_req_handler_callback

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

  - >> ext_err_code_handle
  - >> ble_dfu_req_handler_callback
  - >> nrf_dfu_req_handler_init

  fw_hash_ok (Thumb, 8 bytes, Stack size 0 bytes, nrf_dfu_validation.o(i.fw_hash_ok))
  [Stack]

  - Max Depth = 304
  - Call Chain = fw_hash_ok ⇒ nrf_dfu_validation_hash_ok ⇒ crypto_init ⇒ nrf_crypto_ecc_public_key_from_raw ⇒ nrf_crypto_backend_micro_ecc_public_key_from_raw ⇒ nrf_crypto_internal_double_swap_endian
  [Calls]
  - >> nrf_dfu_validation_hash_ok
  [Called By]
  - >> postvalidate

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

  - Max Depth = 3352
  - Call Chain = main ⇒ nrf_bootloader_init ⇒ nrf_dfu_init ⇒ nrf_dfu_req_handler_init ⇒ nrf_dfu_validation_init_cmd_execute ⇒ nrf_dfu_validation_prevalidate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_bootloader_mbr_addrs_populate
  - >> nrf_bootloader_init
  - >> nrf_bootloader_flash_protect
  - >> on_error
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  nrf_atfifo_clear (Thumb, 16 bytes, Stack size 8 bytes, nrf_atfifo.o(i.nrf_atfifo_clear))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atfifo_clear
  [Calls]
  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_space_clear
  [Called By]
  - >> uninit

  nrf_atfifo_init (Thumb, 38 bytes, Stack size 8 bytes, nrf_atfifo.o(i.nrf_atfifo_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atfifo_init
  [Called By]
  - >> init

  nrf_atfifo_item_alloc (Thumb, 22 bytes, Stack size 16 bytes, nrf_atfifo.o(i.nrf_atfifo_item_alloc))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_atfifo_item_alloc
  [Calls]
  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_wspace_req
  [Called By]
  - >> write
  - >> erase

  nrf_atfifo_item_free (Thumb, 22 bytes, Stack size 8 bytes, nrf_atfifo.o(i.nrf_atfifo_item_free))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atfifo_item_free
  [Calls]
  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_close
  [Called By]
  - >> queue_free

  nrf_atfifo_item_get (Thumb, 22 bytes, Stack size 16 bytes, nrf_atfifo.o(i.nrf_atfifo_item_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_atfifo_item_get
  [Calls]
  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_rspace_req
  [Called By]
  - >> queue_process

  nrf_atfifo_item_put (Thumb, 22 bytes, Stack size 8 bytes, nrf_atfifo.o(i.nrf_atfifo_item_put))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atfifo_item_put
  [Calls]
  - >> __asm___12_nrf_atfifo_c_51f461e1__nrf_atfifo_wspace_close
  [Called By]
  - >> write
  - >> erase

  nrf_atomic_flag_clear (Thumb, 6 bytes, Stack size 0 bytes, nrf_atomic.o(i.nrf_atomic_flag_clear))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atomic_flag_clear ⇒ nrf_atomic_u32_and
  [Calls]
  - >> nrf_atomic_u32_and
  [Called By]
  - >> write
  - >> uninit
  - >> erase

  nrf_atomic_flag_set_fetch (Thumb, 6 bytes, Stack size 0 bytes, nrf_atomic.o(i.nrf_atomic_flag_set_fetch))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atomic_flag_set_fetch ⇒ nrf_atomic_u32_fetch_or
  [Calls]
  - >> nrf_atomic_u32_fetch_or
  [Called By]
  - >> queue_start
  - >> init
  - >> write
  - >> erase

  nrf_atomic_u32_and (Thumb, 12 bytes, Stack size 8 bytes, nrf_atomic.o(i.nrf_atomic_u32_and))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atomic_u32_and
  [Calls]
  - >> __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_and
  [Called By]
  - >> nrf_atomic_flag_clear

  nrf_atomic_u32_fetch_or (Thumb, 10 bytes, Stack size 8 bytes, nrf_atomic.o(i.nrf_atomic_u32_fetch_or))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_atomic_u32_fetch_or
  [Calls]
  - >> __asm___12_nrf_atomic_c_85ca2469__nrf_atomic_internal_orr
  [Called By]
  - >> nrf_atomic_flag_set_fetch

  nrf_balloc_alloc (Thumb, 68 bytes, Stack size 16 bytes, nrf_balloc.o(i.nrf_balloc_alloc))
  [Stack]

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

  nrf_balloc_free (Thumb, 48 bytes, Stack size 16 bytes, nrf_balloc.o(i.nrf_balloc_free))
  [Stack]

  - Max Depth = 28
  - Call Chain = nrf_balloc_free ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  [Called By]
  - >> on_flash_write
  - >> ble_evt_handler

  nrf_balloc_init (Thumb, 48 bytes, Stack size 8 bytes, nrf_balloc.o(i.nrf_balloc_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_balloc_init
  [Called By]
  - >> ble_dfu_transport_init

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

  - Max Depth = 8
  - Call Chain = nrf_bootloader_app_start
  [Calls]
  - >> nrf_dfu_mbr_irq_forward_address_set
  [Called By]
  - >> nrf_bootloader_init

  nrf_bootloader_app_start_final (Thumb, 88 bytes, Stack size 8 bytes, nrf_bootloader_app_start_final.o(i.nrf_bootloader_app_start_final), UNUSED)
  [Calls]

  - >> nrf_dfu_bank0_start_addr
  - >> nrf_bootloader_flash_protect
  - >> app_error_handler_bare

  nrf_bootloader_dfu_inactivity_timer_restart (Thumb, 34 bytes, Stack size 16 bytes, nrf_bootloader_dfu_timers.o(i.nrf_bootloader_dfu_inactivity_timer_restart))
  [Stack]

  - Max Depth = 56
  - Call Chain = nrf_bootloader_dfu_inactivity_timer_restart ⇒ timer_start ⇒ timer_init ⇒ nrf_rtc_event_clear
  [Calls]
  - >> timer_stop
  - >> timer_start
  [Called By]
  - >> dfu_observer
  - >> nrf_bootloader_init

  nrf_bootloader_flash_protect (Thumb, 96 bytes, Stack size 20 bytes, nrf_bootloader_app_start_final.o(i.nrf_bootloader_flash_protect))
  [Stack]

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

  nrf_bootloader_fw_activate (Thumb, 102 bytes, Stack size 16 bytes, nrf_bootloader_fw_activation.o(i.nrf_bootloader_fw_activate))
  [Stack]

  - Max Depth = 160
  - Call Chain = nrf_bootloader_fw_activate ⇒ sd_activate ⇒ image_copy ⇒ nrf_dfu_settings_write_and_backup ⇒ nrf_dfu_settings_write ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_dfu_settings_write_and_backup
  - >> nrf_dfu_bank_invalidate
  - >> sd_activate
  - >> bl_activate
  - >> app_activate
  [Called By]
  - >> nrf_bootloader_init

  nrf_bootloader_init (Thumb, 170 bytes, Stack size 16 bytes, nrf_bootloader.o(i.nrf_bootloader_init))
  [Stack]

  - Max Depth = 3352
  - Call Chain = nrf_bootloader_init ⇒ nrf_dfu_init ⇒ nrf_dfu_req_handler_init ⇒ nrf_dfu_validation_init_cmd_execute ⇒ nrf_dfu_validation_prevalidate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_init_user
  - >> nrf_dfu_settings_init
  - >> nrf_dfu_settings_backup
  - >> nrf_bootloader_wdt_init
  - >> nrf_bootloader_wdt_feed
  - >> nrf_bootloader_fw_activate
  - >> nrf_bootloader_dfu_inactivity_timer_restart
  - >> nrf_bootloader_app_start
  - >> app_sched_init
  - >> app_sched_execute
  - >> nrf_power_gpregret_get
  - >> dfu_enter_check
  - >> bootloader_reset
  - >> app_error_handler_bare
  - >> nrf_dfu_init
  - >> nrf_dfu_settings_additional_erase
  [Called By]
  - >> main

  nrf_bootloader_mbr_addrs_populate (Thumb, 42 bytes, Stack size 8 bytes, nrf_bootloader_info.o(i.nrf_bootloader_mbr_addrs_populate))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_bootloader_mbr_addrs_populate
  [Calls]
  - >> nrf_nvmc_write_word
  [Called By]
  - >> main

  nrf_bootloader_wdt_feed (Thumb, 20 bytes, Stack size 8 bytes, nrf_bootloader_wdt.o(i.nrf_bootloader_wdt_feed))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_bootloader_wdt_feed ⇒ wdt_feed
  [Calls]
  - >> wdt_feed
  - >> nrf_wdt_started
  [Called By]
  - >> nrf_bootloader_init
  - >> bl_activate

  nrf_bootloader_wdt_feed_timer_start (Thumb, 16 bytes, Stack size 0 bytes, nrf_bootloader_dfu_timers.o(i.nrf_bootloader_wdt_feed_timer_start))
  [Stack]

  - Max Depth = 40
  - Call Chain = nrf_bootloader_wdt_feed_timer_start ⇒ timer_start ⇒ timer_init ⇒ nrf_rtc_event_clear
  [Calls]
  - >> timer_start
  [Called By]
  - >> nrf_bootloader_wdt_init

  nrf_bootloader_wdt_init (Thumb, 60 bytes, Stack size 16 bytes, nrf_bootloader_wdt.o(i.nrf_bootloader_wdt_init))
  [Stack]

  - Max Depth = 56
  - Call Chain = nrf_bootloader_wdt_init ⇒ nrf_bootloader_wdt_feed_timer_start ⇒ timer_start ⇒ timer_init ⇒ nrf_rtc_event_clear
  [Calls]
  - >> wdt_feed
  - >> nrf_wdt_started
  - >> nrf_bootloader_wdt_feed_timer_start
  [Called By]
  - >> nrf_bootloader_init
  - >> image_copy

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

  - >> nrf_crypto_backend_micro_ecc_verify

  nrf_crypto_backend_micro_ecc_public_key_from_raw (Thumb, 16 bytes, Stack size 8 bytes, micro_ecc_backend_ecc.o(i.nrf_crypto_backend_micro_ecc_public_key_from_raw))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_crypto_backend_micro_ecc_public_key_from_raw ⇒ nrf_crypto_internal_double_swap_endian
  [Calls]
  - >> nrf_crypto_internal_double_swap_endian
  [Called By]
  - >> nrf_crypto_ecc_public_key_from_raw

  nrf_crypto_backend_micro_ecc_verify (Thumb, 86 bytes, Stack size 128 bytes, micro_ecc_backend_ecdsa.o(i.nrf_crypto_backend_micro_ecc_verify))
  [Stack]

  - Max Depth = 3088
  - Call Chain = nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_crypto_internal_swap_endian
  - >> nrf_crypto_internal_double_swap_endian
  - >> uECC_verify
  - >> nrf_crypto_backend_micro_ecc_curve_get
  [Called By]
  - >> nrf_crypto_ecdsa_verify

  nrf_crypto_ecc_public_key_from_raw (Thumb, 48 bytes, Stack size 16 bytes, nrf_crypto_ecc.o(i.nrf_crypto_ecc_public_key_from_raw))
  [Stack]

  - Max Depth = 40
  - Call Chain = nrf_crypto_ecc_public_key_from_raw ⇒ nrf_crypto_backend_micro_ecc_public_key_from_raw ⇒ nrf_crypto_internal_double_swap_endian
  [Calls]
  - >> nrf_crypto_backend_micro_ecc_public_key_from_raw
  - >> nrf_crypto_internal_ecc_raw_input_check
  - >> nrf_crypto_internal_ecc_key_output_prepare
  [Called By]
  - >> crypto_init

  nrf_crypto_ecdsa_verify (Thumb, 72 bytes, Stack size 32 bytes, nrf_crypto_ecdsa.o(i.nrf_crypto_ecdsa_verify))
  [Stack]

  - Max Depth = 3120
  - Call Chain = nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_crypto_backend_micro_ecc_verify
  - >> nrf_crypto_internal_ecc_raw_input_check
  - >> nrf_crypto_internal_ecc_key_input_check
  [Called By]
  - >> nrf_dfu_validation_signature_check

  nrf_crypto_hash_calculate (Thumb, 54 bytes, Stack size 24 bytes, nrf_crypto_hash.o(i.nrf_crypto_hash_calculate))
  [Stack]

  - Max Depth = 40
  - Call Chain = nrf_crypto_hash_calculate ⇒ nrf_crypto_hash_update
  [Calls]
  - >> nrf_crypto_hash_update
  - >> nrf_crypto_hash_init
  - >> nrf_crypto_hash_finalize
  [Called By]
  - >> nrf_dfu_validation_signature_check
  - >> nrf_dfu_validation_hash_ok
  - >> boot_validation_extract

  nrf_crypto_hash_finalize (Thumb, 54 bytes, Stack size 16 bytes, nrf_crypto_hash.o(i.nrf_crypto_hash_finalize))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_crypto_hash_finalize
  [Calls]
  - >> verify_context
  [Called By]
  - >> nrf_crypto_hash_calculate

  nrf_crypto_hash_init (Thumb, 38 bytes, Stack size 8 bytes, nrf_crypto_hash.o(i.nrf_crypto_hash_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_crypto_hash_init
  [Called By]
  - >> nrf_crypto_hash_calculate

  nrf_crypto_hash_update (Thumb, 46 bytes, Stack size 16 bytes, nrf_crypto_hash.o(i.nrf_crypto_hash_update))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_crypto_hash_update
  [Calls]
  - >> verify_context
  [Called By]
  - >> nrf_crypto_hash_calculate

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

  - Max Depth = 24
  - Call Chain = nrf_crypto_init
  [Called By]
  - >> crypto_init

  nrf_crypto_internal_double_swap_endian (Thumb, 26 bytes, Stack size 16 bytes, nrf_crypto_shared.o(i.nrf_crypto_internal_double_swap_endian))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_crypto_internal_double_swap_endian
  [Calls]
  - >> nrf_crypto_internal_swap_endian
  [Called By]
  - >> nrf_crypto_backend_micro_ecc_verify
  - >> nrf_crypto_backend_micro_ecc_public_key_from_raw
  - >> crypto_init

  nrf_crypto_internal_double_swap_endian_in_place (Thumb, 22 bytes, Stack size 12 bytes, nrf_crypto_shared.o(i.nrf_crypto_internal_double_swap_endian_in_place))
  [Stack]

  - Max Depth = 12
  - Call Chain = nrf_crypto_internal_double_swap_endian_in_place
  [Calls]
  - >> nrf_crypto_internal_swap_endian_in_place
  [Called By]
  - >> nrf_dfu_validation_signature_check

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

  - >> nrf_crypto_ecdsa_verify

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

  - >> nrf_crypto_ecc_public_key_from_raw

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

  - >> nrf_crypto_ecdsa_verify
  - >> nrf_crypto_ecc_public_key_from_raw

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

  - >> nrf_crypto_internal_double_swap_endian
  - >> nrf_crypto_backend_micro_ecc_verify
  - >> nrf_dfu_validation_hash_ok

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

  - >> nrf_crypto_internal_double_swap_endian_in_place

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

  - >> nrf_bootloader_app_start_final
  - >> dfu_enter_check
  - >> nrf_dfu_bank1_start_addr
  - >> app_activate
  - >> nrf_dfu_cache_prepare

  nrf_dfu_bank1_start_addr (Thumb, 28 bytes, Stack size 4 bytes, nrf_dfu_utils.o(i.nrf_dfu_bank1_start_addr))
  [Stack]

  - Max Depth = 4
  - Call Chain = nrf_dfu_bank1_start_addr
  [Calls]
  - >> nrf_dfu_bank0_start_addr
  [Called By]
  - >> bl_activate
  - >> nrf_dfu_validation_init_cmd_execute
  - >> nrf_dfu_cache_prepare

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

  - >> nrf_bootloader_fw_activate
  - >> postvalidate
  - >> postvalidate_sd_bl
  - >> nrf_dfu_cache_prepare

  nrf_dfu_cache_prepare (Thumb, 140 bytes, Stack size 24 bytes, nrf_dfu_utils.o(i.nrf_dfu_cache_prepare))
  [Stack]

  - Max Depth = 28
  - Call Chain = nrf_dfu_cache_prepare ⇒ nrf_dfu_bank1_start_addr
  [Calls]
  - >> nrf_dfu_bank0_start_addr
  - >> nrf_dfu_bank_invalidate
  - >> nrf_dfu_bank1_start_addr
  [Called By]
  - >> nrf_dfu_validation_init_cmd_execute

  nrf_dfu_flash_erase (Thumb, 12 bytes, Stack size 0 bytes, nrf_dfu_flash.o(i.nrf_dfu_flash_erase))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_dfu_flash_erase ⇒ nrf_fstorage_erase
  [Calls]
  - >> nrf_fstorage_erase
  [Called By]
  - >> image_copy
  - >> settings_write
  - >> on_data_obj_create_request

  nrf_dfu_flash_init (Thumb, 16 bytes, Stack size 0 bytes, nrf_dfu_flash.o(i.nrf_dfu_flash_init))
  [Calls]

  - >> nrf_fstorage_init
  [Called By]
  - >> nrf_dfu_settings_init
  - >> nrf_dfu_req_handler_init

  nrf_dfu_flash_store (Thumb, 18 bytes, Stack size 8 bytes, nrf_dfu_flash.o(i.nrf_dfu_flash_store))
  [Stack]

  - Max Depth = 40
  - Call Chain = nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_fstorage_write
  [Called By]
  - >> image_copy
  - >> settings_write
  - >> on_data_obj_write_request

  nrf_dfu_init (Thumb, 34 bytes, Stack size 8 bytes, nrf_dfu.o(i.nrf_dfu_init))
  [Stack]

  - Max Depth = 3336
  - Call Chain = nrf_dfu_init ⇒ nrf_dfu_req_handler_init ⇒ nrf_dfu_validation_init_cmd_execute ⇒ nrf_dfu_validation_prevalidate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_transports_init
  - >> nrf_dfu_req_handler_init
  - >> dfu_observer
  [Called By]
  - >> nrf_bootloader_init

  nrf_dfu_init_user (Thumb, 4 bytes, Stack size 0 bytes, nrf_bootloader.o(i.nrf_dfu_init_user))
  [Called By]

  - >> nrf_bootloader_init

  nrf_dfu_mbr_copy_bl (Thumb, 22 bytes, Stack size 24 bytes, nrf_dfu_mbr.o(i.nrf_dfu_mbr_copy_bl))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_dfu_mbr_copy_bl
  [Called By]
  - >> bl_activate

  nrf_dfu_mbr_init_sd (Thumb, 18 bytes, Stack size 24 bytes, nrf_dfu_mbr.o(i.nrf_dfu_mbr_init_sd))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_dfu_mbr_init_sd
  [Called By]
  - >> ble_dfu_transport_init

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

  - >> nrf_bootloader_app_start

  nrf_dfu_req_handler_init (Thumb, 62 bytes, Stack size 8 bytes, nrf_dfu_req_handler.o(i.nrf_dfu_req_handler_init))
  [Stack]

  - Max Depth = 3328
  - Call Chain = nrf_dfu_req_handler_init ⇒ nrf_dfu_validation_init_cmd_execute ⇒ nrf_dfu_validation_prevalidate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_validation_init_cmd_present
  - >> nrf_dfu_validation_init_cmd_execute
  - >> nrf_dfu_validation_init
  - >> nrf_dfu_flash_init
  - >> ext_error_set
  [Called By]
  - >> nrf_dfu_init

  nrf_dfu_req_handler_on_req (Thumb, 16 bytes, Stack size 0 bytes, nrf_dfu_req_handler.o(i.nrf_dfu_req_handler_on_req))
  [Stack]

  - Max Depth = 52
  - Call Chain = nrf_dfu_req_handler_on_req ⇒ app_sched_event_put ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_sched_event_put
  [Called By]
  - >> on_ctrl_pt_write
  - >> ble_evt_handler

  nrf_dfu_settings_additional_erase (Thumb, 46 bytes, Stack size 16 bytes, nrf_dfu_settings_svci.o(i.nrf_dfu_settings_additional_erase))
  [Stack]

  - Max Depth = 32
  - Call Chain = nrf_dfu_settings_additional_erase ⇒ nrf_nvmc_write_words
  [Calls]
  - >> nrf_nvmc_write_words
  - >> nrf_nvmc_page_erase
  [Called By]
  - >> nrf_bootloader_init

  nrf_dfu_settings_adv_name_copy (Thumb, 20 bytes, Stack size 8 bytes, nrf_dfu_settings_svci.o(i.nrf_dfu_settings_adv_name_copy))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_dfu_settings_adv_name_copy
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> ble_dfu_transport_init

  nrf_dfu_settings_adv_name_is_valid (Thumb, 28 bytes, Stack size 8 bytes, nrf_dfu_settings_svci.o(i.nrf_dfu_settings_adv_name_is_valid))
  [Stack]

  - Max Depth = 28
  - Call Chain = nrf_dfu_settings_adv_name_is_valid ⇒ crc32_compute
  [Calls]
  - >> crc32_compute
  [Called By]
  - >> ble_dfu_transport_init

  nrf_dfu_settings_adv_name_write (Thumb, 50 bytes, Stack size 16 bytes, nrf_dfu_settings_svci.o(i.nrf_dfu_settings_adv_name_write))
  [Stack]

  - Max Depth = 36
  - Call Chain = nrf_dfu_settings_adv_name_write ⇒ crc32_compute
  [Calls]
  - >> crc32_compute
  [Called By]
  - >> nrf_dfu_set_adv_name_on_call

  nrf_dfu_settings_backup (Thumb, 6 bytes, Stack size 0 bytes, nrf_dfu_settings.o(i.nrf_dfu_settings_backup))
  [Stack]

  - Max Depth = 64
  - Call Chain = nrf_dfu_settings_backup ⇒ settings_backup ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> settings_backup
  [Called By]
  - >> bootloader_reset
  - >> nrf_bootloader_init

  nrf_dfu_settings_init (Thumb, 26 bytes, Stack size 8 bytes, nrf_dfu_settings.o(i.nrf_dfu_settings_init))
  [Stack]

  - Max Depth = 104
  - Call Chain = nrf_dfu_settings_init ⇒ nrf_dfu_settings_write_and_backup ⇒ nrf_dfu_settings_write ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_dfu_settings_reinit
  - >> nrf_dfu_settings_write_and_backup
  - >> nrf_dfu_flash_init
  [Called By]
  - >> nrf_bootloader_init

  nrf_dfu_settings_progress_reset (Thumb, 34 bytes, Stack size 8 bytes, nrf_dfu_settings.o(i.nrf_dfu_settings_progress_reset))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_dfu_settings_progress_reset
  [Calls]
  - >> __aeabi_memclr4
  - >> __aeabi_memset
  [Called By]
  - >> nrf_dfu_validation_init_cmd_execute
  - >> nrf_dfu_validation_init_cmd_create
  - >> postvalidate

  nrf_dfu_settings_reinit (Thumb, 190 bytes, Stack size 32 bytes, nrf_dfu_settings.o(i.nrf_dfu_settings_reinit))
  [Stack]

  - Max Depth = 60
  - Call Chain = nrf_dfu_settings_reinit ⇒ crc_ok ⇒ settings_crc_get ⇒ crc32_compute
  [Calls]
  - >> crc_ok
  - >> boot_validation_crc
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy4
  - >> __aeabi_memcpy
  [Called By]
  - >> nrf_dfu_settings_init
  - >> dfu_observer

  nrf_dfu_settings_write (Thumb, 42 bytes, Stack size 16 bytes, nrf_dfu_settings.o(i.nrf_dfu_settings_write))
  [Stack]

  - Max Depth = 80
  - Call Chain = nrf_dfu_settings_write ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> settings_write
  - >> settings_crc_get
  - >> boot_validation_crc
  [Called By]
  - >> nrf_dfu_settings_write_and_backup

  nrf_dfu_settings_write_and_backup (Thumb, 26 bytes, Stack size 16 bytes, nrf_dfu_settings.o(i.nrf_dfu_settings_write_and_backup))
  [Stack]

  - Max Depth = 96
  - Call Chain = nrf_dfu_settings_write_and_backup ⇒ nrf_dfu_settings_write ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> settings_backup
  - >> nrf_dfu_settings_write
  [Called By]
  - >> nrf_dfu_settings_init
  - >> nrf_bootloader_fw_activate
  - >> sd_activate
  - >> image_copy
  - >> on_data_obj_execute_request_sched
  - >> nrf_dfu_command_req

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

  - >> sd_activate

  nrf_dfu_transports_close (Thumb, 44 bytes, Stack size 24 bytes, nrf_dfu_transport.o(i.nrf_dfu_transports_close))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_dfu_transports_close
  [Called By]
  - >> on_ctrl_pt_write
  - >> dfu_observer

  nrf_dfu_transports_init (Thumb, 42 bytes, Stack size 24 bytes, nrf_dfu_transport.o(i.nrf_dfu_transports_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_dfu_transports_init
  [Called By]
  - >> nrf_dfu_init

  nrf_dfu_validation_activation_prepare (Thumb, 6 bytes, Stack size 0 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_activation_prepare))
  [Stack]

  - Max Depth = 3744
  - Call Chain = nrf_dfu_validation_activation_prepare ⇒ postvalidate ⇒ postvalidate_sd_bl ⇒ boot_validation_extract ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> postvalidate
  [Called By]
  - >> on_data_obj_execute_request_sched

  nrf_dfu_validation_boot_validate (Thumb, 82 bytes, Stack size 16 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_boot_validate))
  [Stack]

  - Max Depth = 3296
  - Call Chain = nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> crc32_compute
  - >> nrf_dfu_validation_signature_check
  - >> nrf_dfu_validation_hash_ok
  [Called By]
  - >> boot_validate
  - >> boot_validation_extract

  nrf_dfu_validation_init (Thumb, 26 bytes, Stack size 8 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_init))
  [Stack]

  - Max Depth = 336
  - Call Chain = nrf_dfu_validation_init ⇒ stored_init_cmd_decode ⇒ pb_decode ⇒ pb_decode_noinit ⇒ decode_field ⇒ decode_static_field ⇒ pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> stored_init_cmd_decode
  [Called By]
  - >> nrf_dfu_req_handler_init

  nrf_dfu_validation_init_cmd_append (Thumb, 66 bytes, Stack size 24 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_init_cmd_append), UNUSED)
  [Calls]

  - >> crc32_compute
  - >> __aeabi_memcpy
  [Called By]
  - >> nrf_dfu_command_req

  nrf_dfu_validation_init_cmd_create (Thumb, 42 bytes, Stack size 16 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_init_cmd_create), UNUSED)
  [Calls]

  - >> nrf_dfu_settings_progress_reset
  [Called By]
  - >> nrf_dfu_command_req

  nrf_dfu_validation_init_cmd_execute (Thumb, 124 bytes, Stack size 24 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_init_cmd_execute))
  [Stack]

  - Max Depth = 3320
  - Call Chain = nrf_dfu_validation_init_cmd_execute ⇒ nrf_dfu_validation_prevalidate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_bank1_start_addr
  - >> nrf_dfu_validation_prevalidate
  - >> update_data_size_get
  - >> stored_init_cmd_decode
  - >> nrf_dfu_cache_prepare
  - >> nrf_dfu_settings_progress_reset
  [Called By]
  - >> nrf_dfu_command_req
  - >> nrf_dfu_req_handler_init

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

  - >> on_data_obj_write_request
  - >> on_data_obj_create_request
  - >> nrf_dfu_req_handler_init

  nrf_dfu_validation_prevalidate (Thumb, 62 bytes, Stack size 16 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_prevalidate))
  [Stack]

  - Max Depth = 3296
  - Call Chain = nrf_dfu_validation_prevalidate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_ver_validation_check
  - >> nrf_dfu_validation_signature_check
  [Called By]
  - >> nrf_dfu_validation_init_cmd_execute

  nrf_dfu_ver_validation_check (Thumb, 122 bytes, Stack size 16 bytes, nrf_dfu_ver_validation.o(i.nrf_dfu_ver_validation_check))
  [Stack]

  - Max Depth = 44
  - Call Chain = nrf_dfu_ver_validation_check ⇒ sd_req_ok ⇒ sd_req_check
  [Calls]
  - >> sd_req_ok
  [Called By]
  - >> nrf_dfu_validation_prevalidate

  nrf_fstorage_erase (Thumb, 44 bytes, Stack size 24 bytes, nrf_fstorage.o(i.nrf_fstorage_erase))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_fstorage_erase
  [Calls]
  - >> addr_is_within_bounds
  [Called By]
  - >> nrf_dfu_flash_erase

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

  - >> nrf_dfu_flash_init

  nrf_fstorage_is_busy (Thumb, 70 bytes, Stack size 24 bytes, nrf_fstorage.o(i.nrf_fstorage_is_busy))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_fstorage_is_busy
  [Called By]
  - >> on_data_obj_execute_request_sched

  nrf_fstorage_sdh_req_handler (Thumb, 18 bytes, Stack size 0 bytes, nrf_fstorage_sd.o(i.nrf_fstorage_sdh_req_handler))
  [Address Reference Count : 1]

  - nrf_fstorage_sd.o(sdh_req_observers0)

  nrf_fstorage_sdh_state_handler (Thumb, 28 bytes, Stack size 0 bytes, nrf_fstorage_sd.o(i.nrf_fstorage_sdh_state_handler))
  [Stack]

  - Max Depth = 96
  - Call Chain = nrf_fstorage_sdh_state_handler ⇒ queue_process ⇒ nrf_fstorage_sys_evt_handler ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_process
  [Address Reference Count : 1]
  - nrf_fstorage_sd.o(sdh_state_observers0)

  nrf_fstorage_sys_evt_handler (Thumb, 150 bytes, Stack size 16 bytes, nrf_fstorage_sd.o(i.nrf_fstorage_sys_evt_handler))
  [Stack]

  - Max Depth = 112 + In Cycle
  - Call Chain = nrf_fstorage_sys_evt_handler ⇒ queue_process (Cycle)
  [Calls]
  - >> nrf_sdh_request_continue
  - >> queue_process
  - >> queue_free
  - >> event_send
  [Called By]
  - >> queue_process
  [Address Reference Count : 1]
  - nrf_fstorage_sd.o(sdh_soc_observers0)

  nrf_fstorage_write (Thumb, 62 bytes, Stack size 32 bytes, nrf_fstorage.o(i.nrf_fstorage_write))
  [Stack]

  - Max Depth = 32
  - Call Chain = nrf_fstorage_write
  [Calls]
  - >> addr_is_within_bounds
  - >> addr_is_aligned32
  [Called By]
  - >> nrf_dfu_flash_store

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

  - >> nrf_dfu_settings_additional_erase
  - >> erase

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

  - >> nrf_bootloader_mbr_addrs_populate

  nrf_nvmc_write_words (Thumb, 58 bytes, Stack size 16 bytes, nrf_nvmc.o(i.nrf_nvmc_write_words))
  [Stack]

  - Max Depth = 16
  - Call Chain = nrf_nvmc_write_words
  [Called By]
  - >> nrf_dfu_settings_additional_erase
  - >> write

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

  - >> nrf_sdh_ble_default_cfg_set
  - >> ble_dfu_transport_init

  nrf_sdh_ble_default_cfg_set (Thumb, 156 bytes, Stack size 32 bytes, nrf_sdh_ble.o(i.nrf_sdh_ble_default_cfg_set))
  [Stack]

  - Max Depth = 32
  - Call Chain = nrf_sdh_ble_default_cfg_set
  [Calls]
  - >> nrf_sdh_ble_app_ram_start_get
  [Called By]
  - >> ble_dfu_transport_init

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

  - >> ble_dfu_transport_init

  nrf_sdh_disable_request (Thumb, 80 bytes, Stack size 24 bytes, nrf_sdh.o(i.nrf_sdh_disable_request))
  [Stack]

  - Max Depth = 56
  - Call Chain = nrf_sdh_disable_request ⇒ sdh_state_observer_notify ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  - >> softdevice_evt_irq_disable
  - >> sdh_state_observer_notify
  - >> sdh_request_observer_notify
  [Called By]
  - >> ble_dfu_transport_close
  - >> nrf_sdh_request_continue

  nrf_sdh_enable_request (Thumb, 102 bytes, Stack size 24 bytes, nrf_sdh.o(i.nrf_sdh_enable_request))
  [Stack]

  - Max Depth = 56
  - Call Chain = nrf_sdh_enable_request ⇒ sdh_state_observer_notify ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> app_util_critical_region_exit
  - >> app_util_critical_region_enter
  - >> softdevices_evt_irq_enable
  - >> sdh_state_observer_notify
  - >> sdh_request_observer_notify
  [Called By]
  - >> ble_dfu_transport_init
  - >> nrf_sdh_request_continue

  nrf_sdh_evts_poll (Thumb, 32 bytes, Stack size 16 bytes, nrf_sdh.o(i.nrf_sdh_evts_poll))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_sdh_evts_poll ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> nrf_section_iter_next
  - >> nrf_section_iter_init
  [Called By]
  - >> SWI2_EGU2_IRQHandler

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

  - >> init

  nrf_sdh_request_continue (Thumb, 22 bytes, Stack size 0 bytes, nrf_sdh.o(i.nrf_sdh_request_continue))
  [Stack]

  - Max Depth = 56
  - Call Chain = nrf_sdh_request_continue ⇒ nrf_sdh_enable_request ⇒ sdh_state_observer_notify ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> nrf_sdh_enable_request
  - >> nrf_sdh_disable_request
  [Called By]
  - >> nrf_fstorage_sys_evt_handler

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

  - >> nrf_sdh_soc_evts_poll
  - >> nrf_sdh_ble_evts_poll
  - >> nrf_sdh_evts_poll
  - >> sdh_state_observer_notify
  - >> sdh_request_observer_notify

  nrf_section_iter_next (Thumb, 32 bytes, Stack size 0 bytes, nrf_section_iter.o(i.nrf_section_iter_next))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> nrf_section_iter_item_set
  [Called By]
  - >> nrf_sdh_soc_evts_poll
  - >> nrf_sdh_ble_evts_poll
  - >> nrf_sdh_evts_poll
  - >> sdh_state_observer_notify
  - >> sdh_request_observer_notify

  nrf_svc_handler_c (Thumb, 84 bytes, Stack size 24 bytes, nrf_svc_handler.o(i.nrf_svc_handler_c))
  [Stack]

  - Max Depth = 24
  - Call Chain = nrf_svc_handler_c
  [Called By]
  - >> SVC_Handler

  pb_decode (Thumb, 30 bytes, Stack size 16 bytes, pb_decode.o(i.pb_decode))
  [Stack]

  - Max Depth = 296
  - Call Chain = pb_decode ⇒ pb_decode_noinit ⇒ decode_field ⇒ decode_static_field ⇒ pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> pb_message_set_to_defaults
  - >> pb_decode_noinit
  [Called By]
  - >> stored_init_cmd_decode
  - >> pb_dec_submessage

  pb_decode_fixed32 (Thumb, 32 bytes, Stack size 16 bytes, pb_decode.o(i.pb_decode_fixed32))
  [Stack]

  - Max Depth = 48
  - Call Chain = pb_decode_fixed32 ⇒ pb_read ⇒ pb_read (Cycle)
  [Calls]
  - >> pb_read
  [Called By]
  - >> pb_dec_fixed32

  pb_decode_fixed64 (Thumb, 92 bytes, Stack size 16 bytes, pb_decode.o(i.pb_decode_fixed64))
  [Stack]

  - Max Depth = 48
  - Call Chain = pb_decode_fixed64 ⇒ pb_read ⇒ pb_read (Cycle)
  [Calls]
  - >> pb_read
  [Called By]
  - >> pb_dec_fixed64

  pb_decode_noinit (Thumb, 390 bytes, Stack size 152 bytes, pb_decode.o(i.pb_decode_noinit))
  [Stack]

  - Max Depth = 280
  - Call Chain = pb_decode_noinit ⇒ decode_field ⇒ decode_static_field ⇒ pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> iter_from_extension
  - >> decode_field
  - >> pb_field_iter_next
  - >> pb_field_iter_find
  - >> pb_field_iter_begin
  - >> pb_skip_field
  - >> pb_decode_tag
  [Called By]
  - >> pb_decode
  - >> pb_dec_submessage

  pb_decode_svarint (Thumb, 58 bytes, Stack size 16 bytes, pb_decode.o(i.pb_decode_svarint))
  [Stack]

  - Max Depth = 56
  - Call Chain = pb_decode_svarint ⇒ pb_decode_varint ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint
  [Called By]
  - >> pb_dec_svarint

  pb_decode_tag (Thumb, 66 bytes, Stack size 24 bytes, pb_decode.o(i.pb_decode_tag))
  [Stack]

  - Max Depth = 56
  - Call Chain = pb_decode_tag ⇒ pb_decode_varint32 ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint32
  [Called By]
  - >> pb_decode_noinit

  pb_decode_varint (Thumb, 74 bytes, Stack size 32 bytes, pb_decode.o(i.pb_decode_varint))
  [Stack]

  - Max Depth = 40
  - Call Chain = pb_decode_varint ⇒ pb_readbyte
  [Calls]
  - >> pb_readbyte
  - >> __aeabi_llsl
  [Called By]
  - >> pb_dec_varint
  - >> pb_dec_uvarint
  - >> pb_decode_svarint

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

  - >> pb_message_set_to_defaults
  - >> iter_from_extension
  - >> pb_field_iter_next
  - >> pb_decode_noinit

  pb_field_iter_find (Thumb, 46 bytes, Stack size 16 bytes, pb_common.o(i.pb_field_iter_find))
  [Stack]

  - Max Depth = 28
  - Call Chain = pb_field_iter_find ⇒ pb_field_iter_next
  [Calls]
  - >> pb_field_iter_next
  [Called By]
  - >> pb_decode_noinit

  pb_field_iter_next (Thumb, 126 bytes, Stack size 12 bytes, pb_common.o(i.pb_field_iter_next))
  [Stack]

  - Max Depth = 12
  - Call Chain = pb_field_iter_next
  [Calls]
  - >> pb_field_iter_begin
  [Called By]
  - >> pb_message_set_to_defaults
  - >> pb_field_iter_find
  - >> pb_decode_noinit

  pb_istream_from_buffer (Thumb, 14 bytes, Stack size 8 bytes, pb_decode.o(i.pb_istream_from_buffer))
  [Stack]

  - Max Depth = 8
  - Call Chain = pb_istream_from_buffer
  [Called By]
  - >> stored_init_cmd_decode
  - >> decode_callback_field

  pb_make_string_substream (Thumb, 54 bytes, Stack size 16 bytes, pb_decode.o(i.pb_make_string_substream))
  [Stack]

  - Max Depth = 48
  - Call Chain = pb_make_string_substream ⇒ pb_decode_varint32 ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint32
  [Called By]
  - >> pb_dec_submessage
  - >> decode_static_field
  - >> decode_callback_field

  pb_read (Thumb, 84 bytes, Stack size 32 bytes, pb_decode.o(i.pb_read))
  [Stack]

  - Max Depth = 32 + In Cycle
  - Call Chain = pb_read ⇒ pb_read (Cycle)
  [Calls]
  - >> pb_read
  [Called By]
  - >> read_raw_value
  - >> pb_dec_string
  - >> pb_dec_bytes
  - >> pb_skip_field
  - >> pb_read
  - >> pb_decode_fixed64
  - >> pb_decode_fixed32

  pb_skip_field (Thumb, 90 bytes, Stack size 16 bytes, pb_decode.o(i.pb_skip_field))
  [Stack]

  - Max Depth = 48
  - Call Chain = pb_skip_field ⇒ pb_decode_varint32 ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint32
  - >> pb_read
  [Called By]
  - >> decode_callback_field
  - >> pb_decode_noinit

  postvalidate (Thumb, 184 bytes, Stack size 112 bytes, nrf_dfu_validation.o(i.postvalidate))
  [Stack]

  - Max Depth = 3744
  - Call Chain = postvalidate ⇒ postvalidate_sd_bl ⇒ boot_validation_extract ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_bank_invalidate
  - >> crc32_compute
  - >> fw_hash_ok
  - >> postvalidate_sd_bl
  - >> boot_validation_extract
  - >> nrf_dfu_settings_progress_reset
  - >> __aeabi_memcpy
  [Called By]
  - >> nrf_dfu_validation_activation_prepare

  settings_backup (Thumb, 12 bytes, Stack size 0 bytes, nrf_dfu_settings.o(i.settings_backup))
  [Stack]

  - Max Depth = 64
  - Call Chain = settings_backup ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> settings_write
  [Called By]
  - >> nrf_dfu_settings_backup
  - >> nrf_dfu_settings_write_and_backup

  sha256_final (Thumb, 272 bytes, Stack size 16 bytes, sha256.o(i.sha256_final))
  [Stack]

  - Max Depth = 340
  - Call Chain = sha256_final ⇒ sha256_transform
  [Calls]
  - >> sha256_transform
  - >> __aeabi_memclr4
  [Called By]
  - >> nrf_sw_backend_hash_sha256_finalize

  sha256_init (Thumb, 50 bytes, Stack size 0 bytes, sha256.o(i.sha256_init))
  [Called By]

  - >> nrf_sw_backend_hash_sha256_init

  sha256_transform (Thumb, 294 bytes, Stack size 324 bytes, sha256.o(i.sha256_transform))
  [Stack]

  - Max Depth = 324
  - Call Chain = sha256_transform
  [Called By]
  - >> sha256_update
  - >> sha256_final

  sha256_update (Thumb, 84 bytes, Stack size 24 bytes, sha256.o(i.sha256_update))
  [Stack]

  - Max Depth = 348
  - Call Chain = sha256_update ⇒ sha256_transform
  [Calls]
  - >> sha256_transform
  [Called By]
  - >> nrf_sw_backend_hash_sha256_update

  ### Local Symbols

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

  - main.o(i.main)

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

  - >> main
  - >> app_error_handler_bare
  - >> app_error_fault_handler

  boot_validate (Thumb, 16 bytes, Stack size 0 bytes, nrf_bootloader.o(i.boot_validate))
  [Stack]

  - Max Depth = 3296
  - Call Chain = boot_validate ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_validation_boot_validate
  [Called By]
  - >> dfu_enter_check

  bootloader_reset (Thumb, 28 bytes, Stack size 8 bytes, nrf_bootloader.o(i.bootloader_reset))
  [Stack]

  - Max Depth = 72
  - Call Chain = bootloader_reset ⇒ nrf_dfu_settings_backup ⇒ settings_backup ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_dfu_settings_backup
  - >> do_reset
  [Called By]
  - >> inactivity_timeout
  - >> dfu_observer
  - >> nrf_bootloader_init

  dfu_enter_check (Thumb, 116 bytes, Stack size 16 bytes, nrf_bootloader.o(i.dfu_enter_check))
  [Stack]

  - Max Depth = 3312
  - Call Chain = dfu_enter_check ⇒ boot_validate ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_bank0_start_addr
  - >> nrf_power_gpregret_get
  - >> boot_validate
  [Called By]
  - >> nrf_bootloader_init

  dfu_observer (Thumb, 62 bytes, Stack size 8 bytes, nrf_bootloader.o(i.dfu_observer))
  [Stack]

  - Max Depth = 80
  - Call Chain = dfu_observer ⇒ bootloader_reset ⇒ nrf_dfu_settings_backup ⇒ settings_backup ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_dfu_settings_reinit
  - >> nrf_bootloader_dfu_inactivity_timer_restart
  - >> bootloader_reset
  [Address Reference Count : 1]
  - nrf_bootloader.o(i.nrf_bootloader_init)

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

  - >> bootloader_reset
  [Address Reference Count : 1]
  - nrf_bootloader.o(i.bootloader_reset)

  flash_write_callback (Thumb, 8 bytes, Stack size 0 bytes, nrf_bootloader.o(i.flash_write_callback))
  [Address Reference Count : 1]

  - nrf_bootloader.o(i.nrf_bootloader_init)

  inactivity_timeout (Thumb, 6 bytes, Stack size 0 bytes, nrf_bootloader.o(i.inactivity_timeout))
  [Stack]

  - Max Depth = 72
  - Call Chain = inactivity_timeout ⇒ bootloader_reset ⇒ nrf_dfu_settings_backup ⇒ settings_backup ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> bootloader_reset
  [Address Reference Count : 2]
  - nrf_bootloader.o(i.dfu_observer)
  - nrf_bootloader.o(i.nrf_bootloader_init)

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

  - >> dfu_enter_check
  - >> nrf_bootloader_init

  nrf_rtc_event_clear (Thumb, 12 bytes, Stack size 8 bytes, nrf_bootloader_dfu_timers.o(i.nrf_rtc_event_clear))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_rtc_event_clear
  [Called By]
  - >> timer_init
  - >> timer_activate
  - >> RTC2_IRQHandler

  timer_activate (Thumb, 86 bytes, Stack size 16 bytes, nrf_bootloader_dfu_timers.o(i.timer_activate))
  [Stack]

  - Max Depth = 24
  - Call Chain = timer_activate ⇒ nrf_rtc_event_clear
  [Calls]
  - >> nrf_rtc_event_clear
  [Called By]
  - >> timer_start
  - >> RTC2_IRQHandler

  timer_init (Thumb, 96 bytes, Stack size 16 bytes, nrf_bootloader_dfu_timers.o(i.timer_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = timer_init ⇒ nrf_rtc_event_clear
  [Calls]
  - >> nrf_rtc_event_clear
  [Called By]
  - >> timer_start

  timer_start (Thumb, 26 bytes, Stack size 16 bytes, nrf_bootloader_dfu_timers.o(i.timer_start))
  [Stack]

  - Max Depth = 40
  - Call Chain = timer_start ⇒ timer_init ⇒ nrf_rtc_event_clear
  [Calls]
  - >> timer_init
  - >> timer_activate
  [Called By]
  - >> nrf_bootloader_dfu_inactivity_timer_restart
  - >> nrf_bootloader_wdt_feed_timer_start

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

  - >> nrf_bootloader_dfu_inactivity_timer_restart
  - >> RTC2_IRQHandler

  app_activate (Thumb, 66 bytes, Stack size 16 bytes, nrf_bootloader_fw_activation.o(i.app_activate))
  [Stack]

  - Max Depth = 144
  - Call Chain = app_activate ⇒ image_copy ⇒ nrf_dfu_settings_write_and_backup ⇒ nrf_dfu_settings_write ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_dfu_bank0_start_addr
  - >> crc32_compute
  - >> image_copy
  [Called By]
  - >> nrf_bootloader_fw_activate

  bl_activate (Thumb, 90 bytes, Stack size 16 bytes, nrf_bootloader_fw_activation.o(i.bl_activate))
  [Stack]

  - Max Depth = 40
  - Call Chain = bl_activate ⇒ nrf_bootloader_wdt_feed ⇒ wdt_feed
  [Calls]
  - >> nrf_bootloader_wdt_feed
  - >> nrf_dfu_mbr_copy_bl
  - >> nrf_dfu_bank1_start_addr
  - >> memcmp
  [Called By]
  - >> nrf_bootloader_fw_activate

  flash_write_callback (Thumb, 8 bytes, Stack size 0 bytes, nrf_bootloader_fw_activation.o(i.flash_write_callback))
  [Address Reference Count : 1]

  - nrf_bootloader_fw_activation.o(i.nrf_bootloader_fw_activate)

  image_copy (Thumb, 140 bytes, Stack size 32 bytes, nrf_bootloader_fw_activation.o(i.image_copy))
  [Stack]

  - Max Depth = 128
  - Call Chain = image_copy ⇒ nrf_dfu_settings_write_and_backup ⇒ nrf_dfu_settings_write ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_bootloader_wdt_init
  - >> nrf_dfu_settings_write_and_backup
  - >> nrf_dfu_flash_store
  - >> nrf_dfu_flash_erase
  [Called By]
  - >> sd_activate
  - >> app_activate

  sd_activate (Thumb, 74 bytes, Stack size 16 bytes, nrf_bootloader_fw_activation.o(i.sd_activate))
  [Stack]

  - Max Depth = 144
  - Call Chain = sd_activate ⇒ image_copy ⇒ nrf_dfu_settings_write_and_backup ⇒ nrf_dfu_settings_write ⇒ settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_dfu_softdevice_start_address
  - >> nrf_dfu_settings_write_and_backup
  - >> image_copy
  [Called By]
  - >> nrf_bootloader_fw_activate

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

  - >> nrf_bootloader_wdt_init
  - >> nrf_bootloader_wdt_feed
  - >> wdt_feed

  wdt_feed (Thumb, 48 bytes, Stack size 16 bytes, nrf_bootloader_wdt.o(i.wdt_feed))
  [Stack]

  - Max Depth = 16
  - Call Chain = wdt_feed
  [Calls]
  - >> nrf_wdt_started
  [Called By]
  - >> nrf_bootloader_wdt_init
  - >> nrf_bootloader_wdt_feed
  - >> wdt_feed_timer_handler

  wdt_feed_timer_handler (Thumb, 4 bytes, Stack size 0 bytes, nrf_bootloader_wdt.o(i.wdt_feed_timer_handler))
  [Stack]

  - Max Depth = 16
  - Call Chain = wdt_feed_timer_handler ⇒ wdt_feed
  [Calls]
  - >> wdt_feed
  [Address Reference Count : 1]
  - nrf_bootloader_wdt.o(i.nrf_bootloader_wdt_init)

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

  - >> nrf_crypto_hash_update
  - >> nrf_crypto_hash_finalize

  nrf_sw_backend_hash_sha256_finalize (Thumb, 36 bytes, Stack size 8 bytes, nrf_sw_backend_hash.o(i.nrf_sw_backend_hash_sha256_finalize))
  [Stack]

  - Max Depth = 348
  - Call Chain = nrf_sw_backend_hash_sha256_finalize ⇒ sha256_final ⇒ sha256_transform
  [Calls]
  - >> sha256_final
  [Address Reference Count : 1]
  - nrf_sw_backend_hash.o(.constdata)

  nrf_sw_backend_hash_sha256_init (Thumb, 6 bytes, Stack size 0 bytes, nrf_sw_backend_hash.o(i.nrf_sw_backend_hash_sha256_init))
  [Calls]

  - >> sha256_init
  [Address Reference Count : 1]
  - nrf_sw_backend_hash.o(.constdata)

  nrf_sw_backend_hash_sha256_update (Thumb, 6 bytes, Stack size 0 bytes, nrf_sw_backend_hash.o(i.nrf_sw_backend_hash_sha256_update))
  [Stack]

  - Max Depth = 348
  - Call Chain = nrf_sw_backend_hash_sha256_update ⇒ sha256_update ⇒ sha256_transform
  [Calls]
  - >> sha256_update
  [Address Reference Count : 1]
  - nrf_sw_backend_hash.o(.constdata)

  dfu_observer (Thumb, 36 bytes, Stack size 8 bytes, nrf_dfu.o(i.dfu_observer))
  [Stack]

  - Max Depth = 32
  - Call Chain = dfu_observer ⇒ nrf_dfu_transports_close
  [Calls]
  - >> nrf_dfu_transports_close
  [Called By]
  - >> nrf_dfu_init
  [Address Reference Count : 1]
  - nrf_dfu.o(i.nrf_dfu_init)

  advertising_init (Thumb, 96 bytes, Stack size 32 bytes, nrf_dfu_ble.o(i.advertising_init))
  [Stack]

  - Max Depth = 32
  - Call Chain = advertising_init
  [Called By]
  - >> advertising_start

  advertising_start (Thumb, 44 bytes, Stack size 32 bytes, nrf_dfu_ble.o(i.advertising_start))
  [Stack]

  - Max Depth = 64
  - Call Chain = advertising_start ⇒ advertising_init
  [Calls]
  - >> advertising_init
  - >> __aeabi_memcpy4
  [Called By]
  - >> ble_dfu_transport_init
  - >> ble_evt_handler

  ble_dfu_req_handler_callback (Thumb, 180 bytes, Stack size 40 bytes, nrf_dfu_ble.o(i.ble_dfu_req_handler_callback))
  [Stack]

  - Max Depth = 72
  - Call Chain = ble_dfu_req_handler_callback ⇒ response_send
  [Calls]
  - >> ext_error_set
  - >> ext_error_get
  - >> uint32_encode
  - >> response_send
  - >> response_crc_add
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - nrf_dfu_ble.o(.constdata)

  ble_evt_handler (Thumb, 456 bytes, Stack size 40 bytes, nrf_dfu_ble.o(i.ble_evt_handler))
  [Stack]

  - Max Depth = 132
  - Call Chain = ble_evt_handler ⇒ on_ctrl_pt_write ⇒ nrf_dfu_req_handler_on_req ⇒ app_sched_event_put ⇒ app_util_critical_region_enter
  [Calls]
  - >> app_error_handler_bare
  - >> nrf_dfu_req_handler_on_req
  - >> nrf_balloc_free
  - >> nrf_balloc_alloc
  - >> on_rw_authorize_req
  - >> on_ctrl_pt_write
  - >> advertising_start
  - >> __aeabi_memcpy4
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - nrf_dfu_ble.o(sdh_ble_observers2)

  gap_params_init (Thumb, 84 bytes, Stack size 16 bytes, nrf_dfu_ble.o(i.gap_params_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = gap_params_init
  [Called By]
  - >> ble_dfu_transport_init

  on_ctrl_pt_write (Thumb, 98 bytes, Stack size 40 bytes, nrf_dfu_ble.o(i.on_ctrl_pt_write))
  [Stack]

  - Max Depth = 92
  - Call Chain = on_ctrl_pt_write ⇒ nrf_dfu_req_handler_on_req ⇒ app_sched_event_put ⇒ app_util_critical_region_enter
  [Calls]
  - >> nrf_dfu_req_handler_on_req
  - >> nrf_dfu_transports_close
  - >> __aeabi_memcpy4
  [Called By]
  - >> ble_evt_handler

  on_flash_write (Thumb, 8 bytes, Stack size 0 bytes, nrf_dfu_ble.o(i.on_flash_write))
  [Stack]

  - Max Depth = 28
  - Call Chain = on_flash_write ⇒ nrf_balloc_free ⇒ app_util_critical_region_enter
  [Calls]
  - >> nrf_balloc_free
  [Address Reference Count : 1]
  - nrf_dfu_ble.o(.constdata)

  on_rw_authorize_req (Thumb, 128 bytes, Stack size 40 bytes, nrf_dfu_ble.o(i.on_rw_authorize_req))
  [Stack]

  - Max Depth = 40
  - Call Chain = on_rw_authorize_req
  [Calls]
  - >> ble_srv_is_notification_enabled
  [Called By]
  - >> ble_evt_handler

  response_crc_add (Thumb, 32 bytes, Stack size 16 bytes, nrf_dfu_ble.o(i.response_crc_add))
  [Stack]

  - Max Depth = 16
  - Call Chain = response_crc_add
  [Calls]
  - >> uint32_encode
  [Called By]
  - >> ble_dfu_req_handler_callback

  response_send (Thumb, 40 bytes, Stack size 32 bytes, nrf_dfu_ble.o(i.response_send))
  [Stack]

  - Max Depth = 32
  - Call Chain = response_send
  [Called By]
  - >> ble_dfu_req_handler_callback

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

  - >> response_crc_add
  - >> ble_dfu_req_handler_callback

  cmd_response_offset_and_crc_set (Thumb, 12 bytes, Stack size 0 bytes, nrf_dfu_req_handler.o(i.cmd_response_offset_and_crc_set), UNUSED)
  [Called By]

  - >> nrf_dfu_command_req

  ext_err_code_handle (Thumb, 14 bytes, Stack size 0 bytes, nrf_dfu_req_handler.o(i.ext_err_code_handle))
  [Calls]

  - >> ext_error_set
  [Called By]
  - >> on_data_obj_execute_request_sched
  - >> nrf_dfu_command_req

  nrf_dfu_command_req (Thumb, 142 bytes, Stack size 16 bytes, nrf_dfu_req_handler.o(i.nrf_dfu_command_req), UNUSED)
  [Calls]

  - >> nrf_dfu_settings_write_and_backup
  - >> nrf_dfu_validation_init_cmd_execute
  - >> nrf_dfu_validation_init_cmd_create
  - >> nrf_dfu_validation_init_cmd_append
  - >> ext_err_code_handle
  - >> cmd_response_offset_and_crc_set
  [Called By]
  - >> nrf_dfu_req_handler_req_process

  nrf_dfu_data_req (Thumb, 108 bytes, Stack size 16 bytes, nrf_dfu_req_handler.o(i.nrf_dfu_data_req), UNUSED)
  [Calls]

  - >> on_data_obj_write_request
  - >> on_data_obj_execute_request_sched
  - >> on_data_obj_create_request
  [Called By]
  - >> nrf_dfu_req_handler_req_process

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

  - nrf_dfu_req_handler.o(i.nrf_dfu_req_handler_on_req)

  nrf_dfu_req_handler_req_process (Thumb, 136 bytes, Stack size 40 bytes, nrf_dfu_req_handler.o(i.nrf_dfu_req_handler_req_process), UNUSED)
  [Calls]

  - >> nrf_dfu_data_req
  - >> nrf_dfu_command_req
  - >> __aeabi_memcpy4

  on_data_obj_create_request (Thumb, 108 bytes, Stack size 24 bytes, nrf_dfu_req_handler.o(i.on_data_obj_create_request), UNUSED)
  [Calls]

  - >> nrf_dfu_flash_erase
  - >> nrf_dfu_validation_init_cmd_present
  [Called By]
  - >> nrf_dfu_data_req

  on_data_obj_execute_request_sched (Thumb, 100 bytes, Stack size 32 bytes, nrf_dfu_req_handler.o(i.on_data_obj_execute_request_sched))
  [Stack]

  - Max Depth = 3776
  - Call Chain = on_data_obj_execute_request_sched ⇒ nrf_dfu_validation_activation_prepare ⇒ postvalidate ⇒ postvalidate_sd_bl ⇒ boot_validation_extract ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_settings_write_and_backup
  - >> nrf_fstorage_is_busy
  - >> nrf_dfu_validation_activation_prepare
  - >> app_sched_event_put
  - >> ext_err_code_handle
  - >> __aeabi_memcpy4
  [Called By]
  - >> nrf_dfu_data_req
  [Address Reference Count : 1]
  - nrf_dfu_req_handler.o(i.on_data_obj_execute_request_sched)

  on_data_obj_write_request (Thumb, 118 bytes, Stack size 24 bytes, nrf_dfu_req_handler.o(i.on_data_obj_write_request), UNUSED)
  [Calls]

  - >> nrf_dfu_flash_store
  - >> crc32_compute
  - >> nrf_dfu_validation_init_cmd_present
  [Called By]
  - >> nrf_dfu_data_req

  on_dfu_complete (Thumb, 8 bytes, Stack size 0 bytes, nrf_dfu_req_handler.o(i.on_dfu_complete))
  [Address Reference Count : 1]

  - nrf_dfu_req_handler.o(i.on_data_obj_execute_request_sched)

  boot_validation_crc (Thumb, 12 bytes, Stack size 0 bytes, nrf_dfu_settings.o(i.boot_validation_crc))
  [Stack]

  - Max Depth = 20
  - Call Chain = boot_validation_crc ⇒ crc32_compute
  [Calls]
  - >> crc32_compute
  [Called By]
  - >> nrf_dfu_settings_reinit
  - >> nrf_dfu_settings_write

  crc_ok (Thumb, 30 bytes, Stack size 8 bytes, nrf_dfu_settings.o(i.crc_ok))
  [Stack]

  - Max Depth = 28
  - Call Chain = crc_ok ⇒ settings_crc_get ⇒ crc32_compute
  [Calls]
  - >> settings_crc_get
  [Called By]
  - >> nrf_dfu_settings_reinit

  settings_crc_get (Thumb, 10 bytes, Stack size 0 bytes, nrf_dfu_settings.o(i.settings_crc_get))
  [Stack]

  - Max Depth = 20
  - Call Chain = settings_crc_get ⇒ crc32_compute
  [Calls]
  - >> crc32_compute
  [Called By]
  - >> crc_ok
  - >> nrf_dfu_settings_write

  settings_write (Thumb, 80 bytes, Stack size 24 bytes, nrf_dfu_settings.o(i.settings_write))
  [Stack]

  - Max Depth = 64
  - Call Chain = settings_write ⇒ nrf_dfu_flash_store ⇒ nrf_fstorage_write
  [Calls]
  - >> nrf_dfu_flash_store
  - >> nrf_dfu_flash_erase
  - >> memcmp
  - >> __aeabi_memcpy
  [Called By]
  - >> settings_backup
  - >> nrf_dfu_settings_write

  boot_validation_extract (Thumb, 146 bytes, Stack size 160 bytes, nrf_dfu_validation.o(i.boot_validation_extract))
  [Stack]

  - Max Depth = 3456
  - Call Chain = boot_validation_extract ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_validation_boot_validate
  - >> nrf_crypto_hash_calculate
  - >> crc32_compute
  - >> __aeabi_memclr4
  - >> __aeabi_memclr
  - >> __aeabi_memcpy
  [Called By]
  - >> postvalidate
  - >> postvalidate_sd_bl

  crypto_init (Thumb, 46 bytes, Stack size 72 bytes, nrf_dfu_validation.o(i.crypto_init))
  [Stack]

  - Max Depth = 112
  - Call Chain = crypto_init ⇒ nrf_crypto_ecc_public_key_from_raw ⇒ nrf_crypto_backend_micro_ecc_public_key_from_raw ⇒ nrf_crypto_internal_double_swap_endian
  [Calls]
  - >> nrf_crypto_internal_double_swap_endian
  - >> nrf_crypto_init
  - >> nrf_crypto_ecc_public_key_from_raw
  [Called By]
  - >> nrf_dfu_validation_signature_check
  - >> nrf_dfu_validation_hash_ok

  is_major_softdevice_update (Thumb, 88 bytes, Stack size 8 bytes, nrf_dfu_validation.o(i.is_major_softdevice_update))
  [Stack]

  - Max Depth = 8
  - Call Chain = is_major_softdevice_update
  [Called By]
  - >> postvalidate_sd_bl

  nrf_dfu_validation_hash_ok (Thumb, 90 bytes, Stack size 192 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_hash_ok))
  [Stack]

  - Max Depth = 304
  - Call Chain = nrf_dfu_validation_hash_ok ⇒ crypto_init ⇒ nrf_crypto_ecc_public_key_from_raw ⇒ nrf_crypto_backend_micro_ecc_public_key_from_raw ⇒ nrf_crypto_internal_double_swap_endian
  [Calls]
  - >> nrf_crypto_internal_swap_endian
  - >> nrf_crypto_hash_calculate
  - >> crypto_init
  - >> memcmp
  - >> __aeabi_memclr4
  [Called By]
  - >> nrf_dfu_validation_boot_validate
  - >> fw_hash_ok

  nrf_dfu_validation_signature_check (Thumb, 140 bytes, Stack size 160 bytes, nrf_dfu_validation.o(i.nrf_dfu_validation_signature_check))
  [Stack]

  - Max Depth = 3280
  - Call Chain = nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_crypto_internal_double_swap_endian_in_place
  - >> nrf_crypto_hash_calculate
  - >> nrf_crypto_ecdsa_verify
  - >> crypto_init
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy
  [Called By]
  - >> nrf_dfu_validation_boot_validate
  - >> nrf_dfu_validation_prevalidate

  pb_decoding_callback (Thumb, 52 bytes, Stack size 8 bytes, nrf_dfu_validation.o(i.pb_decoding_callback))
  [Stack]

  - Max Depth = 8
  - Call Chain = pb_decoding_callback
  [Address Reference Count : 1]
  - nrf_dfu_validation.o(i.stored_init_cmd_decode)

  postvalidate_sd_bl (Thumb, 272 bytes, Stack size 176 bytes, nrf_dfu_validation.o(i.postvalidate_sd_bl))
  [Stack]

  - Max Depth = 3632
  - Call Chain = postvalidate_sd_bl ⇒ boot_validation_extract ⇒ nrf_dfu_validation_boot_validate ⇒ nrf_dfu_validation_signature_check ⇒ nrf_crypto_ecdsa_verify ⇒ nrf_crypto_backend_micro_ecc_verify ⇒ uECC_verify ⇒ uECC_vli_modMult ⇒ uECC_vli_mmod ⇒ uECC_vli_set
  [Calls]
  - >> nrf_dfu_bank_invalidate
  - >> is_major_softdevice_update
  - >> boot_validation_extract
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy4
  - >> __aeabi_memcpy
  [Called By]
  - >> postvalidate

  stored_init_cmd_decode (Thumb, 172 bytes, Stack size 32 bytes, nrf_dfu_validation.o(i.stored_init_cmd_decode))
  [Stack]

  - Max Depth = 328
  - Call Chain = stored_init_cmd_decode ⇒ pb_decode ⇒ pb_decode_noinit ⇒ decode_field ⇒ decode_static_field ⇒ pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> pb_istream_from_buffer
  - >> pb_decode
  - >> __aeabi_memclr4
  [Called By]
  - >> nrf_dfu_validation_init_cmd_execute
  - >> nrf_dfu_validation_init

  update_data_size_get (Thumb, 84 bytes, Stack size 12 bytes, nrf_dfu_validation.o(i.update_data_size_get))
  [Stack]

  - Max Depth = 12
  - Call Chain = update_data_size_get
  [Called By]
  - >> nrf_dfu_validation_init_cmd_execute

  sd_req_check (Thumb, 64 bytes, Stack size 20 bytes, nrf_dfu_ver_validation.o(i.sd_req_check))
  [Stack]

  - Max Depth = 20
  - Call Chain = sd_req_check
  [Called By]
  - >> sd_req_ok

  sd_req_ok (Thumb, 100 bytes, Stack size 8 bytes, nrf_dfu_ver_validation.o(i.sd_req_ok))
  [Stack]

  - Max Depth = 28
  - Call Chain = sd_req_ok ⇒ sd_req_check
  [Calls]
  - >> sd_req_check
  [Called By]
  - >> nrf_dfu_ver_validation_check

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

  - >> nrf_fstorage_write

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

  - >> nrf_fstorage_write
  - >> nrf_fstorage_erase

  erase (Thumb, 68 bytes, Stack size 32 bytes, nrf_fstorage_nvmc.o(i.erase))
  [Stack]

  - Max Depth = 88
  - Call Chain = erase ⇒ event_send
  [Calls]
  - >> nrf_nvmc_page_erase
  - >> event_send
  - >> nrf_atomic_flag_set_fetch
  - >> nrf_atomic_flag_clear
  [Address Reference Count : 1]
  - nrf_fstorage_nvmc.o(.constdata)

  event_send (Thumb, 54 bytes, Stack size 56 bytes, nrf_fstorage_nvmc.o(i.event_send))
  [Stack]

  - Max Depth = 56
  - Call Chain = event_send
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> write
  - >> erase

  init (Thumb, 8 bytes, Stack size 0 bytes, nrf_fstorage_nvmc.o(i.init))
  [Address Reference Count : 1]

  - nrf_fstorage_nvmc.o(.constdata)

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

  - nrf_fstorage_nvmc.o(.constdata)

  read (Thumb, 14 bytes, Stack size 8 bytes, nrf_fstorage_nvmc.o(i.read))
  [Stack]

  - Max Depth = 8
  - Call Chain = read
  [Calls]
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - nrf_fstorage_nvmc.o(.constdata)

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

  - nrf_fstorage_nvmc.o(.constdata)

  uninit (Thumb, 12 bytes, Stack size 8 bytes, nrf_fstorage_nvmc.o(i.uninit))
  [Stack]

  - Max Depth = 16
  - Call Chain = uninit ⇒ nrf_atomic_flag_clear ⇒ nrf_atomic_u32_and
  [Calls]
  - >> nrf_atomic_flag_clear
  [Address Reference Count : 1]
  - nrf_fstorage_nvmc.o(.constdata)

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

  - nrf_fstorage_nvmc.o(.constdata)

  write (Thumb, 64 bytes, Stack size 32 bytes, nrf_fstorage_nvmc.o(i.write))
  [Stack]

  - Max Depth = 88
  - Call Chain = write ⇒ event_send
  [Calls]
  - >> nrf_nvmc_write_words
  - >> event_send
  - >> nrf_atomic_flag_set_fetch
  - >> nrf_atomic_flag_clear
  [Address Reference Count : 1]
  - nrf_fstorage_nvmc.o(.constdata)

  erase (Thumb, 72 bytes, Stack size 32 bytes, nrf_fstorage_sd.o(i.erase))
  [Stack]

  - Max Depth = 136
  - Call Chain = erase ⇒ queue_start ⇒ queue_process ⇒ nrf_fstorage_sys_evt_handler ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_start
  - >> nrf_atfifo_item_put
  - >> nrf_atfifo_item_alloc
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - nrf_fstorage_sd.o(.constdata)

  event_send (Thumb, 84 bytes, Stack size 40 bytes, nrf_fstorage_sd.o(i.event_send))
  [Stack]

  - Max Depth = 40
  - Call Chain = event_send
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> nrf_fstorage_sys_evt_handler
  - >> queue_process

  init (Thumb, 46 bytes, Stack size 8 bytes, nrf_fstorage_sd.o(i.init))
  [Stack]

  - Max Depth = 16
  - Call Chain = init ⇒ nrf_atomic_flag_set_fetch ⇒ nrf_atomic_u32_fetch_or
  [Calls]
  - >> nrf_sdh_is_enabled
  - >> nrf_atomic_flag_set_fetch
  - >> nrf_atfifo_init
  [Address Reference Count : 1]
  - nrf_fstorage_sd.o(.constdata)

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

  - nrf_fstorage_sd.o(.constdata)

  queue_free (Thumb, 10 bytes, Stack size 0 bytes, nrf_fstorage_sd.o(i.queue_free))
  [Stack]

  - Max Depth = 8
  - Call Chain = queue_free ⇒ nrf_atfifo_item_free
  [Calls]
  - >> nrf_atfifo_item_free
  [Called By]
  - >> nrf_fstorage_sys_evt_handler
  - >> queue_process

  queue_process (Thumb, 142 bytes, Stack size 24 bytes, nrf_fstorage_sd.o(i.queue_process))
  [Stack]

  - Max Depth = 96
  - Call Chain = queue_process ⇒ nrf_fstorage_sys_evt_handler ⇒ queue_process (Cycle)
  [Calls]
  - >> nrf_fstorage_sys_evt_handler
  - >> queue_free
  - >> event_send
  - >> nrf_atfifo_item_get
  [Called By]
  - >> nrf_fstorage_sys_evt_handler
  - >> nrf_fstorage_sdh_state_handler
  - >> queue_start

  queue_start (Thumb, 30 bytes, Stack size 8 bytes, nrf_fstorage_sd.o(i.queue_start))
  [Stack]

  - Max Depth = 104
  - Call Chain = queue_start ⇒ queue_process ⇒ nrf_fstorage_sys_evt_handler ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_process
  - >> nrf_atomic_flag_set_fetch
  [Called By]
  - >> write
  - >> erase

  read (Thumb, 14 bytes, Stack size 8 bytes, nrf_fstorage_sd.o(i.read))
  [Stack]

  - Max Depth = 8
  - Call Chain = read
  [Calls]
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - nrf_fstorage_sd.o(.constdata)

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

  - nrf_fstorage_sd.o(.constdata)

  uninit (Thumb, 22 bytes, Stack size 8 bytes, nrf_fstorage_sd.o(i.uninit))
  [Stack]

  - Max Depth = 16
  - Call Chain = uninit ⇒ nrf_atfifo_clear
  [Calls]
  - >> nrf_atfifo_clear
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - nrf_fstorage_sd.o(.constdata)

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

  - nrf_fstorage_sd.o(.constdata)

  write (Thumb, 74 bytes, Stack size 40 bytes, nrf_fstorage_sd.o(i.write))
  [Stack]

  - Max Depth = 144
  - Call Chain = write ⇒ queue_start ⇒ queue_process ⇒ nrf_fstorage_sys_evt_handler ⇒ queue_process (Cycle)
  [Calls]
  - >> queue_start
  - >> nrf_atfifo_item_put
  - >> nrf_atfifo_item_alloc
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - nrf_fstorage_sd.o(.constdata)

  nrf_section_iter_item_set (Thumb, 36 bytes, Stack size 8 bytes, nrf_section_iter.o(i.nrf_section_iter_item_set))
  [Stack]

  - Max Depth = 8
  - Call Chain = nrf_section_iter_item_set
  [Called By]
  - >> nrf_section_iter_next

  nrf_dfu_set_adv_name_handler (Thumb, 22 bytes, Stack size 0 bytes, nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_handler))
  [Address Reference Count : 1]

  - nrf_dfu_svci_handler.o(svc_data)

  nrf_dfu_set_adv_name_on_call (Thumb, 56 bytes, Stack size 8 bytes, nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_on_call))
  [Stack]

  - Max Depth = 44
  - Call Chain = nrf_dfu_set_adv_name_on_call ⇒ nrf_dfu_settings_adv_name_write ⇒ crc32_compute
  [Calls]
  - >> nrf_dfu_settings_adv_name_write
  [Address Reference Count : 1]
  - nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_handler)

  nrf_dfu_set_adv_name_on_sys_evt (Thumb, 36 bytes, Stack size 0 bytes, nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_on_sys_evt))
  [Address Reference Count : 1]

  - nrf_dfu_svci_handler.o(i.nrf_dfu_set_adv_name_handler)

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

  - >> softdevices_evt_irq_enable
  - >> softdevice_evt_irq_disable

  sdh_request_observer_notify (Thumb, 44 bytes, Stack size 24 bytes, nrf_sdh.o(i.sdh_request_observer_notify))
  [Stack]

  - Max Depth = 32
  - Call Chain = sdh_request_observer_notify ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> nrf_section_iter_next
  - >> nrf_section_iter_init
  [Called By]
  - >> nrf_sdh_enable_request
  - >> nrf_sdh_disable_request

  sdh_state_observer_notify (Thumb, 38 bytes, Stack size 24 bytes, nrf_sdh.o(i.sdh_state_observer_notify))
  [Stack]

  - Max Depth = 32
  - Call Chain = sdh_state_observer_notify ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> nrf_section_iter_next
  - >> nrf_section_iter_init
  [Called By]
  - >> nrf_sdh_enable_request
  - >> nrf_sdh_disable_request

  softdevice_evt_irq_disable (Thumb, 60 bytes, Stack size 8 bytes, nrf_sdh.o(i.softdevice_evt_irq_disable))
  [Stack]

  - Max Depth = 8
  - Call Chain = softdevice_evt_irq_disable
  [Calls]
  - >> app_error_handler_bare
  - >> __sd_nvic_app_accessible_irq
  [Called By]
  - >> nrf_sdh_disable_request

  softdevices_evt_irq_enable (Thumb, 80 bytes, Stack size 8 bytes, nrf_sdh.o(i.softdevices_evt_irq_enable))
  [Stack]

  - Max Depth = 8
  - Call Chain = softdevices_evt_irq_enable
  [Calls]
  - >> app_error_handler_bare
  - >> __sd_nvic_app_accessible_irq
  [Called By]
  - >> nrf_sdh_enable_request

  nrf_sdh_ble_evts_poll (Thumb, 88 bytes, Stack size 528 bytes, nrf_sdh_ble.o(i.nrf_sdh_ble_evts_poll))
  [Stack]

  - Max Depth = 536
  - Call Chain = nrf_sdh_ble_evts_poll ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> app_error_handler_bare
  - >> nrf_section_iter_next
  - >> nrf_section_iter_init
  [Address Reference Count : 1]
  - nrf_sdh_ble.o(sdh_stack_observers0)

  nrf_sdh_soc_evts_poll (Thumb, 56 bytes, Stack size 24 bytes, nrf_sdh_soc.o(i.nrf_sdh_soc_evts_poll))
  [Stack]

  - Max Depth = 32
  - Call Chain = nrf_sdh_soc_evts_poll ⇒ nrf_section_iter_next ⇒ nrf_section_iter_item_set
  [Calls]
  - >> app_error_handler_bare
  - >> nrf_section_iter_next
  - >> nrf_section_iter_init
  [Address Reference Count : 1]
  - nrf_sdh_soc.o(sdh_stack_observers0)

  buf_read (Thumb, 28 bytes, Stack size 8 bytes, pb_decode.o(i.buf_read))
  [Stack]

  - Max Depth = 8
  - Call Chain = buf_read
  [Address Reference Count : 2]
  - pb_decode.o(i.pb_istream_from_buffer)
  - pb_decode.o(i.pb_read)

  decode_callback_field (Thumb, 126 bytes, Stack size 72 bytes, pb_decode.o(i.decode_callback_field))
  [Stack]

  - Max Depth = 128
  - Call Chain = decode_callback_field ⇒ read_raw_value ⇒ pb_read ⇒ pb_read (Cycle)
  [Calls]
  - >> pb_istream_from_buffer
  - >> read_raw_value
  - >> pb_skip_field
  - >> pb_make_string_substream
  [Called By]
  - >> decode_field

  decode_field (Thumb, 26 bytes, Stack size 0 bytes, pb_decode.o(i.decode_field))
  [Stack]

  - Max Depth = 128
  - Call Chain = decode_field ⇒ decode_static_field ⇒ pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> decode_static_field
  - >> decode_callback_field
  [Called By]
  - >> pb_decode_noinit

  decode_static_field (Thumb, 220 bytes, Stack size 40 bytes, pb_decode.o(i.decode_static_field))
  [Stack]

  - Max Depth = 128
  - Call Chain = decode_static_field ⇒ pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> pb_message_set_to_defaults
  - >> __aeabi_memclr
  - >> pb_make_string_substream
  [Called By]
  - >> decode_field

  iter_from_extension (Thumb, 46 bytes, Stack size 16 bytes, pb_decode.o(i.iter_from_extension))
  [Stack]

  - Max Depth = 16
  - Call Chain = iter_from_extension
  [Calls]
  - >> pb_field_iter_begin
  [Called By]
  - >> pb_field_set_to_default
  - >> pb_decode_noinit

  pb_dec_bytes (Thumb, 66 bytes, Stack size 24 bytes, pb_decode.o(i.pb_dec_bytes))
  [Stack]

  - Max Depth = 56
  - Call Chain = pb_dec_bytes ⇒ pb_decode_varint32 ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint32
  - >> pb_read
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_dec_fixed32 (Thumb, 6 bytes, Stack size 0 bytes, pb_decode.o(i.pb_dec_fixed32))
  [Stack]

  - Max Depth = 48
  - Call Chain = pb_dec_fixed32 ⇒ pb_decode_fixed32 ⇒ pb_read ⇒ pb_read (Cycle)
  [Calls]
  - >> pb_decode_fixed32
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_dec_fixed64 (Thumb, 6 bytes, Stack size 0 bytes, pb_decode.o(i.pb_dec_fixed64))
  [Stack]

  - Max Depth = 48
  - Call Chain = pb_dec_fixed64 ⇒ pb_decode_fixed64 ⇒ pb_read ⇒ pb_read (Cycle)
  [Calls]
  - >> pb_decode_fixed64
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_dec_string (Thumb, 62 bytes, Stack size 24 bytes, pb_decode.o(i.pb_dec_string))
  [Stack]

  - Max Depth = 56
  - Call Chain = pb_dec_string ⇒ pb_decode_varint32 ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint32
  - >> pb_read
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_dec_submessage (Thumb, 64 bytes, Stack size 40 bytes, pb_decode.o(i.pb_dec_submessage))
  [Stack]

  - Max Depth = 336
  - Call Chain = pb_dec_submessage ⇒ pb_decode ⇒ pb_decode_noinit ⇒ decode_field ⇒ decode_static_field ⇒ pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> pb_decode
  - >> pb_make_string_substream
  - >> pb_decode_noinit
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_dec_svarint (Thumb, 88 bytes, Stack size 24 bytes, pb_decode.o(i.pb_dec_svarint))
  [Stack]

  - Max Depth = 80
  - Call Chain = pb_dec_svarint ⇒ pb_decode_svarint ⇒ pb_decode_varint ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_svarint
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_dec_uvarint (Thumb, 88 bytes, Stack size 24 bytes, pb_decode.o(i.pb_dec_uvarint))
  [Stack]

  - Max Depth = 64
  - Call Chain = pb_dec_uvarint ⇒ pb_decode_varint ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_dec_varint (Thumb, 90 bytes, Stack size 24 bytes, pb_decode.o(i.pb_dec_varint))
  [Stack]

  - Max Depth = 64
  - Call Chain = pb_dec_varint ⇒ pb_decode_varint ⇒ pb_readbyte
  [Calls]
  - >> pb_decode_varint
  [Address Reference Count : 1]
  - pb_decode.o(.constdata)

  pb_decode_varint32 (Thumb, 76 bytes, Stack size 24 bytes, pb_decode.o(i.pb_decode_varint32))
  [Stack]

  - Max Depth = 32
  - Call Chain = pb_decode_varint32 ⇒ pb_readbyte
  [Calls]
  - >> pb_readbyte
  [Called By]
  - >> pb_dec_string
  - >> pb_dec_bytes
  - >> pb_skip_field
  - >> pb_make_string_substream
  - >> pb_decode_tag

  pb_field_set_to_default (Thumb, 164 bytes, Stack size 40 bytes, pb_decode.o(i.pb_field_set_to_default))
  [Stack]

  - Max Depth = 56 + In Cycle
  - Call Chain = pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> pb_message_set_to_defaults
  - >> pb_field_set_to_default
  - >> iter_from_extension
  - >> __aeabi_memclr
  - >> __aeabi_memcpy
  [Called By]
  - >> pb_message_set_to_defaults
  - >> pb_field_set_to_default

  pb_message_set_to_defaults (Thumb, 38 bytes, Stack size 32 bytes, pb_decode.o(i.pb_message_set_to_defaults))
  [Stack]

  - Max Depth = 88
  - Call Chain = pb_message_set_to_defaults ⇒ pb_field_set_to_default ⇒ pb_message_set_to_defaults (Cycle)
  [Calls]
  - >> pb_field_set_to_default
  - >> pb_field_iter_next
  - >> pb_field_iter_begin
  [Called By]
  - >> pb_decode
  - >> pb_field_set_to_default
  - >> decode_static_field

  pb_readbyte (Thumb, 32 bytes, Stack size 8 bytes, pb_decode.o(i.pb_readbyte))
  [Stack]

  - Max Depth = 8
  - Call Chain = pb_readbyte
  [Called By]
  - >> pb_decode_varint32
  - >> pb_decode_varint

  read_raw_value (Thumb, 98 bytes, Stack size 24 bytes, pb_decode.o(i.read_raw_value))
  [Stack]

  - Max Depth = 56
  - Call Chain = read_raw_value ⇒ pb_read ⇒ pb_read (Cycle)
  [Calls]
  - >> pb_read
  [Called By]
  - >> decode_callback_field

  bcopy (Thumb, 12 bytes, Stack size 0 bytes, micro_ecc_lib_uECC.c.o(.text.bcopy))
  [Calls]

  - >> bcopy
  [Called By]
  - >> uECC_verify
  - >> bits2int
  - >> bcopy

  uECC_vli_cmp_unsafe (Thumb, 42 bytes, Stack size 32 bytes, micro_ecc_lib_uECC.c.o(.text.uECC_vli_cmp_unsafe))
  [Stack]

  - Max Depth = 32
  - Call Chain = uECC_vli_cmp_unsafe
  [Called By]
  - >> uECC_verify
  - >> uECC_vli_modInv
  - >> uECC_vli_modAdd
  - >> vli_mmod_fast_secp256r1
  - >> bits2int

  bits2int (Thumb, 136 bytes, Stack size 128 bytes, micro_ecc_lib_uECC.c.o(.text.bits2int))
  [Stack]

  - Max Depth = 192
  - Call Chain = bits2int ⇒ uECC_vli_sub
  [Calls]
  - >> uECC_vli_clear
  - >> uECC_vli_sub
  - >> uECC_vli_cmp_unsafe
  - >> bcopy
  [Called By]
  - >> uECC_verify

  vli_mmod_fast_secp256r1 (Thumb, 432 bytes, Stack size 224 bytes, micro_ecc_lib_uECC.c.o(.text.vli_mmod_fast_secp256r1))
  [Stack]

  - Max Depth = 288
  - Call Chain = vli_mmod_fast_secp256r1 ⇒ uECC_vli_sub
  [Calls]
  - >> uECC_vli_set
  - >> uECC_vli_sub
  - >> uECC_vli_add
  - >> uECC_vli_cmp_unsafe
  [Address Reference Count : 1]
  - micro_ecc_lib_uECC.c.o(.rodata.curve_secp256r1)

  vli_modInv_update (Thumb, 58 bytes, Stack size 96 bytes, micro_ecc_lib_uECC.c.o(.text.vli_modInv_update))
  [Stack]

  - Max Depth = 160
  - Call Chain = vli_modInv_update ⇒ uECC_vli_add
  [Calls]
  - >> uECC_vli_rshift1
  - >> uECC_vli_add
  [Called By]
  - >> uECC_vli_modInv

  x_side_default (Thumb, 90 bytes, Stack size 256 bytes, micro_ecc_lib_uECC.c.o(.text.x_side_default))
  [Stack]

  - Max Depth = 720
  - Call Chain = x_side_default ⇒ uECC_vli_modSquare_fast ⇒ uECC_vli_square
  [Calls]
  - >> memset
  - >> uECC_vli_modSquare_fast
  - >> uECC_vli_modMult_fast
  - >> uECC_vli_modSub
  - >> uECC_vli_modAdd
  [Address Reference Count : 1]
  - micro_ecc_lib_uECC.c.o(.rodata.curve_secp256r1)

  double_jacobian_default (Thumb, 340 bytes, Stack size 416 bytes, micro_ecc_lib_uECC.c.o(.text.double_jacobian_default))
  [Stack]

  - Max Depth = 880
  - Call Chain = double_jacobian_default ⇒ uECC_vli_modSquare_fast ⇒ uECC_vli_square
  [Calls]
  - >> uECC_vli_modSquare_fast
  - >> uECC_vli_modMult_fast
  - >> uECC_vli_modSub
  - >> uECC_vli_modAdd
  - >> uECC_vli_rshift1
  - >> uECC_vli_set
  - >> uECC_vli_isZero
  - >> uECC_vli_add
  [Address Reference Count : 1]
  - micro_ecc_lib_uECC.c.o(.rodata.curve_secp256r1)

  XYcZ_add (Thumb, 202 bytes, Stack size 288 bytes, micro_ecc_lib_uECC.c.o(.text.XYcZ_add))
  [Stack]

  - Max Depth = 752
  - Call Chain = XYcZ_add ⇒ uECC_vli_modSquare_fast ⇒ uECC_vli_square
  [Calls]
  - >> uECC_vli_modSquare_fast
  - >> uECC_vli_modMult_fast
  - >> uECC_vli_modSub
  - >> uECC_vli_set
  [Called By]
  - >> uECC_verify

  apply_z (Thumb, 62 bytes, Stack size 224 bytes, micro_ecc_lib_uECC.c.o(.text.apply_z))
  [Stack]

  - Max Depth = 688
  - Call Chain = apply_z ⇒ uECC_vli_modSquare_fast ⇒ uECC_vli_square
  [Calls]
  - >> uECC_vli_modSquare_fast
  - >> uECC_vli_modMult_fast
  [Called By]
  - >> uECC_verify

  ### Undefined Global Symbols