1862464_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1862464_zh-CN

1862464_zh-CN

IMXRT1170 中两个核心的时钟和引脚初始化

亲爱的论坛,

我们注意到,在所有多核示例(IMXRT1170 SDK)中,clock_config.c对许多相同的时钟进行两次初始化:第一次在 CM7 上,第二次在 CM4 核心上。有时也可以这样说 pin_mux.c根据文档,CM7 核心首先运行,为什么 CM4 要再次执行同样的工作?

来自 multicore/evkmimxrt1170_hello_world_cm4 clock_config.c 的示例:

    /* Configure ADC1 using OSC_RC_48M_DIV2 */
    rootCfg.mux = kCLOCK_ADC1_ClockRoot_MuxOscRc48MDiv2;
    rootCfg.div = 1;
    CLOCK_SetRootClock(kCLOCK_Root_Adc1, &rootCfg);

然后从 multicore/evkmimxrt1170_hello_world_cm7 clock_config.c 中:

    /* Configure ADC1 using OSC_RC_48M_DIV2 */
    rootCfg.mux = kCLOCK_ADC1_ClockRoot_MuxOscRc48MDiv2;
    rootCfg.div = 1;
    CLOCK_SetRootClock(kCLOCK_Root_Adc1, &rootCfg);

在某些情况下,我们看到了预处理器 ifdef:

Screenshot 2024-05-09 at 13.22.30.png

但更奇怪的是,在一些例子中,CM4 甚至触及 CM7 时钟。来自 multicore/evkmimxrt1170_hello_world_cm4 clock_config.c:

    /* Module clock root configurations. */
    /* Configure M7 using ARM_PLL_CLK */
    rootCfg.mux = kCLOCK_M7_ClockRoot_MuxArmPllOut;
    rootCfg.div = 1;
    CLOCK_SetRootClock(kCLOCK_Root_M7, &rootCfg);

1. 从 CM4 中删除相同的时钟初始化是否安全,或者是否存在其他问题?
2. 为什么所有示例都遵循这个惯例,即对相同的时钟进行两次初始化?
3. 当 CM4(稍后运行)更改 CM7 时钟时,是否可能出现未定义的行为?
4. 使用自动生成的clock_config.c时的最佳方法是什么和 pin_mux.c来自多核系统的 MCUXpresso 配置工具?

此致,

回复:IMXRT1170 中两个核心的时钟和引脚初始化确认回复:IMXRT1170 中两个核心的时钟和引脚初始化

对此有何评论?

@kerryzhou @_Leo_ @howard_liu @Hui_Ma @KelvinQi

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 03:12 PM
更新者: