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



#<CALLGRAPH># ARM Linker, 6160001: Last Updated: Fri Aug 9 20:39:27 2024

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

Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ ReadEeprom ⇒ AT24CxxRead ⇒ AT24CxxReadOneByte ⇒ I2CReadByte ⇒ SendI2CNAck ⇒ SetI2CSDAAsOutput ⇒ gpio_mode_set

Mutually Recursive functions

  • ADC_CMP_IRQHandler   ⇒   ADC_CMP_IRQHandler
  • HardFault_Handler   ⇒   HardFault_Handler

    Function Pointers

    Global Symbols

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

    [Calls]


    [Address Reference Count : 1]

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

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

    __aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))

    [Called By]

    __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)

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

    ADC_CMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_gd32e230.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Called By]

    __aeabi_memcpy (Thumb, 130 bytes, Stack size 24 bytes, rt_memcpy.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __rt_memcpy (Thumb, 0 bytes, Stack size 24 bytes, rt_memcpy.o(.text), UNUSED)

    _memset_w (Thumb, 26 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

    [Called By]

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

    [Calls]


    [Called By]

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

    [Calls]

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

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

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

    __aeabi_fdiv (Thumb, 0 bytes, Stack size 20 bytes, fdiv.o(.text))

    [Stack]


    [Called By]

    _fdiv (Thumb, 334 bytes, Stack size 20 bytes, fdiv.o(.text), UNUSED)

    [Called By]

    _frdiv (Thumb, 8 bytes, Stack size 0 bytes, fdiv.o(.text), UNUSED)

    [Calls]

    __aeabi_f2uiz (Thumb, 0 bytes, Stack size 0 bytes, ffixui.o(.text))

    [Called By]

    _ffixu (Thumb, 48 bytes, Stack size 0 bytes, ffixui.o(.text), UNUSED)

    __aeabi_i2f_normalise (Thumb, 72 bytes, Stack size 0 bytes, fflti.o(.text))

    [Called By]

    __aeabi_i2f (Thumb, 16 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)

    [Calls]

    _fflt (Thumb, 0 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)

    __aeabi_ui2f (Thumb, 6 bytes, Stack size 0 bytes, fflti.o(.text))

    [Calls]


    [Called By]

    _ffltu (Thumb, 0 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)

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

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


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

    _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 unknown bytes, indicate_semi.o(.text), UNUSED)

    ADC_dma_config (Thumb, 96 bytes, Stack size 48 bytes, adc.o(.text.ADC_dma_config))

    [Stack]


    [Calls]
    [Called By]

    AT24CxxRead (Thumb, 30 bytes, Stack size 16 bytes, at24cxx.o(.text.AT24CxxRead))

    [Stack]


    [Calls]
    [Called By]

    AT24CxxWrite (Thumb, 30 bytes, Stack size 16 bytes, at24cxx.o(.text.AT24CxxWrite))

    [Stack]


    [Calls]
    [Called By]

    AT24CxxWriteOneByte (Thumb, 56 bytes, Stack size 24 bytes, at24cxx.o(.text.AT24CxxWriteOneByte))

    [Stack]


    [Calls]
    [Called By]

    CRC_calculate_function (Thumb, 48 bytes, Stack size 20 bytes, im1253e.o(.text.CRC_calculate_function))

    [Stack]


    [Called By]

    Clr1SecFlag (Thumb, 8 bytes, Stack size 0 bytes, timer.o(.text.Clr1SecFlag))

    [Called By]

    ConfigADCGPIO (Thumb, 252 bytes, Stack size 48 bytes, adc.o(.text.ConfigADCGPIO))

    [Stack]


    [Calls]
    [Called By]

    DC_I_calfunction (Thumb, 20 bytes, Stack size 0 bytes, adc.o(.text.DC_I_calfunction))

    [Called By]

    DelayNms (Thumb, 20 bytes, Stack size 4 bytes, systick.o(.text.DelayNms))

    [Stack]


    [Called By]

    DelayNus (Thumb, 10 bytes, Stack size 4 bytes, systick.o(.text.DelayNus))

    [Stack]


    [Called By]
    [Address Reference Count : 1]

    Fault_display (Thumb, 142 bytes, Stack size 24 bytes, sn74hc595.o(.text.Fault_display))

    [Stack]


    [Calls]
    [Called By]

    GenI2CStartSig (Thumb, 64 bytes, Stack size 24 bytes, i2c.o(.text.GenI2CStartSig))

    [Stack]


    [Calls]
    [Called By]

    GenI2CStopSig (Thumb, 64 bytes, Stack size 24 bytes, i2c.o(.text.GenI2CStopSig))

    [Stack]


    [Calls]
    [Called By]

    Get1SecFlag (Thumb, 8 bytes, Stack size 0 bytes, timer.o(.text.Get1SecFlag))

    [Called By]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    I2CReadByte (Thumb, 100 bytes, Stack size 32 bytes, i2c.o(.text.I2CReadByte))

    [Stack]


    [Calls]
    [Called By]

    I2CSendByte (Thumb, 96 bytes, Stack size 32 bytes, i2c.o(.text.I2CSendByte))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    InitAT24Cxx (Thumb, 4 bytes, Stack size 0 bytes, at24cxx.o(.text.InitAT24Cxx))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    InitKey (Thumb, 60 bytes, Stack size 24 bytes, key.o(.text.InitKey))

    [Stack]


    [Calls]
    [Called By]

    InitLED (Thumb, 56 bytes, Stack size 16 bytes, led.o(.text.InitLED))

    [Stack]


    [Calls]
    [Called By]

    InitNVIC (Thumb, 2 bytes, Stack size 0 bytes, nvic.o(.text.InitNVIC))

    [Called By]

    InitRelay (Thumb, 352 bytes, Stack size 40 bytes, relay.o(.text.InitRelay))

    [Stack]


    [Calls]
    [Called By]

    InitSysTick (Thumb, 52 bytes, Stack size 0 bytes, systick.o(.text.InitSysTick))

    [Called By]

    InitTimer (Thumb, 228 bytes, Stack size 48 bytes, timer.o(.text.InitTimer))

    [Stack]


    [Called By]

    InitUART1 (Thumb, 188 bytes, Stack size 32 bytes, uart1.o(.text.InitUART1))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    Init_74hc595 (Thumb, 164 bytes, Stack size 32 bytes, sn74hc595.o(.text.Init_74hc595))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    Init_Dev_parameter (Thumb, 292 bytes, Stack size 80 bytes, main.o(.text.Init_Dev_parameter))

    [Stack]


    [Calls]
    [Called By]

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

    [Calls]


    [Called By]

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

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

    ReadEeprom (Thumb, 412 bytes, Stack size 56 bytes, readeeprom.o(.text.ReadEeprom))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Called By]

    Read_IM1253E_REG (Thumb, 68 bytes, Stack size 16 bytes, im1253e.o(.text.Read_IM1253E_REG))

    [Stack]


    [Calls]
    [Called By]

    Relayx_Onoff_state (Thumb, 284 bytes, Stack size 16 bytes, relay.o(.text.Relayx_Onoff_state))

    [Stack]


    [Calls]
    [Called By]

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

    ScanKey (Thumb, 12 bytes, Stack size 8 bytes, key.o(.text.ScanKey))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    SendI2CAck (Thumb, 60 bytes, Stack size 16 bytes, i2c.o(.text.SendI2CAck))

    [Stack]


    [Calls]
    [Called By]

    SendI2CNAck (Thumb, 60 bytes, Stack size 16 bytes, i2c.o(.text.SendI2CNAck))

    [Stack]


    [Calls]
    [Called By]

    Start_Send_UartData (Thumb, 44 bytes, Stack size 24 bytes, uart1.o(.text.Start_Send_UartData))

    [Stack]


    [Calls]
    [Called By]

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

    SystemInit (Thumb, 208 bytes, Stack size 8 bytes, system_gd32e230.o(.text.SystemInit))

    [Stack]


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

    TIMER13_IRQHandler (Thumb, 44 bytes, Stack size 8 bytes, porttimer.o(.text.TIMER13_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIMER14_IRQHandler (Thumb, 92 bytes, Stack size 24 bytes, timer.o(.text.TIMER14_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIMER15_IRQHandler (Thumb, 32 bytes, Stack size 8 bytes, timer.o(.text.TIMER15_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    TIMER16_IRQHandler (Thumb, 80 bytes, Stack size 16 bytes, timer.o(.text.TIMER16_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART0_IRQHandler (Thumb, 120 bytes, Stack size 16 bytes, portserial.o(.text.USART0_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    USART1_IRQHandler (Thumb, 60 bytes, Stack size 16 bytes, uart1.o(.text.USART1_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    ViewRcuClock (Thumb, 32 bytes, Stack size 16 bytes, rcu.o(.text.ViewRcuClock))

    [Stack]


    [Called By]

    Write_74hc573 (Thumb, 36 bytes, Stack size 16 bytes, sn74hc573.o(.text.Write_74hc573))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_assert (Thumb, 0 bytes, Stack size 0 bytes, main.o(.text.__aeabi_assert))

    [Called By]

    adc_calibration_enable (Thumb, 32 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_calibration_enable))

    [Called By]

    adc_channel_length_config (Thumb, 60 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_channel_length_config))

    [Called By]

    adc_data_alignment_config (Thumb, 24 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_data_alignment_config))

    [Called By]

    adc_deinit (Thumb, 24 bytes, Stack size 8 bytes, gd32e230_adc.o(.text.adc_deinit))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

    adc_enable (Thumb, 20 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_enable))

    [Called By]

    adc_external_trigger_source_config (Thumb, 32 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_external_trigger_source_config))

    [Called By]

    adc_regular_channel_config (Thumb, 136 bytes, Stack size 16 bytes, gd32e230_adc.o(.text.adc_regular_channel_config))

    [Stack]


    [Address Reference Count : 1]

    adc_resolution_config (Thumb, 20 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_resolution_config))

    [Called By]

    adc_software_trigger_enable (Thumb, 32 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_software_trigger_enable))

    [Called By]

    adc_special_function_config (Thumb, 92 bytes, Stack size 0 bytes, gd32e230_adc.o(.text.adc_special_function_config))

    [Called By]

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

    [Called By]

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

    [Called By]

    dma_deinit (Thumb, 44 bytes, Stack size 8 bytes, gd32e230_dma.o(.text.dma_deinit))

    [Stack]


    [Called By]

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

    [Called By]

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

    [Called By]

    dma_init (Thumb, 112 bytes, Stack size 16 bytes, gd32e230_dma.o(.text.dma_init))

    [Stack]


    [Called By]

    dma_memory_to_memory_disable (Thumb, 20 bytes, Stack size 0 bytes, gd32e230_dma.o(.text.dma_memory_to_memory_disable))

    [Called By]

    eMBASCIIInit (Thumb, 44 bytes, Stack size 8 bytes, mbascii.o(.text.eMBASCIIInit))

    [Stack]


    [Calls]
    [Called By]

    eMBASCIIReceive (Thumb, 68 bytes, Stack size 24 bytes, mbascii.o(.text.eMBASCIIReceive))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBASCIIStart (Thumb, 28 bytes, Stack size 8 bytes, mbascii.o(.text.eMBASCIIStart))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBASCIIStop (Thumb, 20 bytes, Stack size 8 bytes, mbascii.o(.text.eMBASCIIStop))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBEnable (Thumb, 28 bytes, Stack size 8 bytes, mb.o(.text.eMBEnable))

    [Stack]


    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBFuncReadHoldingRegister (Thumb, 88 bytes, Stack size 24 bytes, mbfuncholding.o(.text.eMBFuncReadHoldingRegister))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBFuncReadInputRegister (Thumb, 98 bytes, Stack size 24 bytes, mbfuncinput.o(.text.eMBFuncReadInputRegister))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBFuncReadWriteMultipleHoldingRegister (Thumb, 156 bytes, Stack size 24 bytes, mbfuncholding.o(.text.eMBFuncReadWriteMultipleHoldingRegister))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBFuncReportSlaveID (Thumb, 28 bytes, Stack size 16 bytes, mbfuncother.o(.text.eMBFuncReportSlaveID))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBFuncWriteCoil (Thumb, 68 bytes, Stack size 16 bytes, mbfunccoils.o(.text.eMBFuncWriteCoil))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBFuncWriteHoldingRegister (Thumb, 50 bytes, Stack size 8 bytes, mbfuncholding.o(.text.eMBFuncWriteHoldingRegister))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBFuncWriteMultipleCoils (Thumb, 90 bytes, Stack size 16 bytes, mbfunccoils.o(.text.eMBFuncWriteMultipleCoils))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBInit (Thumb, 132 bytes, Stack size 24 bytes, mb.o(.text.eMBInit))

    [Stack]


    [Calls]
    [Called By]

    eMBPoll (Thumb, 156 bytes, Stack size 24 bytes, mb.o(.text.eMBPoll))

    [Stack]


    [Calls]
    [Called By]

    eMBRTUInit (Thumb, 56 bytes, Stack size 8 bytes, mbrtu.o(.text.eMBRTUInit))

    [Stack]


    [Calls]
    [Called By]

    eMBRTUReceive (Thumb, 68 bytes, Stack size 24 bytes, mbrtu.o(.text.eMBRTUReceive))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBRTUSend (Thumb, 96 bytes, Stack size 16 bytes, mbrtu.o(.text.eMBRTUSend))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBRTUStart (Thumb, 24 bytes, Stack size 8 bytes, mbrtu.o(.text.eMBRTUStart))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBRTUStop (Thumb, 20 bytes, Stack size 8 bytes, mbrtu.o(.text.eMBRTUStop))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    eMBRegCoilsCB (Thumb, 156 bytes, Stack size 32 bytes, port.o(.text.eMBRegCoilsCB))

    [Stack]


    [Called By]

    eMBRegDiscreteCB (Thumb, 74 bytes, Stack size 20 bytes, port.o(.text.eMBRegDiscreteCB))

    [Stack]


    [Called By]

    eMBRegHoldingCB (Thumb, 384 bytes, Stack size 32 bytes, port.o(.text.eMBRegHoldingCB))

    [Stack]


    [Calls]
    [Called By]

    eMBRegInputCB (Thumb, 44 bytes, Stack size 8 bytes, port.o(.text.eMBRegInputCB))

    [Stack]


    [Called By]

    gpio_af_set (Thumb, 86 bytes, Stack size 28 bytes, gd32e230_gpio.o(.text.gpio_af_set))

    [Stack]


    [Called By]

    gpio_bit_reset (Thumb, 4 bytes, Stack size 0 bytes, gd32e230_gpio.o(.text.gpio_bit_reset))

    [Called By]


    [Address Reference Count : 3]

    gpio_bit_set (Thumb, 4 bytes, Stack size 0 bytes, gd32e230_gpio.o(.text.gpio_bit_set))

    [Called By]

    gpio_bit_toggle (Thumb, 4 bytes, Stack size 0 bytes, gd32e230_gpio.o(.text.gpio_bit_toggle))

    [Called By]

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

    [Called By]

    gpio_mode_set (Thumb, 62 bytes, Stack size 32 bytes, gd32e230_gpio.o(.text.gpio_mode_set))

    [Stack]


    [Called By]
    [Address Reference Count : 4]

    gpio_output_options_set (Thumb, 64 bytes, Stack size 24 bytes, gd32e230_gpio.o(.text.gpio_output_options_set))

    [Stack]


    [Called By]
    [Address Reference Count : 3]

    main (Thumb, 1612 bytes, Stack size 80 bytes, main.o(.text.main))

    [Stack]


    [Calls]
    [Called By]

    nvic_irq_enable (Thumb, 92 bytes, Stack size 16 bytes, gd32e230_misc.o(.text.nvic_irq_enable))

    [Stack]


    [Called By]
    [Address Reference Count : 1]

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

    [Called By]

    prveMBError2Exception (Thumb, 22 bytes, Stack size 0 bytes, mbutils.o(.text.prveMBError2Exception))

    [Called By]

    rcu_adc_clock_config (Thumb, 192 bytes, Stack size 0 bytes, gd32e230_rcu.o(.text.rcu_adc_clock_config))

    [Called By]

    rcu_clock_freq_get (Thumb, 256 bytes, Stack size 24 bytes, gd32e230_rcu.o(.text.rcu_clock_freq_get))

    [Stack]


    [Called By]
    [Address Reference Count : 1]

    rcu_periph_clock_enable (Thumb, 20 bytes, Stack size 0 bytes, gd32e230_rcu.o(.text.rcu_periph_clock_enable))

    [Called By]


    [Address Reference Count : 2]

    rcu_periph_reset_disable (Thumb, 20 bytes, Stack size 0 bytes, gd32e230_rcu.o(.text.rcu_periph_reset_disable))

    [Called By]

    rcu_periph_reset_enable (Thumb, 20 bytes, Stack size 0 bytes, gd32e230_rcu.o(.text.rcu_periph_reset_enable))

    [Called By]

    read_adc_val (Thumb, 80 bytes, Stack size 16 bytes, adc.o(.text.read_adc_val))

    [Stack]


    [Called By]

    timer_counter_value_config (Thumb, 4 bytes, Stack size 0 bytes, gd32e230_timer.o(.text.timer_counter_value_config))

    [Called By]

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

    [Stack]


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

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

    [Called By]

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

    [Called By]


    [Address Reference Count : 1]

    timer_init (Thumb, 152 bytes, Stack size 8 bytes, gd32e230_timer.o(.text.timer_init))

    [Stack]


    [Called By]
    [Address Reference Count : 1]

    timer_interrupt_disable (Thumb, 8 bytes, Stack size 0 bytes, gd32e230_timer.o(.text.timer_interrupt_disable))

    [Called By]

    timer_interrupt_enable (Thumb, 8 bytes, Stack size 0 bytes, gd32e230_timer.o(.text.timer_interrupt_enable))

    [Called By]


    [Address Reference Count : 1]

    timer_interrupt_flag_clear (Thumb, 8 bytes, Stack size 0 bytes, gd32e230_timer.o(.text.timer_interrupt_flag_clear))

    [Called By]

    timer_interrupt_flag_get (Thumb, 20 bytes, Stack size 0 bytes, gd32e230_timer.o(.text.timer_interrupt_flag_get))

    [Called By]

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

    [Called By]


    [Address Reference Count : 1]

    usMBCRC16 (Thumb, 44 bytes, Stack size 20 bytes, mbcrc.o(.text.usMBCRC16))

    [Stack]


    [Called By]

    usart_baudrate_set (Thumb, 76 bytes, Stack size 16 bytes, gd32e230_usart.o(.text.usart_baudrate_set))

    [Stack]


    [Calls]
    [Called By]

    usart_data_receive (Thumb, 8 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_data_receive))

    [Called By]

    usart_data_transmit (Thumb, 8 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_data_transmit))

    [Called By]

    usart_deinit (Thumb, 40 bytes, Stack size 8 bytes, gd32e230_usart.o(.text.usart_deinit))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

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

    [Called By]

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

    [Called By]

    usart_interrupt_disable (Thumb, 18 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_interrupt_disable))

    [Called By]

    usart_interrupt_enable (Thumb, 18 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_interrupt_enable))

    [Called By]

    usart_interrupt_flag_clear (Thumb, 36 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_interrupt_flag_clear))

    [Called By]

    usart_interrupt_flag_get (Thumb, 30 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_interrupt_flag_get))

    [Called By]

    usart_parity_config (Thumb, 26 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_parity_config))

    [Called By]

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

    [Called By]

    usart_stop_bit_set (Thumb, 26 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_stop_bit_set))

    [Called By]

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

    [Called By]

    usart_word_length_set (Thumb, 26 bytes, Stack size 0 bytes, gd32e230_usart.o(.text.usart_word_length_set))

    [Called By]

    vMBPortSerialEnable (Thumb, 100 bytes, Stack size 16 bytes, portserial.o(.text.vMBPortSerialEnable))

    [Stack]


    [Calls]
    [Called By]

    vMBPortTimersDisable (Thumb, 44 bytes, Stack size 16 bytes, porttimer.o(.text.vMBPortTimersDisable))

    [Stack]


    [Calls]
    [Called By]

    vMBPortTimersEnable (Thumb, 44 bytes, Stack size 16 bytes, porttimer.o(.text.vMBPortTimersEnable))

    [Stack]


    [Calls]
    [Called By]

    xMBASCIIReceiveFSM (Thumb, 236 bytes, Stack size 24 bytes, mbascii.o(.text.xMBASCIIReceiveFSM))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    xMBASCIITimerT1SExpired (Thumb, 52 bytes, Stack size 8 bytes, mbascii.o(.text.xMBASCIITimerT1SExpired))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    xMBASCIITransmitFSM (Thumb, 196 bytes, Stack size 16 bytes, mbascii.o(.text.xMBASCIITransmitFSM))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    xMBPortEventGet (Thumb, 24 bytes, Stack size 0 bytes, portevent.o(.text.xMBPortEventGet))

    [Called By]

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

    [Called By]

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

    [Called By]

    xMBPortSerialGetByte (Thumb, 16 bytes, Stack size 8 bytes, portserial.o(.text.xMBPortSerialGetByte))

    [Stack]


    [Calls]
    [Called By]

    xMBPortSerialInit (Thumb, 212 bytes, Stack size 32 bytes, portserial.o(.text.xMBPortSerialInit))

    [Stack]


    [Calls]
    [Called By]

    xMBPortSerialPutByte (Thumb, 16 bytes, Stack size 8 bytes, portserial.o(.text.xMBPortSerialPutByte))

    [Stack]


    [Calls]
    [Called By]

    xMBPortTimersInit (Thumb, 80 bytes, Stack size 32 bytes, porttimer.o(.text.xMBPortTimersInit))

    [Stack]


    [Calls]
    [Called By]

    xMBRTUReceiveFSM (Thumb, 108 bytes, Stack size 16 bytes, mbrtu.o(.text.xMBRTUReceiveFSM))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    xMBRTUTimerT35Expired (Thumb, 72 bytes, Stack size 16 bytes, mbrtu.o(.text.xMBRTUTimerT35Expired))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    xMBRTUTransmitFSM (Thumb, 92 bytes, Stack size 16 bytes, mbrtu.o(.text.xMBRTUTransmitFSM))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    __aeabi_fadd (Thumb, 0 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fadd))

    [Stack]


    [Called By]

    _fadd (Thumb, 134 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fadd), UNUSED)

    [Calls]

    __aeabi_fsub (Thumb, 0 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fsub), UNUSED)

    _fsub (Thumb, 204 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fsub), UNUSED)

    [Calls]

    Local Symbols

    AT24CxxReadOneByte (Thumb, 56 bytes, Stack size 16 bytes, at24cxx.o(.text.AT24CxxReadOneByte))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    SetI2CSDAAsOutput (Thumb, 48 bytes, Stack size 16 bytes, i2c.o(.text.SetI2CSDAAsOutput))

    [Stack]


    [Calls]
    [Called By]

    prvucMBBIN2CHAR (Thumb, 32 bytes, Stack size 0 bytes, mbascii.o(.text.prvucMBBIN2CHAR))

    [Calls]


    [Called By]

    prvucMBLRC (Thumb, 24 bytes, Stack size 0 bytes, mbascii.o(.text.prvucMBLRC))

    [Called By]

    _fadd1 (Thumb, 0 bytes, Stack size unknown bytes, faddsub.o(x$fpl$fadd), UNUSED)

    [Called By]

    _fsub1 (Thumb, 0 bytes, Stack size unknown bytes, faddsub.o(x$fpl$fsub), UNUSED)

    [Called By]

    Undefined Global Symbols

    _call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)

    [Called By]