Static Call Graph for image .\_build\nrf51422_xxac.axf



#<CALLGRAPH># ARM Linker, 5060422: Last Updated: Tue Feb 14 15:10:17 2017

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

Call chain for Maximum Stack Depth:

nrf_log_backend_serial_std_handler ⇒ serial_tx ⇒ nrf_drv_uart_tx ⇒ nrf_drv_uart_tx_for_uart

Mutually Recursive functions

  • NMI_Handler   ⇒   NMI_Handler
  • HardFault_Handler   ⇒   HardFault_Handler
  • SVC_Handler   ⇒   SVC_Handler
  • PendSV_Handler   ⇒   PendSV_Handler
  • SysTick_Handler   ⇒   SysTick_Handler
  • ADC_IRQHandler   ⇒   ADC_IRQHandler

    Function Pointers

    Global Symbols

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

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

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

    [Called By]

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

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

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

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

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

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

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, arm_startup_nrf51.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    __rt_ctype_table (Thumb, 4 bytes, Stack size 0 bytes, ctype_o.o(.text))

    [Called By]

    __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))

    [Called By]

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

    [Called By]

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

    strlen (Thumb, 14 bytes, Stack size 0 bytes, strlen.o(.text))

    [Called By]

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

    [Calls]


    [Called By]

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

    [Calls]


    [Called By]

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

    __aeabi_llsl (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)

    [Called By]

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

    __aeabi_llsr (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)

    [Called By]

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

    SystemInit (Thumb, 130 bytes, Stack size 8 bytes, system_nrf51.o(i.SystemInit))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIMER0_IRQHandler (Thumb, 14 bytes, Stack size 8 bytes, nrf_drv_timer.o(i.TIMER0_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIMER1_IRQHandler (Thumb, 14 bytes, Stack size 8 bytes, nrf_drv_timer.o(i.TIMER1_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIMER2_IRQHandler (Thumb, 14 bytes, Stack size 8 bytes, nrf_drv_timer.o(i.TIMER2_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART0_IRQHandler (Thumb, 12 bytes, Stack size 8 bytes, nrf_drv_uart.o(i.UART0_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    __0snprintf$8 (Thumb, 46 bytes, Stack size 32 bytes, printf8.o(i.__0snprintf$8), UNUSED)

    [Calls]

    __1snprintf$8 (Thumb, 0 bytes, Stack size 32 bytes, printf8.o(i.__0snprintf$8), UNUSED)

    __2snprintf (Thumb, 0 bytes, Stack size 32 bytes, printf8.o(i.__0snprintf$8))

    [Stack]


    [Called By]

    __ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, nrf_log_backend_serial.o(i.__ARM_common_switch8))

    [Stack]


    [Called By]

    __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, 38 bytes, Stack size 0 bytes, app_error_weak.o(i.app_error_fault_handler))

    [Stack]


    [Calls]
    [Called By]

    app_error_handler_bare (Thumb, 20 bytes, Stack size 16 bytes, app_error.o(i.app_error_handler_bare))

    [Stack]


    [Calls]
    [Called By]

    app_util_critical_region_enter (Thumb, 8 bytes, Stack size 4 bytes, app_util_platform.o(i.app_util_critical_region_enter))

    [Stack]


    [Calls]
    [Called By]

    app_util_critical_region_exit (Thumb, 8 bytes, Stack size 4 bytes, app_util_platform.o(i.app_util_critical_region_exit))

    [Stack]


    [Calls]
    [Called By]

    app_util_disable_irq (Thumb, 12 bytes, Stack size 0 bytes, app_util_platform.o(i.app_util_disable_irq))

    [Called By]

    app_util_enable_irq (Thumb, 14 bytes, Stack size 0 bytes, app_util_platform.o(i.app_util_enable_irq))

    [Called By]

    buffer_is_empty (Thumb, 16 bytes, Stack size 0 bytes, nrf_log_frontend.o(i.buffer_is_empty))

    [Called By]

    main (Thumb, 272 bytes, Stack size 16 bytes, main.o(i.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    [Stack]


    [Called By]

    nrf_drv_ppi_channel_alloc (Thumb, 82 bytes, Stack size 24 bytes, nrf_drv_ppi.o(i.nrf_drv_ppi_channel_alloc))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_ppi_channel_assign (Thumb, 60 bytes, Stack size 24 bytes, nrf_drv_ppi.o(i.nrf_drv_ppi_channel_assign))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_ppi_channel_enable (Thumb, 54 bytes, Stack size 16 bytes, nrf_drv_ppi.o(i.nrf_drv_ppi_channel_enable))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_ppi_init (Thumb, 20 bytes, Stack size 0 bytes, nrf_drv_ppi.o(i.nrf_drv_ppi_init))

    [Called By]

    nrf_drv_timer_capture (Thumb, 28 bytes, Stack size 8 bytes, nrf_drv_timer.o(i.nrf_drv_timer_capture))

    [Stack]


    [Called By]

    nrf_drv_timer_clear (Thumb, 8 bytes, Stack size 0 bytes, nrf_drv_timer.o(i.nrf_drv_timer_clear))

    [Called By]

    nrf_drv_timer_compare (Thumb, 42 bytes, Stack size 16 bytes, nrf_drv_timer.o(i.nrf_drv_timer_compare))

    [Stack]


    [Called By]

    nrf_drv_timer_enable (Thumb, 22 bytes, Stack size 0 bytes, nrf_drv_timer.o(i.nrf_drv_timer_enable))

    [Called By]

    nrf_drv_timer_extended_compare (Thumb, 46 bytes, Stack size 20 bytes, nrf_drv_timer.o(i.nrf_drv_timer_extended_compare))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_timer_increment (Thumb, 8 bytes, Stack size 0 bytes, nrf_drv_timer.o(i.nrf_drv_timer_increment))

    [Called By]

    nrf_drv_timer_init (Thumb, 150 bytes, Stack size 16 bytes, nrf_drv_timer.o(i.nrf_drv_timer_init))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_uart_init (Thumb, 118 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.nrf_drv_uart_init))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_uart_tx (Thumb, 46 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.nrf_drv_uart_tx))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_uart_tx_in_progress (Thumb, 20 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.nrf_drv_uart_tx_in_progress))

    [Called By]

    nrf_drv_uart_uninit (Thumb, 140 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.nrf_drv_uart_uninit))

    [Stack]


    [Calls]
    [Called By]

    nrf_log_backend_hexdump_handler_get (Thumb, 4 bytes, Stack size 0 bytes, nrf_log_backend_serial.o(i.nrf_log_backend_hexdump_handler_get))

    [Called By]

    nrf_log_backend_init (Thumb, 102 bytes, Stack size 48 bytes, nrf_log_backend_serial.o(i.nrf_log_backend_init))

    [Stack]


    [Calls]
    [Called By]

    nrf_log_backend_std_handler_get (Thumb, 4 bytes, Stack size 0 bytes, nrf_log_backend_serial.o(i.nrf_log_backend_std_handler_get))

    [Called By]

    nrf_log_blocking_backend_set (Thumb, 10 bytes, Stack size 8 bytes, nrf_log_frontend.o(i.nrf_log_blocking_backend_set))

    [Stack]


    [Calls]
    [Called By]

    nrf_log_frontend_dequeue (Thumb, 318 bytes, Stack size 104 bytes, nrf_log_frontend.o(i.nrf_log_frontend_dequeue))

    [Stack]


    [Calls]
    [Called By]

    nrf_log_frontend_init (Thumb, 20 bytes, Stack size 4 bytes, nrf_log_frontend.o(i.nrf_log_frontend_init))

    [Stack]


    [Calls]
    [Called By]

    nrf_log_frontend_std_0 (Thumb, 68 bytes, Stack size 24 bytes, nrf_log_frontend.o(i.nrf_log_frontend_std_0))

    [Stack]


    [Calls]
    [Called By]

    nrf_log_frontend_std_1 (Thumb, 86 bytes, Stack size 40 bytes, nrf_log_frontend.o(i.nrf_log_frontend_std_1))

    [Stack]


    [Calls]
    [Called By]

    nrf_log_handlers_set (Thumb, 8 bytes, Stack size 0 bytes, nrf_log_frontend.o(i.nrf_log_handlers_set))

    [Called By]

    nrf_log_init (Thumb, 36 bytes, Stack size 16 bytes, nrf_log_frontend.o(i.nrf_log_init))

    [Stack]


    [Calls]
    [Called By]

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

    Local Symbols

    ppi_init (Thumb, 132 bytes, Stack size 16 bytes, main.o(i.ppi_init))

    [Stack]


    [Calls]
    [Called By]

    are_app_channels (Thumb, 14 bytes, Stack size 0 bytes, nrf_drv_ppi.o(i.are_app_channels))

    [Called By]

    is_allocated_channel (Thumb, 20 bytes, Stack size 0 bytes, nrf_drv_ppi.o(i.is_allocated_channel))

    [Called By]

    is_app_channel (Thumb, 14 bytes, Stack size 8 bytes, nrf_drv_ppi.o(i.is_app_channel))

    [Stack]


    [Calls]
    [Called By]

    is_programmable_app_channel (Thumb, 14 bytes, Stack size 0 bytes, nrf_drv_ppi.o(i.is_programmable_app_channel))

    [Called By]

    irq_handler (Thumb, 64 bytes, Stack size 32 bytes, nrf_drv_timer.o(i.irq_handler))

    [Stack]


    [Called By]

    apply_config (Thumb, 128 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.apply_config))

    [Stack]


    [Calls]
    [Called By]

    nrf_drv_uart_tx_for_uart (Thumb, 134 bytes, Stack size 24 bytes, nrf_drv_uart.o(i.nrf_drv_uart_tx_for_uart))

    [Stack]


    [Calls]
    [Called By]

    nrf_gpio_cfg (Thumb, 40 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.nrf_gpio_cfg))

    [Stack]


    [Called By]

    nrf_gpio_cfg_default (Thumb, 18 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.nrf_gpio_cfg_default))

    [Stack]


    [Calls]
    [Called By]

    nrf_gpio_cfg_input (Thumb, 18 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.nrf_gpio_cfg_input))

    [Stack]


    [Calls]
    [Called By]

    nrf_gpio_cfg_output (Thumb, 20 bytes, Stack size 16 bytes, nrf_drv_uart.o(i.nrf_gpio_cfg_output))

    [Stack]


    [Calls]
    [Called By]

    nrf_uart_event_check (Thumb, 10 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.nrf_uart_event_check))

    [Called By]

    nrf_uart_int_enable_check (Thumb, 16 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.nrf_uart_int_enable_check))

    [Called By]

    rx_byte (Thumb, 38 bytes, Stack size 12 bytes, nrf_drv_uart.o(i.rx_byte))

    [Stack]


    [Called By]

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

    [Stack]


    [Called By]

    tx_byte (Thumb, 30 bytes, Stack size 0 bytes, nrf_drv_uart.o(i.tx_byte))

    [Called By]

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

    [Stack]


    [Called By]

    uart_irq_handler (Thumb, 296 bytes, Stack size 40 bytes, nrf_drv_uart.o(i.uart_irq_handler))

    [Stack]


    [Calls]
    [Called By]

    buf_len_update (Thumb, 18 bytes, Stack size 0 bytes, nrf_log_backend_serial.o(i.buf_len_update))

    [Called By]

    nrf_log_backend_serial_hexdump_handler (Thumb, 306 bytes, Stack size 296 bytes, nrf_log_backend_serial.o(i.nrf_log_backend_serial_hexdump_handler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    nrf_log_backend_serial_std_handler (Thumb, 260 bytes, Stack size 320 bytes, nrf_log_backend_serial.o(i.nrf_log_backend_serial_std_handler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    serial_is_busy (Thumb, 10 bytes, Stack size 8 bytes, nrf_log_backend_serial.o(i.serial_is_busy))

    [Stack]


    [Calls]
    [Called By]

    serial_tx (Thumb, 36 bytes, Stack size 16 bytes, nrf_log_backend_serial.o(i.serial_tx))

    [Stack]


    [Calls]
    [Called By]

    timestamp_process (Thumb, 42 bytes, Stack size 8 bytes, nrf_log_backend_serial.o(i.timestamp_process))

    [Stack]


    [Calls]
    [Called By]

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

    buf_prealloc (Thumb, 90 bytes, Stack size 16 bytes, nrf_log_frontend.o(i.buf_prealloc))

    [Stack]


    [Calls]
    [Called By]

    is_manual_peripheral_setup_needed (Thumb, 66 bytes, Stack size 0 bytes, system_nrf51.o(i.is_manual_peripheral_setup_needed))

    [Called By]

    _printf_core (Thumb, 1020 bytes, Stack size 104 bytes, printf8.o(i._printf_core), UNUSED)

    [Calls]


    [Called By]

    _printf_post_padding (Thumb, 32 bytes, Stack size 24 bytes, printf8.o(i._printf_post_padding), UNUSED)

    [Called By]

    _printf_pre_padding (Thumb, 44 bytes, Stack size 40 bytes, printf8.o(i._printf_pre_padding), UNUSED)

    [Called By]

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

    Undefined Global Symbols