Cflow

From Wiki at Neela Nurseries
Jump to navigation Jump to search

Cflow can trace routine call frames, can follow all routine calls neglecting whether tests would skip the calls at run time. Useful for seeing which execution paths could possibly be called.

ted@localhost:~/projects/zephyr-project/zephyr/drivers$ cflow -m stm32_clock_control_init ~/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:99: plln_mul redefined
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:94: this is the place of previous definition
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:99: pllout_div redefined
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:95: this is the place of previous definition
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:107: __unused redefined
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:91: this is the place of previous definition
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:530: __unused redefined
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:107: this is the place of previous definition
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:548: __unused redefined
cflow:/home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:530: this is the place of previous definition
stm32_clock_control_init() <int stm32_clock_control_init (const struct device *dev) at /home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:825>:
    ARG_UNUSED()
    config_enable_default_clocks()
    config_regulator_voltage() <void __weak config_regulator_voltage (uint32_t hclk_freq) at /home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:934>
    RCC_CALC_FLASH_FREQ()
    HAL_RCC_GetSysClockFreq()
    GET_CURRENT_FLASH_PRESCALER()
    LL_SetFlashLatency()
    set_up_fixed_clock_sources() <void set_up_fixed_clock_sources (void) at /home/ted/projects/zephyr-project/zephyr/drivers/clock_control/clock_stm32_ll_common.c:636>:
        IS_ENABLED()
        LL_RCC_HSE_EnableBypass()
        LL_RCC_HSE_DisableBypass()
        LL_RCC_HSE_EnableTcxo()
        LL_RCC_HSE_EnableDiv2()
        LL_RCC_HSE_Enable()
        LL_RCC_HSE_IsReady()
        z_arm_nmi_set_handler()
        LL_RCC_HSE_EnableCSS()
        LL_RCC_HSI_IsReady()
        LL_RCC_HSI_Enable()
        LL_RCC_SetHSIDiv()
        hsi_divider()
        LL_RCC_MSI_EnableRangeSelection()
        LL_RCC_MSI_SetRange()
        LL_RCC_MSI_EnablePLLMode()
        LL_RCC_MSI_SetCalibTrimming()
        LL_RCC_MSI_IsReady()
        LL_RCC_MSI_Enable()
        LL_RCC_LSI1_Enable()
        LL_RCC_LSI1_IsReady()
        LL_RCC_LSI_Enable()
        LL_RCC_LSI_IsReady()
        z_stm32_hsem_lock()
        stm32_backup_domain_enable_access()
        LL_RCC_LSE_SetDriveCapability()
        LL_RCC_LSE_EnableBypass()
        LL_RCC_LSE_Enable()
        LL_RCC_LSE_IsReady()
        LL_RCC_LSE_EnablePropagation()
        LL_RCC_LSE_IsPropagationReady()
        stm32_backup_domain_disable_access()
        z_stm32_hsem_unlock()
        LL_RCC_HSI14_Enable()
        LL_RCC_HSI14_IsReady()
        LL_APB2_GRP1_EnableClock()
        LL_SYSCFG_VREFINT_EnableHSI48()
        LL_RCC_HSI48_Enable()
        LL_RCC_HSI48_IsReady()
    set_up_plls()
    DT_PROP()
    DT_NODELABEL()
    ahb_prescaler()
    MHZ()
    LL_RCC_SetAHBPrescaler()
    LL_RCC_SetSysClkSource()
    LL_RCC_GetSysClkSource()
    stm32_clock_switch_to_hsi()
    LL_RCC_SetAPB1Prescaler()
    apb1_prescaler()
    LL_RCC_SetAPB2Prescaler()
    apb2_prescaler()
    LL_C2_RCC_SetAHBPrescaler()
    LL_RCC_SetAHB3Prescaler()
    LL_RCC_SetAHB4Prescaler()
    LL_RCC_SetADCClockSource()
    adc12_prescaler()
    adc34_prescaler()
ted@localhost:~/projects/zephyr-project/zephyr/drivers$