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



#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Fri Nov 1 16:14:49 2024

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

Call chain for Maximum Stack Depth:

main ⇒ Main_Menu ⇒ SerialDownload ⇒ Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ 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))

    [Stack]


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

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

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

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

    Cal_CRC16 (Thumb, 308 bytes, Stack size 24 bytes, ymodem.o(.text.Cal_CRC16))

    [Stack]


    [Called By]

    DMA_IRQHandler (Thumb, 112 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, 380 bytes, Stack size 24 bytes, mk_gpio.o(.text.GPIO_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    IAP_JumpTo (Thumb, 40 bytes, Stack size 8 bytes, menu.o(.text.IAP_JumpTo))

    [Stack]


    [Calls]
    [Called By]

    Int2Str (Thumb, 464 bytes, Stack size 40 bytes, menu.o(.text.Int2Str))

    [Stack]


    [Calls]
    [Called By]

    InvCipher (Thumb, 640 bytes, Stack size 56 bytes, aes.o(.text.InvCipher))

    [Stack]


    [Calls]
    [Called By]

    InvMixColumn (Thumb, 256 bytes, Stack size 60 bytes, aes.o(.text.InvMixColumn))

    [Stack]


    [Called By]

    KeyExpansion (Thumb, 356 bytes, Stack size 60 bytes, aes.o(.text.KeyExpansion))

    [Stack]


    [Called By]

    Main_Menu (Thumb, 128 bytes, Stack size 24 bytes, menu.o(.text.Main_Menu))

    [Stack]


    [Calls]
    [Called By]

    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]

    Send_Byte (Thumb, 10 bytes, Stack size 8 bytes, ymodem.o(.text.Send_Byte))

    [Stack]


    [Calls]
    [Called By]

    SerialDownload (Thumb, 168 bytes, Stack size 32 bytes, menu.o(.text.SerialDownload))

    [Stack]


    [Calls]
    [Called By]

    SerialKeyPressed (Thumb, 24 bytes, Stack size 0 bytes, mk_uart.o(.text.SerialKeyPressed))

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    Serial_PutString (Thumb, 56 bytes, Stack size 24 bytes, mk_uart.o(.text.Serial_PutString))

    [Stack]


    [Calls]
    [Called By]

    Str2Int (Thumb, 1330 bytes, Stack size 20 bytes, ymodem.o(.text.Str2Int))

    [Stack]


    [Called By]

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

    [Stack]


    [Address Reference Count : 1]

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

    [Called By]

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

    [Stack]


    [Address Reference Count : 1]

    TIMER3_IRQHandler (Thumb, 36 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, 32 bytes, Stack size 16 bytes, mk_wdt.o(.text.WDT_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    Ymodem_Receive (Thumb, 812 bytes, Stack size 32 bytes, ymodem.o(.text.Ymodem_Receive))

    [Stack]


    [Calls]
    [Called By]

    aesDecInit (Thumb, 196 bytes, Stack size 24 bytes, aes.o(.text.aesDecInit))

    [Stack]


    [Calls]
    [Called By]

    aesDecrypt (Thumb, 308 bytes, Stack size 40 bytes, aes.o(.text.aesDecrypt))

    [Stack]


    [Calls]
    [Called By]

    board_clock_run (Thumb, 104 bytes, Stack size 16 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]

    board_pins_config (Thumb, 38 bytes, Stack size 8 bytes, pin_config.o(.text.board_pins_config))

    [Stack]


    [Calls]
    [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, 240 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_attach))

    [Stack]


    [Called By]

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

    [Called By]

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

    [Called By]

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

    [Stack]


    [Called By]

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

    [Called By]

    delay_ms (Thumb, 14 bytes, Stack size 8 bytes, menu.o(.text.delay_ms))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    dma_transfer (Thumb, 80 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, 208 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_block_erase (Thumb, 308 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_block_erase))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    flash_erase (Thumb, 336 bytes, Stack size 48 bytes, mk_flash.o(.text.flash_erase))

    [Stack]


    [Calls]
    [Called By]

    flash_open (Thumb, 664 bytes, Stack size 40 bytes, mk_flash.o(.text.flash_open))

    [Stack]


    [Calls]
    [Called By]

    flash_read (Thumb, 592 bytes, Stack size 96 bytes, mk_flash.o(.text.flash_read))

    [Stack]


    [Calls]
    [Called By]

    flash_sector_erase (Thumb, 312 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_sector_erase))

    [Stack]


    [Calls]
    [Called By]

    flash_write (Thumb, 572 bytes, Stack size 104 bytes, mk_flash.o(.text.flash_write))

    [Stack]


    [Calls]
    [Called By]

    flash_write_nbytes (Thumb, 1980 bytes, Stack size 136 bytes, mk_flash.o(.text.flash_write_nbytes))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    io_pin_mux_set (Thumb, 80 bytes, Stack size 0 bytes, mk_io.o(.text.io_pin_mux_set))

    [Called By]

    main (Thumb, 536 bytes, Stack size 48 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, 80 bytes, Stack size 40 bytes, mk_misc.o(.text.sys_timer_open))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Called By]

    uart_open (Thumb, 396 bytes, Stack size 40 bytes, mk_uart.o(.text.uart_open))

    [Stack]


    [Calls]
    [Called By]

    uart_send (Thumb, 720 bytes, Stack size 88 bytes, mk_uart.o(.text.uart_send))

    [Stack]


    [Calls]
    [Called By]

    wdt_close (Thumb, 80 bytes, Stack size 16 bytes, mk_wdt.o(.text.wdt_close))

    [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

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

    [Stack]


    [Calls]
    [Address Reference Count : 3]

    flash_dma_write_nbytes_callback (Thumb, 448 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_dma_write_nbytes_callback))

    [Stack]


    [Calls]
    [Address Reference Count : 2]

    flash_wait_done (Thumb, 96 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_wait_done))

    [Stack]


    [Calls]
    [Called By]

    flash_write_cmd (Thumb, 268 bytes, Stack size 40 bytes, mk_flash.o(.text.flash_write_cmd))

    [Stack]


    [Calls]
    [Called By]

    uart_dma_callback (Thumb, 292 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_dma_callback))

    [Stack]


    [Address Reference Count : 1]

    Undefined Global Symbols