Static Call Graph for image .\Objects\customboot.axf



#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Tue Aug 12 11:01:03 2025

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

Call chain for Maximum Stack Depth:

main ⇒ flash_read ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get

Mutually Recursive functions

  • ACMP0_IRQHandler   ⇒   ACMP0_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, entry4.o(.ARM.Collect$$$$00000003))

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

    __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text))

    [Stack]


    [Called By]

    __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

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

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

    [Called By]

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

    [Called By]

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

    [Calls]

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

    [Called By]

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

    _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)

    [Calls]

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

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

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

    BOD_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, mk_misc.o(.text.BOD_IRQHandler))
    [Address Reference Count : 1]

    CALIB_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, mk_calib.o(.text.CALIB_IRQHandler))
    [Address Reference Count : 1]

    DMA_IRQHandler (Thumb, 104 bytes, Stack size 24 bytes, mk_dma.o(.text.DMA_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    ACMP0_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    ACMP1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    ADC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    AES_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    Default_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler), UNUSED)

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    I2C0_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    LSP_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    MAC_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    PHY_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    PHY_TIMER_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    PWM_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    RCO32K_CAL_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    RTC_ALARM_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    RTC_TICK_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    SPI0_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    SPI1_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

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

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

    TRNG_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    WAKEUP_IRQHandler (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler))
    [Address Reference Count : 1]

    FLASH_CTRL_IRQHandler (Thumb, 44 bytes, Stack size 8 bytes, mk_flash.o(.text.FLASH_CTRL_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    GPIO_IRQHandler (Thumb, 56 bytes, Stack size 24 bytes, mk_gpio.o(.text.GPIO_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    Reset_Handler (Thumb, 32 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Reset_Handler))

    [Calls]


    [Address Reference Count : 1]

    SLEEP_TIMER_IRQHandler (Thumb, 60 bytes, Stack size 8 bytes, mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    SerialPutChar (Thumb, 36 bytes, Stack size 16 bytes, mk_uart.o(.text.SerialPutChar))

    [Stack]


    [Calls]
    [Called By]

    Serial_PutString (Thumb, 20 bytes, Stack size 8 bytes, mk_uart.o(.text.Serial_PutString))

    [Stack]


    [Calls]
    [Called By]

    SysTick_Handler (Thumb, 24 bytes, Stack size 8 bytes, mk_misc.o(.text.SysTick_Handler))

    [Stack]


    [Address Reference Count : 1]

    SystemInit (Thumb, 12 bytes, Stack size 0 bytes, system_mk800x.o(.text.SystemInit))

    [Called By]

    TIMER2_IRQHandler (Thumb, 28 bytes, Stack size 16 bytes, mk_dual_timer.o(.text.TIMER2_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    TIMER3_IRQHandler (Thumb, 32 bytes, Stack size 16 bytes, mk_dual_timer.o(.text.TIMER3_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    UART0_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, mk_uart.o(.text.UART0_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART1_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, mk_uart.o(.text.UART1_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    WDT_IRQHandler (Thumb, 28 bytes, Stack size 16 bytes, mk_wdt.o(.text.WDT_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    board_clock_run (Thumb, 100 bytes, Stack size 24 bytes, board.o(.text.board_clock_run))

    [Stack]


    [Calls]
    [Called By]

    board_configure (Thumb, 2 bytes, Stack size 0 bytes, board.o(.text.board_configure))

    [Called By]

    calib_check (Thumb, 16 bytes, Stack size 0 bytes, mk_calib.o(.text.calib_check))

    [Called By]

    calib_chip (Thumb, 296 bytes, Stack size 16 bytes, mk_calib.o(.text.calib_chip))

    [Stack]


    [Calls]
    [Called By]

    calib_close (Thumb, 12 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_close))

    [Stack]


    [Calls]
    [Called By]

    calib_open (Thumb, 20 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_open))

    [Stack]


    [Calls]
    [Called By]

    calib_start (Thumb, 16 bytes, Stack size 0 bytes, mk_calib.o(.text.calib_start))

    [Called By]

    clock_attach (Thumb, 188 bytes, Stack size 16 bytes, mk_clock.o(.text.clock_attach))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    clock_disable (Thumb, 16 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_disable))

    [Called By]

    clock_enable (Thumb, 20 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_enable))

    [Called By]

    clock_get_frequency (Thumb, 82 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_frequency))

    [Stack]


    [Calls]
    [Called By]

    clock_set_divider (Thumb, 96 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_set_divider))

    [Called By]

    clock_xtal38m4_injection_set (Thumb, 60 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_xtal38m4_injection_set))

    [Called By]

    delay_us (Thumb, 28 bytes, Stack size 0 bytes, mk_misc.o(.text.delay_us))

    [Called By]

    dma_open (Thumb, 220 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_open))

    [Stack]


    [Calls]
    [Called By]

    dma_transfer (Thumb, 76 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_transfer))

    [Stack]


    [Called By]

    dual_timer_get (Thumb, 12 bytes, Stack size 0 bytes, mk_dual_timer.o(.text.dual_timer_get))

    [Called By]

    dual_timer_open (Thumb, 204 bytes, Stack size 24 bytes, mk_dual_timer.o(.text.dual_timer_open))

    [Stack]


    [Calls]
    [Called By]

    dual_timer_start (Thumb, 24 bytes, Stack size 0 bytes, mk_dual_timer.o(.text.dual_timer_start))

    [Called By]

    flash_check_busy (Thumb, 120 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_check_busy))

    [Stack]


    [Calls]
    [Called By]

    flash_open (Thumb, 388 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_open))

    [Stack]


    [Calls]
    [Called By]

    flash_read (Thumb, 388 bytes, Stack size 80 bytes, mk_flash.o(.text.flash_read))

    [Stack]


    [Calls]
    [Called By]

    gpio_close (Thumb, 12 bytes, Stack size 8 bytes, mk_gpio.o(.text.gpio_close))

    [Stack]


    [Calls]
    [Called By]

    gpio_open (Thumb, 20 bytes, Stack size 8 bytes, mk_gpio.o(.text.gpio_open))

    [Stack]


    [Calls]
    [Called By]

    main (Thumb, 272 bytes, Stack size 8 bytes, customboot.o(.text.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    mk_chip_id (Thumb, 12 bytes, Stack size 0 bytes, mk_misc.o(.text.mk_chip_id))

    [Called By]

    reset_module (Thumb, 28 bytes, Stack size 0 bytes, mk_reset.o(.text.reset_module))

    [Called By]

    start_main_asm (Thumb, 4 bytes, Stack size 0 bytes, startup_mk800x.o(.text.start_main_asm))

    [Called By]

    sys_tick_start (Thumb, 44 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_tick_start))

    [Stack]


    [Called By]

    sys_timer_get (Thumb, 12 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_timer_get))

    [Stack]


    [Calls]
    [Called By]

    sys_timer_open (Thumb, 76 bytes, Stack size 40 bytes, mk_misc.o(.text.sys_timer_open))

    [Stack]


    [Calls]
    [Called By]

    uart_close (Thumb, 128 bytes, Stack size 16 bytes, mk_uart.o(.text.uart_close))

    [Stack]


    [Calls]
    [Called By]

    uart_irq_handler (Thumb, 376 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_irq_handler))

    [Stack]


    [Calls]
    [Called By]

    uart_send (Thumb, 340 bytes, Stack size 72 bytes, mk_uart.o(.text.uart_send))

    [Stack]


    [Calls]
    [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)

    Local Symbols

    clock_get_ahb_clk_freq (Thumb, 20 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_ahb_clk_freq))

    [Stack]


    [Calls]
    [Called By]

    clock_get_apb_clk_freq (Thumb, 20 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_apb_clk_freq))

    [Stack]


    [Calls]
    [Called By]

    clock_get_sys_clk_freq (Thumb, 36 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_get_sys_clk_freq))

    [Called By]

    flash_dma_callback (Thumb, 216 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_dma_callback))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    flash_read_status (Thumb, 32 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_read_status))

    [Stack]


    [Calls]
    [Called By]

    flash_reset_cmd (Thumb, 24 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_reset_cmd))

    [Stack]


    [Calls]
    [Called By]

    flash_state_update (Thumb, 72 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_state_update))

    [Stack]


    [Called By]

    flash_wait_done (Thumb, 40 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_wait_done))

    [Stack]


    [Calls]
    [Called By]

    flash_wait_status (Thumb, 56 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_wait_status))

    [Stack]


    [Calls]
    [Called By]

    flash_write_cmd (Thumb, 208 bytes, Stack size 48 bytes, mk_flash.o(.text.flash_write_cmd))

    [Stack]


    [Calls]
    [Called By]

    flash_write_mem_cmd (Thumb, 40 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_write_mem_cmd))

    [Stack]


    [Calls]
    [Called By]

    flash_write_quad_mode (Thumb, 116 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_write_quad_mode))

    [Stack]


    [Calls]
    [Called By]

    uart_dma_callback (Thumb, 200 bytes, Stack size 24 bytes, mk_uart.o(.text.uart_dma_callback))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    uart_state_clear (Thumb, 56 bytes, Stack size 8 bytes, mk_uart.o(.text.uart_state_clear))

    [Stack]


    [Called By]

    uart_state_set (Thumb, 96 bytes, Stack size 16 bytes, mk_uart.o(.text.uart_state_set))

    [Stack]


    [Called By]

    Undefined Global Symbols