Static Call Graph for image STM32F103rb_bootloader\STM32F103rb_bootloader.axf



#<CALLGRAPH># ARM Linker, 5050106: Last Updated: Fri Aug 14 23:23:59 2026

Maximum Stack Usage = 592 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ Start_BootLoader ⇒ Copy_External_To_App1 ⇒ WriteFlash ⇒ log_error ⇒ _log_print ⇒ vsnprintf ⇒ _printf_char_common ⇒ __printf

Functions with no stack information

Mutually Recursive functions

  • ADC1_2_IRQHandler   ⇒   ADC1_2_IRQHandler
  • BusFault_Handler   ⇒   BusFault_Handler
  • HardFault_Handler   ⇒   HardFault_Handler
  • MemManage_Handler   ⇒   MemManage_Handler
  • UsageFault_Handler   ⇒   UsageFault_Handler

    Function Pointers

    Global Symbols

    __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))

    [Calls]

    __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))

    [Called By]

    __scatterload_rt2 (Thumb, 44 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)

    _printf_n (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001))

    [Calls]

    _printf_percent (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000))

    [Called By]

    _printf_p (Thumb, 0 bytes, Stack size unknown bytes, _printf_p.o(.ARM.Collect$$_printf_percent$$00000002))

    [Stack]


    [Calls]

    _printf_f (Thumb, 0 bytes, Stack size unknown bytes, _printf_f.o(.ARM.Collect$$_printf_percent$$00000003))

    [Stack]


    [Calls]

    _printf_e (Thumb, 0 bytes, Stack size unknown bytes, _printf_e.o(.ARM.Collect$$_printf_percent$$00000004))

    [Stack]


    [Calls]

    _printf_g (Thumb, 0 bytes, Stack size unknown bytes, _printf_g.o(.ARM.Collect$$_printf_percent$$00000005))

    [Stack]


    [Calls]

    _printf_a (Thumb, 0 bytes, Stack size unknown bytes, _printf_a.o(.ARM.Collect$$_printf_percent$$00000006))

    [Stack]


    [Calls]

    _printf_ll (Thumb, 0 bytes, Stack size unknown bytes, _printf_ll.o(.ARM.Collect$$_printf_percent$$00000007))

    _printf_i (Thumb, 0 bytes, Stack size unknown bytes, _printf_i.o(.ARM.Collect$$_printf_percent$$00000008))

    [Stack]


    [Calls]

    _printf_d (Thumb, 0 bytes, Stack size unknown bytes, _printf_d.o(.ARM.Collect$$_printf_percent$$00000009))

    [Stack]


    [Calls]

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

    [Stack]


    [Calls]

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

    [Stack]


    [Calls]

    _printf_x (Thumb, 0 bytes, Stack size unknown bytes, _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C))

    [Stack]


    [Calls]

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

    [Stack]


    [Calls]

    _printf_lld (Thumb, 0 bytes, Stack size unknown bytes, _printf_lld.o(.ARM.Collect$$_printf_percent$$0000000E))

    [Stack]


    [Calls]

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

    [Stack]


    [Calls]

    _printf_llo (Thumb, 0 bytes, Stack size unknown bytes, _printf_llo.o(.ARM.Collect$$_printf_percent$$00000010))

    [Stack]


    [Calls]

    _printf_llx (Thumb, 0 bytes, Stack size unknown bytes, _printf_llx.o(.ARM.Collect$$_printf_percent$$00000011))

    [Stack]


    [Calls]

    _printf_l (Thumb, 0 bytes, Stack size unknown bytes, _printf_l.o(.ARM.Collect$$_printf_percent$$00000012))

    _printf_c (Thumb, 0 bytes, Stack size unknown bytes, _printf_c.o(.ARM.Collect$$_printf_percent$$00000013))

    [Stack]


    [Calls]

    _printf_s (Thumb, 0 bytes, Stack size unknown bytes, _printf_s.o(.ARM.Collect$$_printf_percent$$00000014))

    [Stack]


    [Calls]

    _printf_lc (Thumb, 0 bytes, Stack size unknown bytes, _printf_lc.o(.ARM.Collect$$_printf_percent$$00000015))

    [Stack]


    [Calls]

    _printf_ls (Thumb, 0 bytes, Stack size unknown bytes, _printf_ls.o(.ARM.Collect$$_printf_percent$$00000016))

    [Stack]


    [Calls]

    _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))

    __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))

    [Called By]

    __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))

    __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

    __rt_lib_init_lc_common (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000F))

    [Calls]

    __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_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

    __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

    __rt_lib_init_lc_ctype_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000012))

    [Stack]


    [Calls]

    __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_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000016))

    [Stack]


    [Calls]

    __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_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_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_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_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))

    [Called By]

    __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

    __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

    __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

    __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

    __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))

    __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))

    __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))

    [Called By]

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


    [Calls]

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


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

    MSR_MSP (Thumb, 6 bytes, Stack size 0 bytes, ota_boot.o(.emb_text))

    [Called By]

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

    ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_hd.o(.text))

    [Called By]

    vsnprintf (Thumb, 48 bytes, Stack size 24 bytes, vsnprintf.o(.text))

    [Stack]


    [Calls]
    [Called By]

    memcmp (Thumb, 88 bytes, Stack size 8 bytes, memcmp.o(.text))

    [Stack]


    [Called By]

    strlen (Thumb, 62 bytes, Stack size 8 bytes, strlen.o(.text))

    [Stack]


    [Called By]

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

    [Called By]

    __rt_memcpy (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED)

    [Calls]

    _memcpy_lastbytes (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED)

    __aeabi_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text))

    [Called By]

    __rt_memclr (Thumb, 68 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

    [Calls]

    _memset (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr.o(.text), UNUSED)

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

    [Stack]


    [Called By]

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

    __rt_memclr_w (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

    _memset_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)

    [Called By]

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

    _printf_pre_padding (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text))

    [Stack]


    [Called By]

    _printf_post_padding (Thumb, 34 bytes, Stack size 16 bytes, _printf_pad.o(.text))

    [Stack]


    [Called By]

    _printf_truncate_signed (Thumb, 18 bytes, Stack size 0 bytes, _printf_truncate.o(.text))

    [Called By]

    _printf_truncate_unsigned (Thumb, 18 bytes, Stack size 0 bytes, _printf_truncate.o(.text))

    [Called By]

    _printf_str (Thumb, 82 bytes, Stack size 16 bytes, _printf_str.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_int_dec (Thumb, 104 bytes, Stack size 24 bytes, _printf_dec.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_charcount (Thumb, 40 bytes, Stack size 0 bytes, _printf_charcount.o(.text))

    [Called By]

    _printf_char_common (Thumb, 32 bytes, Stack size 64 bytes, _printf_char_common.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _sputc (Thumb, 10 bytes, Stack size 0 bytes, _sputc.o(.text))

    [Called By]

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

    _printf_wctomb (Thumb, 182 bytes, Stack size 56 bytes, _printf_wctomb.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_longlong_dec (Thumb, 108 bytes, Stack size 24 bytes, _printf_longlong_dec.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_longlong_oct (Thumb, 68 bytes, Stack size 8 bytes, _printf_oct_int_ll.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_int_oct (Thumb, 24 bytes, Stack size 8 bytes, _printf_oct_int_ll.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_ll_oct (Thumb, 12 bytes, Stack size 0 bytes, _printf_oct_int_ll.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_longlong_hex (Thumb, 86 bytes, Stack size 16 bytes, _printf_hex_int_ll_ptr.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_int_hex (Thumb, 28 bytes, Stack size 16 bytes, _printf_hex_int_ll_ptr.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_ll_hex (Thumb, 12 bytes, Stack size 0 bytes, _printf_hex_int_ll_ptr.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_hex_ptr (Thumb, 18 bytes, Stack size 0 bytes, _printf_hex_int_ll_ptr.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __printf (Thumb, 388 bytes, Stack size 40 bytes, __printf_flags_ss_wp.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

    [Called By]

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

    __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

    _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)

    _ll_udiv10 (Thumb, 138 bytes, Stack size 12 bytes, lludiv10.o(.text))

    [Stack]


    [Called By]

    _printf_int_common (Thumb, 178 bytes, Stack size 32 bytes, _printf_intcommon.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __lib_sel_fp_printf (Thumb, 2 bytes, Stack size 0 bytes, _printf_fp_dec.o(.text), UNUSED)

    _printf_fp_dec_real (Thumb, 620 bytes, Stack size 104 bytes, _printf_fp_dec.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_fp_hex_real (Thumb, 754 bytes, Stack size 72 bytes, _printf_fp_hex.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_cs_common (Thumb, 20 bytes, Stack size 8 bytes, _printf_char.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    _printf_string (Thumb, 8 bytes, Stack size 0 bytes, _printf_char.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _printf_lcs_common (Thumb, 20 bytes, Stack size 8 bytes, _printf_wchar.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    _printf_wstring (Thumb, 8 bytes, Stack size 0 bytes, _printf_wchar.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _wcrtomb (Thumb, 64 bytes, Stack size 16 bytes, _wcrtomb.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __rt_ctype_table (Thumb, 16 bytes, Stack size 8 bytes, rt_ctype_table.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __rt_locale (Thumb, 8 bytes, Stack size 0 bytes, rt_locale_intlibspace.o(.text))

    [Called By]

    _printf_fp_infnan (Thumb, 112 bytes, Stack size 24 bytes, _printf_fp_infnan.o(.text))

    [Stack]


    [Calls]
    [Called By]

    _btod_etento (Thumb, 216 bytes, Stack size 72 bytes, bigflt0.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

    [Calls]


    [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_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

    strcmp (Thumb, 128 bytes, Stack size 0 bytes, strcmpv7m.o(.text))

    [Called By]

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

    __semihosting_library_function (Thumb, 0 bytes, Stack size 0 bytes, indicate_semi.o(.text), UNUSED)

    _btod_d2e (Thumb, 62 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e))

    [Calls]


    [Called By]

    _d2e_denorm_low (Thumb, 70 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_denorm_low))

    [Called By]

    _d2e_norm_op1 (Thumb, 96 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_norm_op1))

    [Calls]


    [Called By]

    __btod_div_common (Thumb, 696 bytes, Stack size 24 bytes, btod.o(CL$$btod_div_common))

    [Stack]


    [Called By]

    _e2e (Thumb, 198 bytes, Stack size 24 bytes, btod.o(CL$$btod_e2e))

    [Stack]


    [Called By]

    _btod_ediv (Thumb, 40 bytes, Stack size 24 bytes, btod.o(CL$$btod_ediv))

    [Stack]


    [Calls]
    [Called By]

    _btod_emul (Thumb, 40 bytes, Stack size 24 bytes, btod.o(CL$$btod_emul))

    [Stack]


    [Calls]
    [Called By]

    __btod_mult_common (Thumb, 580 bytes, Stack size 16 bytes, btod.o(CL$$btod_mult_common))

    [Stack]


    [Called By]

    BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.BusFault_Handler))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    DMA1_Channel3_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    Error_Handler (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.Error_Handler))

    [Called By]

    HAL_DMA_Abort (Thumb, 70 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort))

    [Stack]


    [Called By]

    HAL_DMA_Abort_IT (Thumb, 296 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT))

    [Stack]


    [Called By]

    HAL_DMA_IRQHandler (Thumb, 552 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler))

    [Stack]


    [Called By]

    HAL_DMA_Init (Thumb, 112 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Init))

    [Stack]


    [Called By]

    HAL_DMA_Start_IT (Thumb, 112 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT))

    [Stack]


    [Calls]
    [Called By]

    HAL_Delay (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_Delay))

    [Stack]


    [Calls]
    [Called By]

    HAL_GPIO_Init (Thumb, 462 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init))

    [Stack]


    [Called By]

    HAL_GPIO_ReadPin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin))

    [Called By]

    HAL_GPIO_TogglePin (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin))

    [Called By]

    HAL_GPIO_WritePin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin))

    [Called By]

    HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick))

    [Called By]

    HAL_IWDG_Init (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_iwdg.o(i.HAL_IWDG_Init))

    [Stack]


    [Calls]
    [Called By]

    HAL_IWDG_Refresh (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_iwdg.o(i.HAL_IWDG_Refresh))

    [Called By]

    HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick))

    [Called By]

    HAL_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init))

    [Stack]


    [Calls]
    [Called By]

    HAL_InitTick (Thumb, 54 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_InitTick))

    [Stack]


    [Calls]
    [Called By]

    HAL_MspInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit))

    [Stack]


    [Called By]

    HAL_NVIC_DisableIRQ (Thumb, 34 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ))

    [Called By]

    HAL_NVIC_EnableIRQ (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ))

    [Called By]

    HAL_NVIC_SetPriority (Thumb, 60 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority))

    [Stack]


    [Calls]
    [Called By]

    HAL_NVIC_SetPriorityGrouping (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping))

    [Called By]

    HAL_RCC_ClockConfig (Thumb, 280 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig))

    [Stack]


    [Calls]
    [Called By]

    HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))

    [Called By]

    HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))

    [Called By]

    HAL_RCC_GetSysClockFreq (Thumb, 74 bytes, Stack size 20 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq))

    [Stack]


    [Called By]

    HAL_RCC_OscConfig (Thumb, 778 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig))

    [Stack]


    [Calls]
    [Called By]

    HAL_SYSTICK_Config (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config))

    [Stack]


    [Calls]
    [Called By]

    HAL_UART_DMAStop (Thumb, 88 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop))

    [Stack]


    [Calls]
    [Called By]

    HAL_UART_ErrorCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback))

    [Called By]

    HAL_UART_IRQHandler (Thumb, 266 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler))

    [Stack]


    [Calls]
    [Called By]

    HAL_UART_Init (Thumb, 98 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init))

    [Stack]


    [Calls]
    [Called By]

    HAL_UART_MspInit (Thumb, 226 bytes, Stack size 40 bytes, stm32f1xx_hal_msp.o(i.HAL_UART_MspInit))

    [Stack]


    [Calls]
    [Called By]

    HAL_UART_Receive_DMA (Thumb, 138 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA))

    [Stack]


    [Calls]
    [Called By]

    HAL_UART_RxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback))

    [Called By]

    HAL_UART_RxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback))

    [Called By]

    HAL_UART_Transmit (Thumb, 186 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Transmit))

    [Stack]


    [Calls]
    [Called By]

    HAL_UART_TxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback))

    [Called By]

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.HardFault_Handler))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    IAP_ExecuteApp (Thumb, 110 bytes, Stack size 16 bytes, ota_boot.o(i.IAP_ExecuteApp))

    [Stack]


    [Calls]
    [Called By]

    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.MemManage_Handler))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

    Start_BootLoader (Thumb, 772 bytes, Stack size 80 bytes, ota_boot.o(i.Start_BootLoader))

    [Stack]


    [Calls]
    [Called By]

    SysTick_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SysTick_Handler))

    [Calls]


    [Address Reference Count : 1]

    SystemClock_Config (Thumb, 94 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config))

    [Stack]


    [Calls]
    [Called By]

    SystemInit (Thumb, 56 bytes, Stack size 0 bytes, system_stm32f1xx.o(i.SystemInit))
    [Address Reference Count : 1]

    USART3_IRQHandler (Thumb, 66 bytes, Stack size 16 bytes, stm32f1xx_it.o(i.USART3_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.UsageFault_Handler))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    W25Q64_BlockErase (Thumb, 60 bytes, Stack size 16 bytes, w25q64.o(i.W25Q64_BlockErase))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_EraseRegion (Thumb, 72 bytes, Stack size 16 bytes, w25q64.o(i.W25Q64_EraseRegion))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_Init (Thumb, 214 bytes, Stack size 48 bytes, w25q64.o(i.W25Q64_Init))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_OTA_ClearConfirmed (Thumb, 40 bytes, Stack size 40 bytes, w25q64.o(i.W25Q64_OTA_ClearConfirmed))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_OTA_ClearNew (Thumb, 52 bytes, Stack size 40 bytes, w25q64.o(i.W25Q64_OTA_ClearNew))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_OTA_IncTrial (Thumb, 44 bytes, Stack size 40 bytes, w25q64.o(i.W25Q64_OTA_IncTrial))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_OTA_ReadInfo (Thumb, 98 bytes, Stack size 88 bytes, w25q64.o(i.W25Q64_OTA_ReadInfo))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_OTA_SetBackupInfo (Thumb, 50 bytes, Stack size 48 bytes, w25q64.o(i.W25Q64_OTA_SetBackupInfo))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_OTA_SetState (Thumb, 40 bytes, Stack size 48 bytes, w25q64.o(i.W25Q64_OTA_SetState))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_OTA_WriteInfo (Thumb, 70 bytes, Stack size 48 bytes, w25q64.o(i.W25Q64_OTA_WriteInfo))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_PageProgram (Thumb, 94 bytes, Stack size 24 bytes, w25q64.o(i.W25Q64_PageProgram))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_Read (Thumb, 66 bytes, Stack size 24 bytes, w25q64.o(i.W25Q64_Read))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_ReadID (Thumb, 54 bytes, Stack size 16 bytes, w25q64.o(i.W25Q64_ReadID))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_ReadStatus (Thumb, 40 bytes, Stack size 16 bytes, w25q64.o(i.W25Q64_ReadStatus))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_SectorErase (Thumb, 60 bytes, Stack size 16 bytes, w25q64.o(i.W25Q64_SectorErase))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_Verify (Thumb, 72 bytes, Stack size 280 bytes, w25q64.o(i.W25Q64_Verify))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_WaitBusy (Thumb, 36 bytes, Stack size 16 bytes, w25q64.o(i.W25Q64_WaitBusy))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_WriteBuffer (Thumb, 50 bytes, Stack size 24 bytes, w25q64.o(i.W25Q64_WriteBuffer))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_WriteEnable (Thumb, 48 bytes, Stack size 8 bytes, w25q64.o(i.W25Q64_WriteEnable))

    [Stack]


    [Calls]
    [Called By]

    __ARM_fpclassify (Thumb, 40 bytes, Stack size 0 bytes, fpclassify.o(i.__ARM_fpclassify))

    [Called By]

    _is_digit (Thumb, 14 bytes, Stack size 0 bytes, __printf_wp.o(i._is_digit))

    [Called By]

    log_error (Thumb, 22 bytes, Stack size 24 bytes, log.o(i.log_error))

    [Stack]


    [Calls]
    [Called By]

    log_info (Thumb, 22 bytes, Stack size 24 bytes, log.o(i.log_info))

    [Stack]


    [Calls]
    [Called By]

    log_warn (Thumb, 22 bytes, Stack size 24 bytes, log.o(i.log_warn))

    [Stack]


    [Calls]
    [Called By]

    main (Thumb, 196 bytes, Stack size 24 bytes, main.o(i.main))

    [Stack]


    [Calls]
    [Called By]

    _get_lc_numeric (Thumb, 44 bytes, Stack size 8 bytes, lc_numeric_c.o(locale$$code))

    [Stack]


    [Calls]
    [Called By]

    _get_lc_ctype (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code))

    [Stack]


    [Calls]
    [Called By]
    [Address Reference Count : 1]

    _printf_fp_dec (Thumb, 4 bytes, Stack size 0 bytes, printf1.o(x$fpl$printf1))

    [Stack]


    [Calls]
    [Called By]

    _printf_fp_hex (Thumb, 4 bytes, Stack size 0 bytes, printf2.o(x$fpl$printf2))

    [Stack]


    [Calls]
    [Called By]

    Local Symbols

    MX_GPIO_Init (Thumb, 128 bytes, Stack size 24 bytes, main.o(i.MX_GPIO_Init))

    [Stack]


    [Calls]
    [Called By]

    UART_DMAAbortOnError (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART_DMAError (Thumb, 74 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMAError))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART_DMAReceiveCplt (Thumb, 60 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART_DMARxHalfCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    UART_EndRxTransfer (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndRxTransfer))

    [Called By]

    UART_EndTxTransfer (Thumb, 18 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndTxTransfer))

    [Called By]

    UART_Receive_IT (Thumb, 150 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_Receive_IT))

    [Stack]


    [Calls]
    [Called By]

    UART_SetConfig (Thumb, 178 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.UART_SetConfig))

    [Stack]


    [Calls]
    [Called By]

    UART_Transmit_IT (Thumb, 98 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_Transmit_IT))

    [Called By]

    UART_WaitOnFlagUntilTimeout (Thumb, 100 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))

    [Stack]


    [Calls]
    [Called By]

    DMA_SetConfig (Thumb, 42 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(i.DMA_SetConfig))

    [Stack]


    [Called By]

    __NVIC_SetPriority (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority))

    [Called By]

    BL_ReadPowerAdc (Thumb, 170 bytes, Stack size 8 bytes, ota_boot.o(i.BL_ReadPowerAdc))

    [Stack]


    [Called By]

    BL_WaitMainPower (Thumb, 60 bytes, Stack size 16 bytes, ota_boot.o(i.BL_WaitMainPower))

    [Stack]


    [Calls]
    [Called By]

    Copy_App1_To_External (Thumb, 188 bytes, Stack size 32 bytes, ota_boot.o(i.Copy_App1_To_External))

    [Stack]


    [Calls]
    [Called By]

    Copy_External_To_App1 (Thumb, 206 bytes, Stack size 32 bytes, ota_boot.o(i.Copy_External_To_App1))

    [Stack]


    [Calls]
    [Called By]

    Erase_page (Thumb, 176 bytes, Stack size 32 bytes, ota_boot.o(i.Erase_page))

    [Stack]


    [Calls]
    [Called By]

    FLASH_Lock_Reg (Thumb, 12 bytes, Stack size 0 bytes, ota_boot.o(i.FLASH_Lock_Reg))

    [Called By]

    FLASH_Unlock_Reg (Thumb, 18 bytes, Stack size 0 bytes, ota_boot.o(i.FLASH_Unlock_Reg))

    [Called By]

    FLASH_WaitBusy (Thumb, 40 bytes, Stack size 16 bytes, ota_boot.o(i.FLASH_WaitBusy))

    [Stack]


    [Calls]
    [Called By]

    FLASH_WriteHalfWord (Thumb, 88 bytes, Stack size 24 bytes, ota_boot.o(i.FLASH_WriteHalfWord))

    [Stack]


    [Calls]
    [Called By]

    Verify_Firmware (Thumb, 54 bytes, Stack size 8 bytes, ota_boot.o(i.Verify_Firmware))

    [Stack]


    [Calls]
    [Called By]

    WriteFlash (Thumb, 90 bytes, Stack size 32 bytes, ota_boot.o(i.WriteFlash))

    [Stack]


    [Calls]
    [Called By]

    __NVIC_ClearPendingIRQ (Thumb, 26 bytes, Stack size 0 bytes, ota_boot.o(i.__NVIC_ClearPendingIRQ))

    [Called By]

    boot_share_sum (Thumb, 16 bytes, Stack size 0 bytes, ota_boot.o(i.boot_share_sum))

    [Called By]

    crc16_modbus (Thumb, 48 bytes, Stack size 16 bytes, ota_boot.o(i.crc16_modbus))

    [Stack]


    [Called By]

    W25Q64_Delay (Thumb, 10 bytes, Stack size 0 bytes, w25q64.o(i.W25Q64_Delay))

    [Called By]

    W25Q64_InfoChecksum (Thumb, 20 bytes, Stack size 0 bytes, w25q64.o(i.W25Q64_InfoChecksum))

    [Called By]

    W25Q64_InfoValid (Thumb, 32 bytes, Stack size 8 bytes, w25q64.o(i.W25Q64_InfoValid))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_SPI_ReadByte (Thumb, 6 bytes, Stack size 0 bytes, w25q64.o(i.W25Q64_SPI_ReadByte))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_SPI_TransferByte (Thumb, 102 bytes, Stack size 32 bytes, w25q64.o(i.W25Q64_SPI_TransferByte))

    [Stack]


    [Calls]
    [Called By]

    W25Q64_WriteAddr (Thumb, 30 bytes, Stack size 8 bytes, w25q64.o(i.W25Q64_WriteAddr))

    [Stack]


    [Calls]
    [Called By]

    _log_print (Thumb, 96 bytes, Stack size 272 bytes, log.o(i._log_print))

    [Stack]


    [Calls]
    [Called By]

    _printf_input_char (Thumb, 10 bytes, Stack size 0 bytes, _printf_char_common.o(.text))
    [Address Reference Count : 1]

    _fp_digits (Thumb, 428 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text))

    [Stack]


    [Calls]
    [Called By]

    Undefined Global Symbols