Static Call Graph for image mesh\bootloader\mesh_bootloader_serial_armcc_nrf51422_xxAC.elf
#<CALLGRAPH># ARM Linker, 5060422: Last Updated: Tue Dec 05 15:13:37 2017
Maximum Stack Usage = 1176 bytes + Unknown(Untraceable Function Pointers)
Call chain for Maximum Stack Depth:
SWI2_IRQHandler ⇒ mesh_aci_command_check ⇒ serial_command_handler ⇒ bootloader_cmd_send ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
Function Pointers
- ADC_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- CCM_AAR_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- ECB_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- GPIOTE_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- HardFault_Handler from main.o(.text) referenced from arm_startup_nrf51.o(RESET)
- LPCOMP_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- NMI_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- POWER_CLOCK_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- PendSV_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- QDEC_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- RADIO_IRQHandler from transport.o(.text) referenced from arm_startup_nrf51.o(RESET)
- RNG_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- RTC0_IRQHandler from bootloader_rtc.o(.text) referenced from arm_startup_nrf51.o(RESET)
- RTC1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- Reset_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SPI0_TWI0_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SPI1_TWI1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SVC_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SWI0_IRQHandler from transport.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SWI1_IRQHandler from serial_handler_uart.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SWI2_IRQHandler from bootloader.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SWI3_IRQHandler from bootloader.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SWI4_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SWI5_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SysTick_Handler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- SystemInit from system_nrf51.o(.text) referenced from arm_startup_nrf51.o(.text)
- TEMP_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- TIMER0_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- TIMER1_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- TIMER2_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- UART0_IRQHandler from serial_handler_uart.o(.text) referenced from arm_startup_nrf51.o(RESET)
- WDT_IRQHandler from arm_startup_nrf51.o(.text) referenced from arm_startup_nrf51.o(RESET)
- __main from __main.o(!!!main) referenced from arm_startup_nrf51.o(.text)
- bl_cmd_handler from bootloader_app_bridge.o(.text) referenced from bootloader_app_bridge.o(.text)
- bl_evt_handler from bootloader.o(.text) referenced from bootloader.o(.text)
- radio_idle_cb from transport.o(.text) referenced from transport.o(.text)
- radio_rx_cb from transport.o(.text) referenced from transport.o(.text)
- radio_tx_cb from transport.o(.text) referenced from transport.o(.text)
- rx_cb from bootloader.o(.text) referenced from bootloader.o(.text)
Global Symbols
__main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
[Calls]
- >> __rt_entry
- >> __scatterload
__scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
[Called By]
__scatterload_rt2 (Thumb, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
[Calls]
__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
__scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
__scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
[Calls]
[Called By]
__scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
__rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
[Called By]
__rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
__rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))
__rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
__rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
__rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
__rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
__rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
__rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
__rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
__rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))
__rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))
__rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
__rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
__rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
__rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
__rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
__rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
__rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))
__rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
__rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
__rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
__rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
[Called By]
__rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
__rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
__rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
__rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
__rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
__rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
__rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
__rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
[Called By]
- >> __main
- >> __scatterload_rt2
__rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
__rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
[Stack]
- Max Depth = 8 + Unknown Stack Size
- Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
[Calls]- >> __user_setup_stackheap
__rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
[Calls]
__rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
__rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
[Stack]
- Max Depth = 1112 + Unknown Stack Size
- Call Chain = __rt_entry_main ⇒ main ⇒ bootloader_enable ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]
__rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
__rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
[Called By]
__rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
[Calls]
__rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
__rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
[Calls]
__asm___17_bootloader_util_c_c13d365c__bootloader_util_reset (Thumb, 52 bytes, Stack size 0 bytes, bootloader_util.o(.emb_text))
[Called By]
- >> bootloader_util_app_start
__aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))
[Called By]
- >> dfu_mesh_finalize
- >> flash_bank_entry
- >> entry_write
- >> flash_erase
- >> flash_write
- >> __aeabi_memcpy
__aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)
SWI2_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1176
- Call Chain = SWI2_IRQHandler ⇒ mesh_aci_command_check ⇒ serial_command_handler ⇒ bootloader_cmd_send ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> mesh_aci_command_check
[Address Reference Count : 1]- arm_startup_nrf51.o(RESET)
SWI3_IRQHandler (Thumb, 240 bytes, Stack size 56 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1104
- Call Chain = SWI3_IRQHandler ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> nrf_flash_store
- >> nrf_flash_erase
- >> fifo_pop
- >> fifo_is_empty
- >> bootloader_util_app_start
- >> bootloader_info_entry_get
- >> bl_cmd_handler
- >> app_error_handler_bare
- >> __aeabi_memset
[Address Reference Count : 1]- arm_startup_nrf51.o(RESET)
bootloader_abort (Thumb, 120 bytes, Stack size 32 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = bootloader_abort ⇒ dfu_mesh_app_is_valid ⇒ fw_is_verified ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> interrupts_disable
- >> fifo_is_empty
- >> dfu_mesh_app_is_valid
- >> bootloader_util_app_start
- >> bootloader_info_entry_get
- >> app_error_handler_bare
[Called By]- >> main
- >> bootloader_timeout
- >> bl_evt_handler
bootloader_init (Thumb, 132 bytes, Stack size 48 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1096
- Call Chain = bootloader_init ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> transport_init
- >> rtc_init
- >> mesh_aci_init
- >> fifo_init
- >> dfu_bank_scan
- >> bootloader_app_bridge_init
- >> bl_cmd_handler
- >> app_error_handler_bare
- >> __aeabi_memclr4
[Called By]
bootloader_enable (Thumb, 280 bytes, Stack size 64 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1112
- Call Chain = bootloader_enable ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> transport_start
- >> mesh_aci_start
- >> dfu_mesh_req
- >> dfu_mesh_missing_type_get
- >> dfu_mesh_app_is_valid
- >> dfu_bank_flash
- >> bootloader_info_entry_overwrite
- >> bootloader_info_entry_get
- >> bl_cmd_handler
- >> app_error_handler_bare
- >> set_timeout
[Called By]
bootloader_timeout (Thumb, 66 bytes, Stack size 40 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1088
- Call Chain = bootloader_timeout ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> bl_cmd_handler
- >> app_error_handler_bare
- >> bootloader_abort
[Called By]
bootloader_cmd_send (Thumb, 8 bytes, Stack size 8 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1056
- Call Chain = bootloader_cmd_send ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]
[Called By]- >> serial_command_handler
bl_cmd_handler (Thumb, 328 bytes, Stack size 48 bytes, bootloader_app_bridge.o(.text))
[Stack]
- Max Depth = 1048
- Call Chain = bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> dfu_transfer_flash_write_complete
- >> dfu_mesh_timeout
- >> dfu_mesh_rx
- >> dfu_mesh_restart
- >> dfu_mesh_relay
- >> dfu_mesh_on_flash_idle
- >> dfu_mesh_init
- >> dfu_bank_on_flash_idle
- >> bootloader_info_on_flash_op_end
- >> bootloader_info_on_flash_idle
- >> bootloader_info_init
- >> bootloader_info_entry_put
- >> bootloader_info_entry_invalidate
- >> dfu_mesh_start
- >> dfu_mesh_req
- >> dfu_bank_flash
- >> bootloader_info_entry_get
- >> app_error_handler_bare
[Called By]- >> bootloader_timeout
- >> bootloader_enable
- >> bootloader_init
- >> SWI3_IRQHandler
- >> bootloader_cmd_send
- >> bl_evt_handler
- >> rx_cb
[Address Reference Count : 1]- bootloader_app_bridge.o(.text)
bootloader_app_bridge_init (Thumb, 28 bytes, Stack size 0 bytes, bootloader_app_bridge.o(.text))
[Called By]
bootloader_evt_send (Thumb, 14 bytes, Stack size 0 bytes, bootloader_app_bridge.o(.text))
[Called By]
- >> handle_fwid_packet
- >> request_missing_data
- >> send_bank_notifications
- >> send_progress_event
- >> handle_data_packet
- >> target_rx_data
- >> notify_state_packet
- >> start_target
- >> beacon_set
- >> packet_tx_dynamic
- >> flash_bank_entry_fw
- >> dfu_mesh_on_flash_idle
- >> tx_abort
- >> flash_erase
- >> flash_write
- >> send_end_evt
send_end_evt (Thumb, 22 bytes, Stack size 40 bytes, bootloader_app_bridge.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = send_end_evt
[Calls]
[Called By]- >> transfer_abort
- >> target_rx_start
- >> get_info_pointers
- >> dfu_mesh_timeout
flash_write (Thumb, 34 bytes, Stack size 56 bytes, bootloader_app_bridge.o(.text))
[Stack]
- Max Depth = 56
- Call Chain = flash_write
[Calls]- >> bootloader_evt_send
- >> __aeabi_memcpy4
[Called By]- >> dfu_transfer_data
- >> entry_write
- >> entry_header_invalidate
- >> copy_page_write_next_data
- >> copy_page_write_meta
- >> bootloader_info_init
flash_erase (Thumb, 32 bytes, Stack size 48 bytes, bootloader_app_bridge.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = flash_erase
[Calls]- >> bootloader_evt_send
- >> __aeabi_memcpy4
[Called By]- >> dfu_transfer_start
- >> copy_page
- >> bootloader_info_on_flash_idle
- >> bootloader_info_init
tx_abort (Thumb, 20 bytes, Stack size 40 bytes, bootloader_app_bridge.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = tx_abort
[Calls]
[Called By]
bootloader_is_in_application (Thumb, 10 bytes, Stack size 0 bytes, bootloader_app_bridge.o(.text))
[Called By]
entry_invalidate (Thumb, 58 bytes, Stack size 16 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 80
- Call Chain = entry_invalidate ⇒ entry_header_invalidate ⇒ flash_write
[Calls]- >> bootloader_info_header_get
- >> entry_header_invalidate
- >> info_entry_get
- >> app_error_handler_bare
[Called By]- >> bootloader_info_entry_invalidate
entry_write (Thumb, 106 bytes, Stack size 40 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 96
- Call Chain = entry_write ⇒ flash_write
[Calls]- >> get_write_buffer
- >> flash_write
- >> app_error_handler_bare
- >> __aeabi_memset
- >> __aeabi_memcpy4
[Called By]- >> bootloader_info_entry_put
- >> bootloader_info_entry_overwrite
bootloader_info_init (Thumb, 132 bytes, Stack size 16 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 72
- Call Chain = bootloader_info_init ⇒ flash_write
[Calls]- >> bootloader_info_first_unused_get
- >> flash_erase
- >> flash_write
- >> app_error_handler_bare
- >> __aeabi_memclr4
[Called By]
bootloader_info_entry_get (Thumb, 8 bytes, Stack size 0 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = bootloader_info_entry_get ⇒ info_entry_get
[Calls]
[Called By]- >> fw_is_verified
- >> bootloader_is_newer
- >> app_is_newer
- >> send_bank_notifications
- >> start_target
- >> get_info_pointers
- >> flash_bank_entry
- >> flash_bank_entry_fw
- >> bootloader_info_entry_put
- >> is_upgrade
- >> dfu_mesh_missing_type_get
- >> dfu_mesh_app_is_valid
- >> dfu_bank_scan
- >> dfu_bank_flash
- >> bootloader_info_entry_overwrite
- >> bl_cmd_handler
- >> bootloader_enable
- >> bootloader_abort
- >> SWI3_IRQHandler
- >> bl_evt_handler
bootloader_info_reset (Thumb, 46 bytes, Stack size 8 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 72
- Call Chain = bootloader_info_reset ⇒ copy_page ⇒ flash_erase
[Calls]- >> copy_page
- >> app_error_handler_bare
[Called By]- >> dfu_mesh_finalize
- >> bootloader_info_entry_put
bootloader_info_entry_put (Thumb, 232 bytes, Stack size 40 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 136
- Call Chain = bootloader_info_entry_put ⇒ entry_write ⇒ flash_write
[Calls]- >> bootloader_info_reset
- >> entry_write
- >> bootloader_info_header_get
- >> entry_header_invalidate
- >> bootloader_info_entry_get
- >> app_error_handler_bare
[Called By]- >> dfu_mesh_finalize
- >> start_target
- >> flash_bank_entry
- >> bl_cmd_handler
bootloader_info_entry_overwrite (Thumb, 42 bytes, Stack size 16 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 112
- Call Chain = bootloader_info_entry_overwrite ⇒ entry_write ⇒ flash_write
[Calls]- >> entry_write
- >> bootloader_info_header_get
- >> bootloader_info_entry_get
[Called By]- >> start_target
- >> flash_bank_entry
- >> flash_bank_entry_fw
- >> bootloader_enable
bootloader_info_entry_invalidate (Thumb, 8 bytes, Stack size 0 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 80
- Call Chain = bootloader_info_entry_invalidate ⇒ entry_invalidate ⇒ entry_header_invalidate ⇒ flash_write
[Calls]
[Called By]- >> start_target
- >> flash_bank_entry
- >> bl_cmd_handler
bootloader_info_stable (Thumb, 22 bytes, Stack size 0 bytes, bootloader_info.o(.text))
[Called By]
- >> dfu_mesh_on_flash_idle
bootloader_info_on_flash_op_end (Thumb, 88 bytes, Stack size 16 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 96
- Call Chain = bootloader_info_on_flash_op_end ⇒ copy_page_on_flash_op_end ⇒ copy_page_write_next_data ⇒ flash_write
[Calls]- >> copy_page_on_flash_op_end
- >> bootloader_info_first_unused_get
- >> copy_page
- >> free_write_buffer
[Called By]
bootloader_info_on_flash_idle (Thumb, 56 bytes, Stack size 8 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 72
- Call Chain = bootloader_info_on_flash_idle ⇒ copy_page_write_meta ⇒ flash_write
[Calls]- >> copy_page_write_meta
- >> flash_erase
[Called By]
RTC0_IRQHandler (Thumb, 52 bytes, Stack size 16 bytes, bootloader_rtc.o(.text))
[Stack]
- Max Depth = 1104
- Call Chain = RTC0_IRQHandler ⇒ bootloader_timeout ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> transport_rtc_irq_handler
- >> bootloader_timeout
[Address Reference Count : 1]- arm_startup_nrf51.o(RESET)
rtc_init (Thumb, 46 bytes, Stack size 0 bytes, bootloader_rtc.o(.text))
[Called By]
bootloader_util_app_start (Thumb, 8 bytes, Stack size 8 bytes, bootloader_util.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = bootloader_util_app_start
[Calls]- >> __asm___17_bootloader_util_c_c13d365c__bootloader_util_reset
[Called By]- >> bootloader_abort
- >> SWI3_IRQHandler
dfu_bank_scan (Thumb, 62 bytes, Stack size 16 bytes, dfu_bank.o(.text))
[Stack]
- Max Depth = 480
- Call Chain = dfu_bank_scan ⇒ flash_bank_entry ⇒ flash_bank_entry_fw ⇒ bootloader_info_entry_overwrite ⇒ entry_write ⇒ flash_write
[Calls]- >> flash_bank_entry
- >> bootloader_info_entry_get
[Called By]
dfu_bank_flash (Thumb, 68 bytes, Stack size 16 bytes, dfu_bank.o(.text))
[Stack]
- Max Depth = 480
- Call Chain = dfu_bank_flash ⇒ flash_bank_entry ⇒ flash_bank_entry_fw ⇒ bootloader_info_entry_overwrite ⇒ entry_write ⇒ flash_write
[Calls]- >> flash_bank_entry
- >> bootloader_info_entry_get
[Called By]- >> bl_cmd_handler
- >> bootloader_enable
- >> bl_evt_handler
dfu_bank_on_flash_idle (Thumb, 22 bytes, Stack size 0 bytes, dfu_bank.o(.text))
[Stack]
- Max Depth = 464
- Call Chain = dfu_bank_on_flash_idle ⇒ flash_bank_entry ⇒ flash_bank_entry_fw ⇒ bootloader_info_entry_overwrite ⇒ entry_write ⇒ flash_write
[Calls]
[Called By]
dfu_bank_transfer_in_progress (Thumb, 12 bytes, Stack size 0 bytes, dfu_bank.o(.text))
[Called By]
- >> main
- >> dfu_mesh_start
dfu_mesh_init (Thumb, 40 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = dfu_mesh_init ⇒ get_info_pointers ⇒ send_end_evt
[Calls]- >> get_info_pointers
- >> __aeabi_memclr4
- >> __aeabi_memclr
[Called By]
dfu_mesh_start (Thumb, 60 bytes, Stack size 8 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 120
- Call Chain = dfu_mesh_start ⇒ start_find_fwid ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]- >> packet_cache_flush
- >> start_find_fwid
- >> send_bank_notifications
- >> get_info_pointers
- >> dfu_bank_transfer_in_progress
- >> __aeabi_memclr4
- >> __aeabi_memclr
[Called By]- >> dfu_mesh_on_flash_idle
- >> bl_cmd_handler
- >> bl_evt_handler
dfu_mesh_req (Thumb, 42 bytes, Stack size 8 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 128
- Call Chain = dfu_mesh_req ⇒ start_req ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]
[Called By]- >> bl_cmd_handler
- >> bootloader_enable
dfu_mesh_relay (Thumb, 54 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 120
- Call Chain = dfu_mesh_relay ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]- >> fwid_union_cpy
- >> state_beacon_type
- >> beacon_set
[Called By]
dfu_mesh_rx (Thumb, 110 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 432
- Call Chain = dfu_mesh_rx ⇒ handle_data_packet ⇒ target_rx_start ⇒ start_target ⇒ bootloader_info_entry_put ⇒ entry_write ⇒ flash_write
[Calls]- >> packet_in_cache
- >> __ARM_common_switch8
- >> handle_fwid_packet
- >> send_progress_event
- >> handle_data_req_packet
- >> handle_state_packet
- >> handle_data_packet
- >> relay_packet
[Called By]
dfu_mesh_finalize (Thumb, 294 bytes, Stack size 192 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 328
- Call Chain = dfu_mesh_finalize ⇒ bootloader_info_entry_put ⇒ entry_write ⇒ flash_write
[Calls]- >> fwid_union_cpy
- >> bootloader_info_reset
- >> bootloader_info_entry_put
- >> app_error_handler_bare
- >> __aeabi_memset
- >> __aeabi_memcpy
- >> __aeabi_memcpy4
[Called By]
dfu_mesh_timeout (Thumb, 72 bytes, Stack size 8 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 1000
- Call Chain = dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> __ARM_common_switch8
- >> dfu_mesh_finalize
- >> start_req
- >> signature_check
- >> send_end_evt
[Called By]
dfu_mesh_missing_type_get (Thumb, 78 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = dfu_mesh_missing_type_get ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> bootloader_info_entry_get
[Called By]
dfu_mesh_app_is_valid (Thumb, 80 bytes, Stack size 8 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = dfu_mesh_app_is_valid ⇒ fw_is_verified ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> fw_is_verified
- >> bootloader_info_entry_get
- >> __aeabi_uread4
[Called By]- >> bootloader_enable
- >> bootloader_abort
- >> bl_evt_handler
dfu_mesh_restart (Thumb, 8 bytes, Stack size 8 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 120
- Call Chain = dfu_mesh_restart ⇒ start_find_fwid ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]
[Called By]
dfu_mesh_on_flash_idle (Thumb, 70 bytes, Stack size 40 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 160
- Call Chain = dfu_mesh_on_flash_idle ⇒ dfu_mesh_start ⇒ start_find_fwid ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]- >> fwid_union_cpy
- >> dfu_transfer_end
- >> get_info_pointers
- >> bootloader_info_stable
- >> bootloader_evt_send
- >> dfu_mesh_start
[Called By]
dfu_transfer_init (Thumb, 20 bytes, Stack size 8 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = dfu_transfer_init
[Calls]
[Called By]- >> dfu_transfer_start
- >> dfu_transfer_end
dfu_transfer_start (Thumb, 102 bytes, Stack size 40 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 88
- Call Chain = dfu_transfer_start ⇒ flash_erase
[Calls]- >> dfu_transfer_init
- >> flash_erase
[Called By]
dfu_transfer_data (Thumb, 276 bytes, Stack size 48 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 104
- Call Chain = dfu_transfer_data ⇒ flash_write
[Calls]- >> transfer_abort
- >> segment_is_missing
- >> flash_write
- >> __aeabi_memcpy
- >> __aeabi_llsl
[Called By]
dfu_transfer_has_entry (Thumb, 100 bytes, Stack size 24 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = dfu_transfer_has_entry ⇒ __aeabi_memcpy
[Calls]- >> segment_is_missing
- >> __aeabi_memcpy
[Called By]- >> handle_data_req_packet
dfu_transfer_get_oldest_missing_entry (Thumb, 98 bytes, Stack size 40 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = dfu_transfer_get_oldest_missing_entry ⇒ __aeabi_llsl
[Calls]
[Called By]
dfu_transfer_sha256 (Thumb, 26 bytes, Stack size 8 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 368
- Call Chain = dfu_transfer_sha256 ⇒ sha256_update ⇒ sha256_transform
[Calls]
[Called By]
dfu_transfer_end (Thumb, 2 bytes, Stack size 0 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = dfu_transfer_end ⇒ dfu_transfer_init
[Calls]
[Called By]- >> dfu_mesh_on_flash_idle
dfu_transfer_flash_write_complete (Thumb, 18 bytes, Stack size 0 bytes, dfu_transfer_mesh.o(.text))
[Called By]
fwid_union_cpy (Thumb, 46 bytes, Stack size 8 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = fwid_union_cpy ⇒ __aeabi_memcpy
[Calls]
[Called By]- >> dfu_mesh_finalize
- >> send_bank_notifications
- >> notify_state_packet
- >> start_req
- >> dfu_mesh_relay
- >> dfu_mesh_on_flash_idle
fwid_union_cmp (Thumb, 54 bytes, Stack size 8 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = fwid_union_cmp ⇒ memcmp
[Calls]
[Called By]
fwid_union_id_cmp (Thumb, 88 bytes, Stack size 16 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = fwid_union_id_cmp
[Calls]
[Called By]- >> ready_packet_matches_our_req
- >> handle_state_packet
fwid_union_version_cmp (Thumb, 64 bytes, Stack size 16 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = fwid_union_version_cmp
[Calls]
[Called By]- >> ready_packet_matches_our_req
tid_cache_has_entry (Thumb, 26 bytes, Stack size 0 bytes, dfu_util.o(.text))
[Called By]
- >> ready_packet_matches_our_req
ready_packet_matches_our_req (Thumb, 76 bytes, Stack size 16 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = ready_packet_matches_our_req ⇒ fwid_union_version_cmp
[Calls]- >> tid_cache_has_entry
- >> fwid_union_version_cmp
- >> fwid_union_id_cmp
- >> __aeabi_uread4
[Called By]
addr_from_seg (Thumb, 20 bytes, Stack size 0 bytes, dfu_util.o(.text))
[Called By]
is_upgrade (Thumb, 152 bytes, Stack size 24 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = is_upgrade ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> bootloader_info_entry_get
- >> __aeabi_uread4
[Called By]
app_is_newer (Thumb, 66 bytes, Stack size 16 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = app_is_newer ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> bootloader_info_entry_get
- >> __aeabi_uread4
[Called By]
bootloader_is_newer (Thumb, 36 bytes, Stack size 8 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = bootloader_is_newer ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> bootloader_info_entry_get
[Called By]
fw_is_verified (Thumb, 34 bytes, Stack size 8 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = fw_is_verified ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> bootloader_info_entry_get
[Called By]
tid_cache_entry_put (Thumb, 20 bytes, Stack size 8 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = tid_cache_entry_put
[Called By]- >> handle_data_packet
- >> target_rx_start
packet_in_cache (Thumb, 54 bytes, Stack size 16 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = packet_in_cache
[Called By]- >> handle_data_req_packet
- >> handle_data_packet
- >> dfu_mesh_rx
packet_cache_put (Thumb, 42 bytes, Stack size 16 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = packet_cache_put
[Called By]- >> handle_data_packet
- >> relay_packet
packet_cache_flush (Thumb, 20 bytes, Stack size 8 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = packet_cache_flush
[Calls]
[Called By]- >> target_rx_start
- >> dfu_mesh_start
section_overlap (Thumb, 28 bytes, Stack size 0 bytes, dfu_util.o(.text))
[Called By]
- >> target_rx_start
- >> start_target
interrupts_disable (Thumb, 40 bytes, Stack size 12 bytes, dfu_util.o(.text))
[Stack]
- Max Depth = 12
- Call Chain = interrupts_disable
[Called By]- >> flash_bank_entry_fw
- >> bootloader_abort
fifo_init (Thumb, 28 bytes, Stack size 0 bytes, fifo.o(.text))
[Called By]
- >> transport_init
- >> bootloader_init
- >> serial_handler_init
- >> radio_init
fifo_push (Thumb, 88 bytes, Stack size 16 bytes, fifo.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = fifo_push ⇒ __aeabi_memcpy
[Calls]
[Called By]- >> serial_handler_event_send
- >> bl_evt_handler
- >> char_rx
- >> radio_rx_cb
- >> radio_order
fifo_pop (Thumb, 84 bytes, Stack size 16 bytes, fifo.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = fifo_pop ⇒ __aeabi_memcpy
[Calls]
[Called By]- >> SWI3_IRQHandler
- >> serial_handler_command_get
- >> SWI1_IRQHandler
- >> SWI0_IRQHandler
- >> radio_event_handler
fifo_get_len (Thumb, 8 bytes, Stack size 0 bytes, fifo.o(.text))
[Called By]
- >> serial_handler_credit_available
- >> radio_event_handler
fifo_peek_at (Thumb, 78 bytes, Stack size 16 bytes, fifo.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = fifo_peek_at ⇒ __aeabi_memcpy
[Calls]
[Called By]
fifo_peek (Thumb, 4 bytes, Stack size 0 bytes, fifo.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = fifo_peek ⇒ fifo_peek_at ⇒ __aeabi_memcpy
[Calls]
[Called By]
fifo_is_empty (Thumb, 16 bytes, Stack size 0 bytes, fifo.o(.text))
[Called By]
- >> bootloader_abort
- >> SWI3_IRQHandler
- >> UART0_IRQHandler
- >> radio_init
app_error_handler_bare (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text))
[Called By]
- >> mesh_packet_ref_count_inc
- >> dfu_mesh_finalize
- >> start_ready
- >> target_rx_start
- >> start_target
- >> flash_bank_entry
- >> flash_bank_entry_fw
- >> bootloader_info_reset
- >> entry_write
- >> entry_invalidate
- >> entry_header_invalidate
- >> copy_page_write_next_data
- >> free_write_buffer
- >> bootloader_info_init
- >> bootloader_info_entry_put
- >> transport_init
- >> mesh_packet_ref_count_dec
- >> bl_cmd_handler
- >> bootloader_timeout
- >> bootloader_enable
- >> bootloader_init
- >> bootloader_abort
- >> SWI3_IRQHandler
- >> bl_evt_handler
- >> SWI0_IRQHandler
- >> radio_event_handler
HardFault_Handler (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
main (Thumb, 116 bytes, Stack size 0 bytes, main.o(.text))
[Stack]
- Max Depth = 1112
- Call Chain = main ⇒ bootloader_enable ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> dfu_bank_transfer_in_progress
- >> bootloader_enable
- >> bootloader_init
- >> bootloader_abort
[Called By]
mesh_packet_init (Thumb, 16 bytes, Stack size 0 bytes, mesh_packet.o(.text))
[Called By]
mesh_packet_acquire (Thumb, 64 bytes, Stack size 8 bytes, mesh_packet.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = mesh_packet_acquire
[Called By]- >> bl_evt_handler
- >> order_scan
mesh_packet_ref_count_inc (Thumb, 66 bytes, Stack size 16 bytes, mesh_packet.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = mesh_packet_ref_count_inc
[Calls]- >> app_error_handler_bare
- >> __aeabi_uidivmod
[Called By]- >> transport_rtc_irq_handler
- >> transport_tx
mesh_packet_ref_count_dec (Thumb, 74 bytes, Stack size 8 bytes, mesh_packet.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = mesh_packet_ref_count_dec
[Calls]- >> app_error_handler_bare
- >> __aeabi_uidivmod
[Called By]- >> transport_rtc_irq_handler
- >> transport_tx_abort
- >> transport_tx
- >> bl_evt_handler
- >> SWI0_IRQHandler
- >> radio_rx_cb
- >> radio_tx_cb
- >> order_scan
mesh_packet_ref_count_get (Thumb, 26 bytes, Stack size 8 bytes, mesh_packet.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = mesh_packet_ref_count_get
[Calls]
[Called By]
mesh_packet_set_local_addr (Thumb, 38 bytes, Stack size 8 bytes, mesh_packet.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = mesh_packet_set_local_addr ⇒ __aeabi_memcpy
[Calls]
[Called By]
mesh_packet_adv_data_get (Thumb, 80 bytes, Stack size 20 bytes, mesh_packet.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = mesh_packet_adv_data_get
[Called By]
nrf_flash_erase (Thumb, 84 bytes, Stack size 24 bytes, nrf_flash.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = nrf_flash_erase
[Calls]
[Called By]
nrf_flash_store (Thumb, 92 bytes, Stack size 20 bytes, nrf_flash.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = nrf_flash_store
[Called By]
radio_disable (Thumb, 26 bytes, Stack size 0 bytes, radio_control.o(.text))
[Called By]
radio_init (Thumb, 174 bytes, Stack size 32 bytes, radio_control.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = radio_init
[Calls]- >> fifo_is_empty
- >> fifo_init
- >> timeslot_is_in_ts
[Called By]
radio_order (Thumb, 80 bytes, Stack size 8 bytes, radio_control.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = radio_order ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> fifo_push
- >> timeslot_is_in_ts
[Called By]- >> transport_rtc_irq_handler
- >> order_scan
radio_event_handler (Thumb, 216 bytes, Stack size 40 bytes, radio_control.o(.text))
[Stack]
- Max Depth = 80
- Call Chain = radio_event_handler ⇒ fifo_peek ⇒ fifo_peek_at ⇒ __aeabi_memcpy
[Calls]- >> setup_event
- >> fifo_peek
- >> fifo_get_len
- >> fifo_pop
- >> app_error_handler_bare
- >> radio_disable
[Called By]
rand_prng_get (Thumb, 44 bytes, Stack size 12 bytes, rand.o(.text))
[Stack]
- Max Depth = 12
- Call Chain = rand_prng_get
[Called By]- >> set_next_tx
- >> rand_prng_seed
rand_hw_rng_get (Thumb, 42 bytes, Stack size 20 bytes, rand.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = rand_hw_rng_get
[Called By]
rand_prng_seed (Thumb, 50 bytes, Stack size 16 bytes, rand.o(.text))
[Stack]
- Max Depth = 36
- Call Chain = rand_prng_seed ⇒ rand_hw_rng_get
[Calls]- >> rand_hw_rng_get
- >> rand_prng_get
[Called By]
transport_start (Thumb, 16 bytes, Stack size 0 bytes, transport.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = transport_start ⇒ order_scan ⇒ radio_order ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]
[Called By]- >> bootloader_enable
- >> SWI0_IRQHandler
SWI0_IRQHandler (Thumb, 64 bytes, Stack size 16 bytes, transport.o(.text))
[Stack]
- Max Depth = 80
- Call Chain = SWI0_IRQHandler ⇒ transport_start ⇒ order_scan ⇒ radio_order ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> mesh_packet_ref_count_get
- >> transport_start
- >> mesh_packet_ref_count_dec
- >> fifo_pop
- >> app_error_handler_bare
[Address Reference Count : 1]- arm_startup_nrf51.o(RESET)
RADIO_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, transport.o(.text))
[Stack]
- Max Depth = 88
- Call Chain = RADIO_IRQHandler ⇒ radio_event_handler ⇒ fifo_peek ⇒ fifo_peek_at ⇒ __aeabi_memcpy
[Calls]
[Address Reference Count : 1]- arm_startup_nrf51.o(RESET)
timeslot_is_in_ts (Thumb, 4 bytes, Stack size 0 bytes, transport.o(.text))
[Called By]
- >> radio_order
- >> radio_init
transport_init (Thumb, 98 bytes, Stack size 8 bytes, transport.o(.text))
[Stack]
- Max Depth = 44
- Call Chain = transport_init ⇒ rand_prng_seed ⇒ rand_hw_rng_get
[Calls]- >> mesh_packet_init
- >> fifo_init
- >> app_error_handler_bare
- >> __aeabi_memclr4
- >> NVIC_SetPriority
- >> rand_prng_seed
- >> radio_init
[Called By]
transport_tx (Thumb, 98 bytes, Stack size 24 bytes, transport.o(.text))
[Stack]
- Max Depth = 52
- Call Chain = transport_tx ⇒ set_next_tx ⇒ rand_prng_get
[Calls]- >> mesh_packet_ref_count_inc
- >> mesh_packet_ref_count_dec
- >> order_next_rtc
- >> set_next_tx
[Called By]
transport_tx_abort (Thumb, 48 bytes, Stack size 16 bytes, transport.o(.text))
[Stack]
- Max Depth = 36
- Call Chain = transport_tx_abort ⇒ order_next_rtc
[Calls]- >> mesh_packet_ref_count_dec
- >> order_next_rtc
[Called By]
transport_rtc_irq_handler (Thumb, 176 bytes, Stack size 32 bytes, transport.o(.text))
[Stack]
- Max Depth = 80
- Call Chain = transport_rtc_irq_handler ⇒ radio_order ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> mesh_packet_ref_count_inc
- >> mesh_packet_ref_count_dec
- >> order_next_rtc
- >> set_next_tx
- >> radio_order
[Called By]
transport_tx_evt_get (Thumb, 32 bytes, Stack size 0 bytes, transport.o(.text))
[Called By]
- >> serial_command_handler
- >> radio_tx_cb
transport_tx_evt_set (Thumb, 28 bytes, Stack size 0 bytes, transport.o(.text))
[Called By]
- >> serial_command_handler
uECC_verify (Thumb, 548 bytes, Stack size 488 bytes, uECC.o(.text))
[Stack]
- Max Depth = 824
- Call Chain = uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> vli_bytesToNative
- >> vli_modMult_fast
- >> vli_modSub
- >> vli_set
- >> vli_testBit
- >> vli_isZero
- >> vli_clear
- >> vli_modMult_n
- >> XYcZ_add
- >> apply_z
- >> EccPoint_double_jacobian
- >> vli_modInv
- >> vli_sub
- >> vli_cmp
- >> vli_numBits
[Called By]
sha256_transform (Thumb, 352 bytes, Stack size 336 bytes, sha256.o(.text))
[Stack]
- Max Depth = 336
- Call Chain = sha256_transform
[Calls]
[Called By]- >> sha256_update
- >> sha256_final
sha256_init (Thumb, 52 bytes, Stack size 0 bytes, sha256.o(.text))
[Called By]
sha256_update (Thumb, 80 bytes, Stack size 24 bytes, sha256.o(.text))
[Stack]
- Max Depth = 360
- Call Chain = sha256_update ⇒ sha256_transform
[Calls]
[Called By]- >> dfu_transfer_sha256
- >> signature_check
sha256_final (Thumb, 272 bytes, Stack size 24 bytes, sha256.o(.text))
[Stack]
- Max Depth = 360
- Call Chain = sha256_final ⇒ sha256_transform
[Calls]- >> __aeabi_memclr4
- >> sha256_transform
[Called By]
SWI1_IRQHandler (Thumb, 46 bytes, Stack size 8 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = SWI1_IRQHandler ⇒ fifo_pop ⇒ __aeabi_memcpy
[Calls]
[Address Reference Count : 1]- arm_startup_nrf51.o(RESET)
serial_handler_event_send (Thumb, 66 bytes, Stack size 48 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 88
- Call Chain = serial_handler_event_send ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> fifo_is_full
- >> fifo_push
- >> __aeabi_memcpy
- >> schedule_transmit
[Called By]- >> mesh_aci_start
- >> bl_evt_handler
- >> mesh_aci_rbc_event_handler
- >> serial_command_handler
- >> char_rx
- >> radio_tx_cb
UART0_IRQHandler (Thumb, 90 bytes, Stack size 16 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 160
- Call Chain = UART0_IRQHandler ⇒ char_rx ⇒ serial_handler_event_send ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> fifo_is_empty
- >> char_rx
- >> schedule_transmit
[Called By]- >> serial_wait_for_completion
[Address Reference Count : 1]- arm_startup_nrf51.o(RESET)
serial_handler_init (Thumb, 150 bytes, Stack size 16 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = serial_handler_init
[Calls]
[Called By]
serial_handler_credit_available (Thumb, 12 bytes, Stack size 8 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = serial_handler_credit_available
[Calls]
[Called By]
serial_wait_for_completion (Thumb, 40 bytes, Stack size 16 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 176
- Call Chain = serial_wait_for_completion ⇒ UART0_IRQHandler ⇒ char_rx ⇒ serial_handler_event_send ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]
[Called By]- >> serial_command_handler
serial_handler_command_get (Thumb, 64 bytes, Stack size 48 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 88
- Call Chain = serial_handler_command_get ⇒ fifo_pop ⇒ __aeabi_memcpy
[Calls]- >> fifo_pop
- >> __aeabi_memcpy
[Called By]- >> mesh_aci_command_check
mesh_aci_init (Thumb, 34 bytes, Stack size 8 bytes, mesh_aci.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = mesh_aci_init ⇒ serial_handler_init
[Calls]
[Called By]
mesh_aci_start (Thumb, 56 bytes, Stack size 40 bytes, mesh_aci.o(.text))
[Stack]
- Max Depth = 128
- Call Chain = mesh_aci_start ⇒ serial_handler_event_send ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> serial_handler_event_send
- >> serial_handler_credit_available
[Called By]
mesh_aci_command_check (Thumb, 24 bytes, Stack size 40 bytes, mesh_aci.o(.text))
[Stack]
- Max Depth = 1168
- Call Chain = mesh_aci_command_check ⇒ serial_command_handler ⇒ bootloader_cmd_send ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> serial_command_handler
- >> serial_handler_command_get
[Called By]
mesh_aci_rbc_event_handler (Thumb, 72 bytes, Stack size 40 bytes, mesh_aci.o(.text), UNUSED)
[Calls]
- >> serial_handler_event_send
- >> __aeabi_memcpy
SystemCoreClockUpdate (Thumb, 8 bytes, Stack size 0 bytes, system_nrf51.o(.text), UNUSED)
SystemInit (Thumb, 130 bytes, Stack size 8 bytes, system_nrf51.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = SystemInit
[Calls]- >> is_manual_peripheral_setup_needed
[Address Reference Count : 1]- arm_startup_nrf51.o(.text)
Reset_Handler (Thumb, 26 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
CCM_AAR_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
ECB_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
GPIOTE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
LPCOMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
POWER_CLOCK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
QDEC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
RNG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
RTC1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
SPI0_TWI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
SPI1_TWI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
SWI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
SWI5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
TEMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
TIMER0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
TIMER1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
TIMER2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
WDT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Address Reference Count : 1]
- arm_startup_nrf51.o(RESET)
__user_initial_stackheap (Thumb, 10 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))
[Called By]
- >> __user_setup_stackheap
__aeabi_llsl (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_llsl
[Called By]- >> segment_is_missing
- >> dfu_transfer_get_oldest_missing_entry
- >> dfu_transfer_data
_ll_shift_l (Thumb, 0 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)
__aeabi_uldivmod (Thumb, 258 bytes, Stack size 32 bytes, lludiv.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = __aeabi_uldivmod
[Called By]
_ll_udiv (Thumb, 0 bytes, Stack size 32 bytes, lludiv.o(.text), UNUSED)
memcmp (Thumb, 90 bytes, Stack size 8 bytes, memcmp.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = memcmp
[Called By]- >> fwid_union_cmp
- >> flash_bank_entry_fw
__aeabi_memcpy (Thumb, 130 bytes, Stack size 24 bytes, rt_memcpy.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = __aeabi_memcpy
[Calls]
[Called By]- >> fifo_peek_at
- >> fwid_union_cpy
- >> dfu_transfer_has_entry
- >> dfu_transfer_data
- >> dfu_mesh_finalize
- >> handle_fwid_packet
- >> handle_state_packet
- >> handle_data_packet
- >> target_rx_data
- >> start_target
- >> beacon_set
- >> serial_handler_event_send
- >> mesh_packet_set_local_addr
- >> fifo_push
- >> fifo_pop
- >> bl_evt_handler
- >> mesh_aci_rbc_event_handler
- >> serial_command_handler
- >> serial_handler_command_get
__rt_memcpy (Thumb, 0 bytes, Stack size 24 bytes, rt_memcpy.o(.text), UNUSED)
__aeabi_memset (Thumb, 18 bytes, Stack size 8 bytes, aeabi_memset.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_memset
[Calls]
[Called By]- >> dfu_mesh_finalize
- >> start_target
- >> flash_bank_entry
- >> entry_write
- >> SWI3_IRQHandler
_memset_w (Thumb, 26 bytes, Stack size 0 bytes, rt_memclr.o(.text))
[Called By]
- >> __rt_memclr_w
- >> _memset
_memset (Thumb, 30 bytes, Stack size 0 bytes, rt_memclr.o(.text))
[Calls]
[Called By]- >> __aeabi_memclr
- >> __aeabi_memset
__aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text))
[Calls]
[Called By]- >> packet_cache_flush
- >> target_rx_start
- >> dfu_mesh_init
- >> dfu_mesh_start
__rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
__aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text))
[Called By]
- >> dfu_transfer_init
- >> sha256_final
- >> start_find_fwid
- >> beacon_set
- >> dfu_mesh_init
- >> bootloader_info_init
- >> transport_init
- >> dfu_mesh_start
- >> bootloader_init
__aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
__rt_memclr_w (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
[Calls]
__aeabi_uread4 (Thumb, 34 bytes, Stack size 0 bytes, uread4.o(.text))
[Called By]
- >> fwid_union_version_cmp
- >> ready_packet_matches_our_req
- >> fwid_union_id_cmp
- >> app_is_newer
- >> start_ready
- >> handle_data_req_packet
- >> handle_state_packet
- >> handle_data_packet
- >> target_rx_start
- >> segment_count_from_start_packet
- >> flash_bank_entry
- >> is_upgrade
- >> dfu_mesh_app_is_valid
- >> sha256_transform
- >> vli_bytesToNative
__rt_uread4 (Thumb, 0 bytes, Stack size 0 bytes, uread4.o(.text), UNUSED)
__aeabi_uwrite4 (Thumb, 16 bytes, Stack size 0 bytes, uwrite4.o(.text))
[Called By]
__rt_uwrite4 (Thumb, 0 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED)
__aeabi_uidiv (Thumb, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED)
__aeabi_uidivmod (Thumb, 20 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text))
[Called By]
- >> mesh_packet_ref_count_get
- >> mesh_packet_ref_count_inc
- >> nrf_flash_erase
- >> mesh_packet_ref_count_dec
- >> set_next_tx
__aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)
__aeabi_idivmod (Thumb, 326 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)
__use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
__rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
__rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
__user_setup_stackheap (Thumb, 62 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __user_setup_stackheap
[Calls]- >> __user_perproc_libspace
- >> __user_initial_stackheap
[Called By]
exit (Thumb, 16 bytes, Stack size 8 bytes, exit.o(.text))
[Stack]
- Max Depth = 8 + Unknown Stack Size
- Call Chain = exit
[Calls]- >> __rt_exit
- >> _call_atexit_fns (Weak Reference)
[Called By]
__user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
__user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
[Called By]
- >> __user_setup_stackheap
__user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
_sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
[Called By]
__I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
__use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
__ARM_common_ll_muluu (Thumb, 48 bytes, Stack size 24 bytes, uECC.o(i.__ARM_common_ll_muluu))
[Stack]
- Max Depth = 24
- Call Chain = __ARM_common_ll_muluu
[Called By]
__semihosting_library_function (Thumb, 0 bytes, Stack size 24 bytes, indicate_semi.o(.text), UNUSED)
__ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, dfu_mesh.o(i.__ARM_common_switch8))
[Stack]
- Max Depth = 8
- Call Chain = __ARM_common_switch8
[Called By]- >> dfu_mesh_timeout
- >> dfu_mesh_rx
- >> error_code_translate
fifo_is_full (Thumb, 20 bytes, Stack size 0 bytes, fifo.o(i.fifo_is_full))
[Called By]
- >> serial_handler_event_send
- >> char_rx
Local Symbols
rx_cb (Thumb, 52 bytes, Stack size 32 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1080
- Call Chain = rx_cb ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> mesh_packet_adv_data_get
- >> bl_cmd_handler
[Address Reference Count : 1]
bl_evt_handler (Thumb, 544 bytes, Stack size 56 bytes, bootloader.o(.text))
[Stack]
- Max Depth = 1104
- Call Chain = bl_evt_handler ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> transport_tx_abort
- >> transport_tx
- >> serial_handler_event_send
- >> mesh_packet_set_local_addr
- >> mesh_packet_ref_count_dec
- >> mesh_packet_acquire
- >> is_upgrade
- >> fifo_push
- >> dfu_mesh_start
- >> dfu_mesh_app_is_valid
- >> dfu_bank_flash
- >> bootloader_info_entry_get
- >> bl_cmd_handler
- >> app_error_handler_bare
- >> bootloader_abort
- >> stop_timeout
- >> set_timeout
- >> __aeabi_memcpy
- >> __aeabi_uldivmod
[Address Reference Count : 1]
set_timeout (Thumb, 36 bytes, Stack size 0 bytes, bootloader.o(.text))
[Called By]
- >> bootloader_enable
- >> bl_evt_handler
stop_timeout (Thumb, 16 bytes, Stack size 0 bytes, bootloader.o(.text))
[Called By]
info_entry_get (Thumb, 68 bytes, Stack size 16 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = info_entry_get
[Called By]- >> entry_invalidate
- >> bootloader_info_first_unused_get
- >> bootloader_info_entry_get
free_write_buffer (Thumb, 106 bytes, Stack size 24 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = free_write_buffer
[Calls]- >> app_error_handler_bare
[Called By]- >> bootloader_info_on_flash_op_end
place_head_after_entry (Thumb, 50 bytes, Stack size 0 bytes, bootloader_info.o(.text))
[Called By]
get_write_buffer (Thumb, 130 bytes, Stack size 24 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = get_write_buffer
[Calls]- >> place_head_after_entry
[Called By]
copy_page_write_meta (Thumb, 28 bytes, Stack size 8 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = copy_page_write_meta ⇒ flash_write
[Calls]
[Called By]- >> copy_page_on_flash_op_end
- >> bootloader_info_on_flash_idle
copy_page_write_next_data (Thumb, 106 bytes, Stack size 16 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 72
- Call Chain = copy_page_write_next_data ⇒ flash_write
[Calls]- >> flash_write
- >> app_error_handler_bare
[Called By]- >> copy_page_on_flash_op_end
copy_page (Thumb, 48 bytes, Stack size 16 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = copy_page ⇒ flash_erase
[Calls]
[Called By]- >> bootloader_info_reset
- >> bootloader_info_on_flash_op_end
entry_header_invalidate (Thumb, 26 bytes, Stack size 8 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = entry_header_invalidate ⇒ flash_write
[Calls]- >> flash_write
- >> app_error_handler_bare
[Called By]- >> entry_invalidate
- >> bootloader_info_entry_put
bootloader_info_header_get (Thumb, 28 bytes, Stack size 0 bytes, bootloader_info.o(.text))
[Called By]
- >> entry_invalidate
- >> bootloader_info_first_unused_get
- >> bootloader_info_entry_put
- >> bootloader_info_entry_overwrite
bootloader_info_first_unused_get (Thumb, 18 bytes, Stack size 8 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = bootloader_info_first_unused_get ⇒ info_entry_get
[Calls]- >> bootloader_info_header_get
- >> info_entry_get
[Called By]- >> bootloader_info_on_flash_op_end
- >> bootloader_info_init
copy_page_on_flash_op_end (Thumb, 86 bytes, Stack size 8 bytes, bootloader_info.o(.text))
[Stack]
- Max Depth = 80
- Call Chain = copy_page_on_flash_op_end ⇒ copy_page_write_next_data ⇒ flash_write
[Calls]- >> copy_page_write_next_data
- >> copy_page_write_meta
[Called By]- >> bootloader_info_on_flash_op_end
flash_bank_entry_fw (Thumb, 314 bytes, Stack size 72 bytes, dfu_bank.o(.text))
[Stack]
- Max Depth = 184
- Call Chain = flash_bank_entry_fw ⇒ bootloader_info_entry_overwrite ⇒ entry_write ⇒ flash_write
[Calls]- >> bootloader_is_in_application
- >> bootloader_evt_send
- >> interrupts_disable
- >> bootloader_info_entry_overwrite
- >> bootloader_info_entry_get
- >> app_error_handler_bare
- >> memcmp
[Called By]
flash_bank_entry (Thumb, 336 bytes, Stack size 280 bytes, dfu_bank.o(.text))
[Stack]
- Max Depth = 464
- Call Chain = flash_bank_entry ⇒ flash_bank_entry_fw ⇒ bootloader_info_entry_overwrite ⇒ entry_write ⇒ flash_write
[Calls]- >> flash_bank_entry_fw
- >> bootloader_info_entry_put
- >> bootloader_info_entry_invalidate
- >> bootloader_info_entry_overwrite
- >> bootloader_info_entry_get
- >> app_error_handler_bare
- >> __aeabi_uwrite4
- >> __aeabi_uread4
- >> __aeabi_memset
- >> __aeabi_memcpy4
[Called By]- >> dfu_bank_on_flash_idle
- >> dfu_bank_scan
- >> dfu_bank_flash
get_info_pointers (Thumb, 94 bytes, Stack size 8 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = get_info_pointers ⇒ send_end_evt
[Calls]- >> send_end_evt
- >> bootloader_info_entry_get
[Called By]- >> dfu_mesh_on_flash_idle
- >> dfu_mesh_init
- >> dfu_mesh_start
segment_count_from_start_packet (Thumb, 64 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = segment_count_from_start_packet
[Calls]
[Called By]- >> handle_data_packet
- >> target_rx_start
packet_tx_dynamic (Thumb, 60 bytes, Stack size 56 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 56
- Call Chain = packet_tx_dynamic
[Calls]
[Called By]- >> handle_data_req_packet
- >> relay_packet
signature_check (Thumb, 144 bytes, Stack size 168 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 992
- Call Chain = signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> uECC_verify
- >> sha256_update
- >> sha256_init
- >> sha256_final
- >> dfu_transfer_sha256
[Called By]
beacon_set (Thumb, 238 bytes, Stack size 80 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 104
- Call Chain = beacon_set ⇒ __aeabi_memcpy
[Calls]- >> bootloader_evt_send
- >> __aeabi_memclr4
- >> __aeabi_memcpy
[Called By]- >> start_ready
- >> start_find_fwid
- >> handle_state_packet
- >> start_req
- >> dfu_mesh_relay
relay_packet (Thumb, 56 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 72
- Call Chain = relay_packet ⇒ packet_tx_dynamic
[Calls]- >> packet_cache_put
- >> packet_tx_dynamic
[Called By]- >> handle_data_req_packet
- >> handle_data_packet
- >> dfu_mesh_rx
start_req (Thumb, 64 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 120
- Call Chain = start_req ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]- >> fwid_union_cpy
- >> state_beacon_type
- >> beacon_set
[Called By]- >> handle_data_packet
- >> target_rx_start
- >> start_target
- >> dfu_mesh_timeout
- >> dfu_mesh_req
start_target (Thumb, 418 bytes, Stack size 176 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 312
- Call Chain = start_target ⇒ bootloader_info_entry_put ⇒ entry_write ⇒ flash_write
[Calls]- >> section_overlap
- >> dfu_transfer_start
- >> start_req
- >> bootloader_info_entry_put
- >> bootloader_info_entry_invalidate
- >> bootloader_evt_send
- >> bootloader_info_entry_overwrite
- >> bootloader_info_entry_get
- >> app_error_handler_bare
- >> __aeabi_memset
- >> __aeabi_memcpy
[Called By]
notify_state_packet (Thumb, 52 bytes, Stack size 40 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 72
- Call Chain = notify_state_packet ⇒ fwid_union_cpy ⇒ __aeabi_memcpy
[Calls]- >> fwid_union_cpy
- >> bootloader_evt_send
[Called By]
target_rx_start (Thumb, 302 bytes, Stack size 32 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 344
- Call Chain = target_rx_start ⇒ start_target ⇒ bootloader_info_entry_put ⇒ entry_write ⇒ flash_write
[Calls]- >> tid_cache_entry_put
- >> section_overlap
- >> packet_cache_flush
- >> start_find_fwid
- >> start_target
- >> start_req
- >> segment_count_from_start_packet
- >> send_end_evt
- >> app_error_handler_bare
- >> __aeabi_uread4
- >> __aeabi_memclr
[Called By]
target_rx_data (Thumb, 204 bytes, Stack size 72 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 208
- Call Chain = target_rx_data ⇒ request_missing_data ⇒ dfu_transfer_get_oldest_missing_entry ⇒ __aeabi_llsl
[Calls]- >> dfu_transfer_data
- >> addr_from_seg
- >> request_missing_data
- >> send_progress_event
- >> bootloader_evt_send
- >> __aeabi_memcpy
[Called By]
handle_data_packet (Thumb, 324 bytes, Stack size 72 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 416
- Call Chain = handle_data_packet ⇒ target_rx_start ⇒ start_target ⇒ bootloader_info_entry_put ⇒ entry_write ⇒ flash_write
[Calls]- >> tid_cache_entry_put
- >> packet_in_cache
- >> packet_cache_put
- >> send_progress_event
- >> target_rx_data
- >> target_rx_start
- >> start_req
- >> relay_packet
- >> segment_count_from_start_packet
- >> tx_abort
- >> bootloader_evt_send
- >> __aeabi_uread4
- >> __aeabi_memcpy
[Called By]
handle_state_packet (Thumb, 248 bytes, Stack size 24 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 144
- Call Chain = handle_state_packet ⇒ start_ready ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]- >> ready_packet_matches_our_req
- >> fwid_union_id_cmp
- >> fwid_union_cmp
- >> start_ready
- >> state_beacon_type
- >> notify_state_packet
- >> beacon_set
- >> __aeabi_uread4
- >> __aeabi_memcpy
[Called By]
handle_data_req_packet (Thumb, 222 bytes, Stack size 48 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 120
- Call Chain = handle_data_req_packet ⇒ relay_packet ⇒ packet_tx_dynamic
[Calls]- >> packet_in_cache
- >> dfu_transfer_has_entry
- >> relay_packet
- >> packet_tx_dynamic
- >> __aeabi_uread4
[Called By]
state_beacon_type (Thumb, 28 bytes, Stack size 0 bytes, dfu_mesh.o(.text))
[Called By]
- >> start_ready
- >> handle_state_packet
- >> start_req
- >> dfu_mesh_relay
send_progress_event (Thumb, 22 bytes, Stack size 40 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = send_progress_event
[Calls]
[Called By]- >> handle_data_packet
- >> target_rx_data
- >> dfu_mesh_rx
send_bank_notifications (Thumb, 118 bytes, Stack size 80 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 112
- Call Chain = send_bank_notifications ⇒ fwid_union_cpy ⇒ __aeabi_memcpy
[Calls]- >> fwid_union_cpy
- >> bootloader_evt_send
- >> bootloader_info_entry_get
[Called By]
start_find_fwid (Thumb, 24 bytes, Stack size 8 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 112
- Call Chain = start_find_fwid ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]- >> beacon_set
- >> __aeabi_memclr4
[Called By]- >> target_rx_start
- >> dfu_mesh_restart
- >> dfu_mesh_start
start_ready (Thumb, 90 bytes, Stack size 16 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 120
- Call Chain = start_ready ⇒ beacon_set ⇒ __aeabi_memcpy
[Calls]- >> state_beacon_type
- >> beacon_set
- >> app_error_handler_bare
- >> __aeabi_uread4
[Called By]
request_missing_data (Thumb, 128 bytes, Stack size 88 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 136
- Call Chain = request_missing_data ⇒ dfu_transfer_get_oldest_missing_entry ⇒ __aeabi_llsl
[Calls]- >> dfu_transfer_get_oldest_missing_entry
- >> bootloader_evt_send
[Called By]
handle_fwid_packet (Thumb, 168 bytes, Stack size 56 bytes, dfu_mesh.o(.text))
[Stack]
- Max Depth = 88
- Call Chain = handle_fwid_packet ⇒ app_is_newer ⇒ bootloader_info_entry_get ⇒ info_entry_get
[Calls]- >> bootloader_is_newer
- >> app_is_newer
- >> bootloader_evt_send
- >> __aeabi_memcpy
[Called By]
segment_is_missing (Thumb, 52 bytes, Stack size 8 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = segment_is_missing ⇒ __aeabi_llsl
[Calls]
[Called By]- >> dfu_transfer_has_entry
- >> dfu_transfer_data
transfer_abort (Thumb, 16 bytes, Stack size 8 bytes, dfu_transfer_mesh.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = transfer_abort ⇒ send_end_evt
[Calls]
[Called By]
setup_event (Thumb, 142 bytes, Stack size 32 bytes, radio_control.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = setup_event
[Called By]
NVIC_SetPriority (Thumb, 60 bytes, Stack size 0 bytes, transport.o(.text))
[Called By]
set_next_tx (Thumb, 116 bytes, Stack size 16 bytes, transport.o(.text))
[Stack]
- Max Depth = 28
- Call Chain = set_next_tx ⇒ rand_prng_get
[Calls]- >> __aeabi_uidivmod
- >> rand_prng_get
[Called By]- >> transport_rtc_irq_handler
- >> transport_tx
order_scan (Thumb, 52 bytes, Stack size 16 bytes, transport.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = order_scan ⇒ radio_order ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> mesh_packet_ref_count_dec
- >> mesh_packet_acquire
- >> radio_order
[Called By]- >> transport_start
- >> radio_idle_cb
radio_tx_cb (Thumb, 74 bytes, Stack size 40 bytes, transport.o(.text))
[Stack]
- Max Depth = 128
- Call Chain = radio_tx_cb ⇒ serial_handler_event_send ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> serial_handler_event_send
- >> mesh_packet_ref_count_dec
- >> mesh_packet_adv_data_get
- >> transport_tx_evt_get
[Address Reference Count : 1]
radio_rx_cb (Thumb, 38 bytes, Stack size 24 bytes, transport.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = radio_rx_cb ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> mesh_packet_ref_count_dec
- >> fifo_push
[Address Reference Count : 1]
radio_idle_cb (Thumb, 12 bytes, Stack size 0 bytes, transport.o(.text))
[Stack]
- Max Depth = 64
- Call Chain = radio_idle_cb ⇒ order_scan ⇒ radio_order ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]
[Address Reference Count : 1]
order_next_rtc (Thumb, 90 bytes, Stack size 20 bytes, transport.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = order_next_rtc
[Called By]- >> transport_rtc_irq_handler
- >> transport_tx_abort
- >> transport_tx
vli_numBits (Thumb, 50 bytes, Stack size 0 bytes, uECC.o(.text))
[Called By]
vli_cmp (Thumb, 36 bytes, Stack size 8 bytes, uECC.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = vli_cmp
[Called By]- >> uECC_verify
- >> vli_modAdd
- >> vli_modInv
- >> vli_mmod_fast
vli_add (Thumb, 42 bytes, Stack size 20 bytes, uECC.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = vli_add
[Called By]- >> vli_modSub
- >> vli_modAdd
- >> EccPoint_double_jacobian
- >> vli_modInv
- >> vli_mmod_fast
vli_sub (Thumb, 42 bytes, Stack size 20 bytes, uECC.o(.text))
[Stack]
- Max Depth = 20
- Call Chain = vli_sub
[Called By]- >> uECC_verify
- >> vli_modSub
- >> vli_modAdd
- >> vli_modInv
- >> vli_mmod_fast
muladd (Thumb, 48 bytes, Stack size 24 bytes, uECC.o(.text))
[Stack]
- Max Depth = 48
- Call Chain = muladd ⇒ __ARM_common_ll_muluu
[Calls]
[Called By]
vli_mult (Thumb, 146 bytes, Stack size 48 bytes, uECC.o(.text))
[Stack]
- Max Depth = 96
- Call Chain = vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]
[Called By]- >> vli_modMult_fast
- >> vli_modMult_n
vli_mmod_fast (Thumb, 398 bytes, Stack size 56 bytes, uECC.o(.text))
[Stack]
- Max Depth = 76
- Call Chain = vli_mmod_fast ⇒ vli_sub
[Calls]- >> vli_set
- >> vli_sub
- >> vli_add
- >> vli_cmp
[Called By]
vli_modInv (Thumb, 292 bytes, Stack size 152 bytes, uECC.o(.text))
[Stack]
- Max Depth = 172
- Call Chain = vli_modInv ⇒ vli_sub
[Calls]- >> vli_rshift1
- >> vli_set
- >> vli_isZero
- >> vli_clear
- >> vli_sub
- >> vli_add
- >> vli_cmp
[Called By]
EccPoint_double_jacobian (Thumb, 286 bytes, Stack size 88 bytes, uECC.o(.text))
[Stack]
- Max Depth = 256
- Call Chain = EccPoint_double_jacobian ⇒ vli_modMult_fast ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> vli_modMult_fast
- >> vli_modSub
- >> vli_modAdd
- >> vli_rshift1
- >> vli_set
- >> vli_testBit
- >> vli_isZero
- >> vli_add
[Called By]
apply_z (Thumb, 52 bytes, Stack size 48 bytes, uECC.o(.text))
[Stack]
- Max Depth = 216
- Call Chain = apply_z ⇒ vli_modMult_fast ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]
[Called By]
XYcZ_add (Thumb, 166 bytes, Stack size 56 bytes, uECC.o(.text))
[Stack]
- Max Depth = 224
- Call Chain = XYcZ_add ⇒ vli_modMult_fast ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> vli_modMult_fast
- >> vli_modSub
- >> vli_set
[Called By]
vli_modMult_n (Thumb, 162 bytes, Stack size 240 bytes, uECC.o(.text))
[Stack]
- Max Depth = 336
- Call Chain = vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> vli_rshift1
- >> vli_set
- >> vli_clear
- >> vli_mult
[Called By]
vli_clear (Thumb, 16 bytes, Stack size 0 bytes, uECC.o(.text))
[Called By]
- >> uECC_verify
- >> vli_modMult_n
- >> vli_modInv
vli_isZero (Thumb, 24 bytes, Stack size 0 bytes, uECC.o(.text))
[Called By]
- >> uECC_verify
- >> EccPoint_double_jacobian
- >> vli_modInv
vli_testBit (Thumb, 18 bytes, Stack size 0 bytes, uECC.o(.text))
[Called By]
- >> uECC_verify
- >> EccPoint_double_jacobian
vli_set (Thumb, 18 bytes, Stack size 8 bytes, uECC.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = vli_set
[Called By]- >> uECC_verify
- >> vli_modMult_n
- >> XYcZ_add
- >> EccPoint_double_jacobian
- >> vli_modInv
- >> vli_mmod_fast
vli_rshift1 (Thumb, 30 bytes, Stack size 8 bytes, uECC.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = vli_rshift1
[Called By]- >> vli_modMult_n
- >> EccPoint_double_jacobian
- >> vli_modInv
vli_modAdd (Thumb, 38 bytes, Stack size 16 bytes, uECC.o(.text))
[Stack]
- Max Depth = 36
- Call Chain = vli_modAdd ⇒ vli_sub
[Calls]- >> vli_sub
- >> vli_add
- >> vli_cmp
[Called By]- >> EccPoint_double_jacobian
vli_modSub (Thumb, 26 bytes, Stack size 16 bytes, uECC.o(.text))
[Stack]
- Max Depth = 36
- Call Chain = vli_modSub ⇒ vli_sub
[Calls]
[Called By]- >> uECC_verify
- >> XYcZ_add
- >> EccPoint_double_jacobian
vli_modMult_fast (Thumb, 24 bytes, Stack size 72 bytes, uECC.o(.text))
[Stack]
- Max Depth = 168
- Call Chain = vli_modMult_fast ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> vli_mmod_fast
- >> vli_mult
[Called By]- >> uECC_verify
- >> XYcZ_add
- >> apply_z
- >> EccPoint_double_jacobian
vli_bytesToNative (Thumb, 44 bytes, Stack size 24 bytes, uECC.o(.text))
[Stack]
- Max Depth = 24
- Call Chain = vli_bytesToNative
[Calls]
[Called By]
schedule_transmit (Thumb, 26 bytes, Stack size 0 bytes, serial_handler_uart.o(.text))
[Called By]
- >> serial_handler_event_send
- >> UART0_IRQHandler
char_rx (Thumb, 122 bytes, Stack size 56 bytes, serial_handler_uart.o(.text))
[Stack]
- Max Depth = 144
- Call Chain = char_rx ⇒ serial_handler_event_send ⇒ fifo_push ⇒ __aeabi_memcpy
[Calls]- >> fifo_is_full
- >> serial_handler_event_send
- >> fifo_push
[Called By]
error_code_translate (Thumb, 60 bytes, Stack size 4 bytes, mesh_aci.o(.text))
[Stack]
- Max Depth = 12
- Call Chain = error_code_translate ⇒ __ARM_common_switch8
[Calls]
[Called By]- >> serial_command_handler
serial_command_handler (Thumb, 334 bytes, Stack size 72 bytes, mesh_aci.o(.text))
[Stack]
- Max Depth = 1128
- Call Chain = serial_command_handler ⇒ bootloader_cmd_send ⇒ bl_cmd_handler ⇒ dfu_mesh_timeout ⇒ signature_check ⇒ uECC_verify ⇒ vli_modMult_n ⇒ vli_mult ⇒ muladd ⇒ __ARM_common_ll_muluu
[Calls]- >> serial_handler_event_send
- >> bootloader_cmd_send
- >> __aeabi_memcpy
- >> error_code_translate
- >> serial_wait_for_completion
- >> transport_tx_evt_set
- >> transport_tx_evt_get
[Called By]- >> mesh_aci_command_check
is_manual_peripheral_setup_needed (Thumb, 66 bytes, Stack size 0 bytes, system_nrf51.o(.text))
[Called By]
Undefined Global Symbols
_call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
[Called By]
_handle_redirection (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED, UNUSED)
[Called By]