Static Call Graph for image STM32G031Bootloader\STM32G031Bootloader.axf



#<CALLGRAPH># ARM Linker, 6090000: Last Updated: Sun Sep 29 16:24:02 2024

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

Call chain for Maximum Stack Depth:

main ⇒ MX_RTC_Init ⇒ HAL_RTC_SetTime ⇒ RTC_ExitInitMode ⇒ HAL_RTC_WaitForSynchro

Mutually Recursive functions

  • ADC1_IRQHandler   ⇒   ADC1_IRQHandler
  • HardFault_Handler   ⇒   HardFault_Handler
  • NMI_Handler   ⇒   NMI_Handler

    Function Pointers

    Global Symbols

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

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

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

    [Calls]

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

    [Called By]

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

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

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

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

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

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

    ADC1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32g031xx.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Stack]


    [Called By]

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

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

    [Called By]

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

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

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

    [Calls]

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

    [Called By]

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

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

    [Calls]

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

    [Calls]


    [Called By]

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

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

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    HAL_CRCEx_Polynomial_Set (Thumb, 90 bytes, Stack size 16 bytes, stm32g0xx_hal_crc_ex.o(.text.HAL_CRCEx_Polynomial_Set))

    [Stack]


    [Called By]

    HAL_CRC_Calculate (Thumb, 70 bytes, Stack size 16 bytes, stm32g0xx_hal_crc.o(.text.HAL_CRC_Calculate))

    [Stack]


    [Calls]
    [Called By]

    HAL_CRC_DeInit (Thumb, 50 bytes, Stack size 16 bytes, stm32g0xx_hal_crc.o(.text.HAL_CRC_DeInit))

    [Stack]


    [Calls]
    [Called By]

    HAL_CRC_Init (Thumb, 120 bytes, Stack size 16 bytes, stm32g0xx_hal_crc.o(.text.HAL_CRC_Init))

    [Stack]


    [Calls]
    [Called By]

    HAL_CRC_MspDeInit (Thumb, 32 bytes, Stack size 0 bytes, crc.o(.text.HAL_CRC_MspDeInit))

    [Called By]

    HAL_CRC_MspInit (Thumb, 44 bytes, Stack size 4 bytes, crc.o(.text.HAL_CRC_MspInit))

    [Stack]


    [Called By]

    HAL_DeInit (Thumb, 36 bytes, Stack size 8 bytes, stm32g0xx_hal.o(.text.HAL_DeInit))

    [Stack]


    [Calls]
    [Called By]

    HAL_FLASHEx_Erase (Thumb, 200 bytes, Stack size 40 bytes, stm32g0xx_hal_flash_ex.o(.text.HAL_FLASHEx_Erase))

    [Stack]


    [Calls]
    [Called By]

    HAL_FLASH_Lock (Thumb, 36 bytes, Stack size 8 bytes, stm32g0xx_hal_flash.o(.text.HAL_FLASH_Lock))

    [Stack]


    [Calls]
    [Called By]

    HAL_FLASH_Program (Thumb, 104 bytes, Stack size 32 bytes, stm32g0xx_hal_flash.o(.text.HAL_FLASH_Program))

    [Stack]


    [Calls]
    [Called By]

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

    [Called By]

    HAL_GPIO_Init (Thumb, 480 bytes, Stack size 68 bytes, stm32g0xx_hal_gpio.o(.text.HAL_GPIO_Init))

    [Stack]


    [Called By]

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

    [Called By]

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

    [Called By]

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

    [Called By]

    HAL_Init (Thumb, 40 bytes, Stack size 8 bytes, stm32g0xx_hal.o(.text.HAL_Init))

    [Stack]


    [Calls]
    [Called By]

    HAL_InitTick (Thumb, 72 bytes, Stack size 16 bytes, stm32g0xx_hal.o(.text.HAL_InitTick))

    [Stack]


    [Calls]
    [Called By]

    HAL_MspDeInit (Thumb, 2 bytes, Stack size 0 bytes, stm32g0xx_hal.o(.text.HAL_MspDeInit))

    [Called By]

    HAL_MspInit (Thumb, 44 bytes, Stack size 8 bytes, stm32g0xx_hal_msp.o(.text.HAL_MspInit))

    [Stack]


    [Called By]

    HAL_NVIC_SetPriority (Thumb, 8 bytes, Stack size 8 bytes, stm32g0xx_hal_cortex.o(.text.HAL_NVIC_SetPriority))

    [Stack]


    [Calls]
    [Called By]

    HAL_RTC_Init (Thumb, 176 bytes, Stack size 16 bytes, stm32g0xx_hal_rtc.o(.text.HAL_RTC_Init))

    [Stack]


    [Calls]
    [Called By]

    HAL_RTC_MspInit (Thumb, 168 bytes, Stack size 28 bytes, rtc.o(.text.HAL_RTC_MspInit))

    [Stack]


    [Called By]

    HAL_RTC_SetAlarm (Thumb, 364 bytes, Stack size 56 bytes, stm32g0xx_hal_rtc.o(.text.HAL_RTC_SetAlarm))

    [Stack]


    [Calls]
    [Called By]

    HAL_RTC_SetDate (Thumb, 188 bytes, Stack size 32 bytes, stm32g0xx_hal_rtc.o(.text.HAL_RTC_SetDate))

    [Stack]


    [Calls]
    [Called By]

    HAL_RTC_SetTime (Thumb, 224 bytes, Stack size 40 bytes, stm32g0xx_hal_rtc.o(.text.HAL_RTC_SetTime))

    [Stack]


    [Calls]
    [Called By]

    HAL_RTC_WaitForSynchro (Thumb, 56 bytes, Stack size 16 bytes, stm32g0xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro))

    [Stack]


    [Calls]
    [Called By]

    HAL_SYSTICK_Config (Thumb, 52 bytes, Stack size 0 bytes, stm32g0xx_hal_cortex.o(.text.HAL_SYSTICK_Config))

    [Called By]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    I2C1_IRQHandler (Thumb, 184 bytes, Stack size 16 bytes, main.o(.text.I2C1_IRQHandler))

    [Stack]


    [Address Reference Count : 1]

    Jump_APP (Thumb, 72 bytes, Stack size 8 bytes, main.o(.text.Jump_APP))

    [Stack]


    [Calls]
    [Called By]

    LL_GPIO_Init (Thumb, 208 bytes, Stack size 44 bytes, stm32g0xx_ll_gpio.o(.text.LL_GPIO_Init))

    [Stack]


    [Called By]

    LL_I2C_DeInit (Thumb, 68 bytes, Stack size 0 bytes, stm32g0xx_ll_i2c.o(.text.LL_I2C_DeInit))

    [Called By]

    LL_I2C_Init (Thumb, 112 bytes, Stack size 20 bytes, stm32g0xx_ll_i2c.o(.text.LL_I2C_Init))

    [Stack]


    [Called By]

    LL_RCC_DeInit (Thumb, 76 bytes, Stack size 16 bytes, stm32g0xx_ll_rcc.o(.text.LL_RCC_DeInit))

    [Stack]


    [Called By]

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

    [Called By]

    LL_mDelay (Thumb, 52 bytes, Stack size 20 bytes, stm32g0xx_ll_utils.o(.text.LL_mDelay))

    [Stack]


    [Called By]

    MX_CRC_Init (Thumb, 52 bytes, Stack size 8 bytes, crc.o(.text.MX_CRC_Init))

    [Stack]


    [Calls]
    [Called By]

    MX_GPIO_Init (Thumb, 132 bytes, Stack size 48 bytes, gpio.o(.text.MX_GPIO_Init))

    [Stack]


    [Calls]
    [Called By]

    MX_I2C1_Init (Thumb, 224 bytes, Stack size 80 bytes, i2c.o(.text.MX_I2C1_Init))

    [Stack]


    [Calls]
    [Called By]

    MX_RTC_Init (Thumb, 180 bytes, Stack size 80 bytes, rtc.o(.text.MX_RTC_Init))

    [Stack]


    [Calls]
    [Called By]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

    RTC_ByteToBcd2 (Thumb, 46 bytes, Stack size 16 bytes, stm32g0xx_hal_rtc.o(.text.RTC_ByteToBcd2))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    RTC_EnterInitMode (Thumb, 84 bytes, Stack size 24 bytes, stm32g0xx_hal_rtc.o(.text.RTC_EnterInitMode))

    [Stack]


    [Calls]
    [Called By]

    RTC_ExitInitMode (Thumb, 84 bytes, Stack size 16 bytes, stm32g0xx_hal_rtc.o(.text.RTC_ExitInitMode))

    [Stack]


    [Calls]
    [Called By]

    Reset_AllPeriph (Thumb, 136 bytes, Stack size 24 bytes, main.o(.text.Reset_AllPeriph))

    [Stack]


    [Calls]
    [Called By]

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

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    SystemClock_Config (Thumb, 128 bytes, Stack size 16 bytes, main.o(.text.SystemClock_Config))

    [Stack]


    [Calls]
    [Called By]

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

    Write_Code (Thumb, 248 bytes, Stack size 56 bytes, main.o(.text.Write_Code))

    [Stack]


    [Calls]
    [Called By]

    clear_pwr_flag (Thumb, 68 bytes, Stack size 8 bytes, main.o(.text.clear_pwr_flag))

    [Stack]


    [Called By]

    compute_fw_crc32 (Thumb, 44 bytes, Stack size 8 bytes, main.o(.text.compute_fw_crc32))

    [Stack]


    [Calls]
    [Called By]

    iap_i2c (Thumb, 104 bytes, Stack size 24 bytes, main.o(.text.iap_i2c))

    [Stack]


    [Calls]
    [Called By]

    main (Thumb, 248 bytes, Stack size 48 bytes, main.o(.text.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    __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

    CRC_Handle_16 (Thumb, 56 bytes, Stack size 16 bytes, stm32g0xx_hal_crc.o(.text.CRC_Handle_16))

    [Stack]


    [Called By]

    CRC_Handle_8 (Thumb, 116 bytes, Stack size 16 bytes, stm32g0xx_hal_crc.o(.text.CRC_Handle_8))

    [Stack]


    [Called By]

    FLASH_Program_DoubleWord (Thumb, 28 bytes, Stack size 16 bytes, stm32g0xx_hal_flash.o(.text.FLASH_Program_DoubleWord))

    [Stack]


    [Called By]

    FLASH_Program_Fast (Thumb, 60 bytes, Stack size 16 bytes, stm32g0xx_hal_flash.o(.text.FLASH_Program_Fast))

    [Stack]


    [Called By]

    __NVIC_SetPriority (Thumb, 64 bytes, Stack size 0 bytes, stm32g0xx_hal_cortex.o(.text.__NVIC_SetPriority))

    [Called By]

    Undefined Global Symbols