This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LP-MSPM0G3507:已启用 HFXT、仍卡在 SYSCFG_DL_SYSCTL_CLK_init

Guru**** 2465890 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1377649/lp-mspm0g3507-already-enable-hfxt-still-stuck-at-syscfg_dl_sysctl_clk_init

器件型号:LP-MSPM0G3507
主题中讨论的其他器件:SysConfig

工具与软件:

尊敬的 TI 团队:

     我想知道我们已经启用了 HFXT、但 仍然显示   DL_SYSCTL_disableHFXT ();如下所示:

SysConfig_weak void SYSCFG_DL_SYSCTL_init (void)

  //低功耗模式配置为 SLEEP0
  DL_SYSCTL_setBORThreshold (DL_SYSCTL_BOR_THR_LEVEL_0);

  DL_SYSCTL_setSYSOSCFreq (DL_SYSCTL_SYSOSC_FREQ_BASE);
  /*设置默认配置*/
  DL_SYSCTL_disableHFXT ();
  DL_SYSCTL_disableSYSPLL ();
  DL_SYSCTL_setHFCLKSourceHFXTParams (DL_SYSCTL_HFXT_RANGE_32_48_MHz、10、TRUE);
  DL_SYSCTL_setLFCLKSourceLFXT ((DL_SYSCTL_LFCLKConfig *)&gLFCLKConfig);

}
    和程序将进入 SysConfig_weak void SYSCFG_DL_SYSCTL_CLK_init (void){
while ((DL_SYSCTL_getClockStatus ()和(DL_SYSCTL_CLK_STATUS_HFCLK_GOOD)
| DL_SYSCTL_CLK_STATUS_LFXT_GOOD)
!=(DL_SYSCTL_CLK_STATUS_HFCLK_GOOD
| DL_SYSCTL_CLK_STATUS_LFXT_GOOD)

/*在初始化之前、确保时钟处于默认 POR 配置。
*此外,一旦启用 LFXT ,内部 LFOSC 将被禁用,并且无法启用
*除执行 BOOTRST 之外、可重新启用。 */

}
}
 我的 HFXT 设置  如下所示:
SDK mspm0_SDK_1_20_01_06和 EVM 版本为修订版 A
非常感谢
Tony
   
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tony:

    我建议您更新 SDK 版本、只是为了确保一切都是最新的。 我们自1.20起推出了几个版本

    您是否总是陷入这种循环中、或者只是偶尔陷入?  

    我们在更改设置之前禁用 HFXT、以确保我们处于默认配置中。 这对于  DL_SYSCTL_setHFCLKSourceHFXTParams 是多余的、因为这也会禁用 HFXT、但这是一种很好的做法。  

    使用 LFXT 执行此操作的唯一方法是对器件进行完全复位。 您可能希望在加载代码前尝试批量擦除器件、看看您是否再次陷入循环。 否则、可能只是复位级别。  

    此致、
    Brandon Fisher

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brandon 您好:

          我更新了 SDK 2.1.0.03、但仍然停留在该循环中。

          我启用 LFXT 和如下设置,它可以传递该循环并执行 MCAN Rx 按摩器示例工作。

                           

          我想知道为什么启用 HFXT 后无法通过该环路?

    非常感谢

    Tony

          

        

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tony:

    这是在 LaunchPad 上吗? 如果是这样、您的设置应该起作用。 您可以尝试增加启动时间作为测试。  

    您能否验证是否已填充 Y2、C12和 C10?  

    此致、
    Brandon Fisher

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brandon 您好:

          是的、Y2、C12和 C10会填充到 LaunchPad 上。

          现在、我尝试将 SYSPLL1用于 CAN CLK。 也停留在该环路上、如下所示:

    SysConfig_weak void SYSCFG_DL_SYSCTL_CLK_init (void){
    while ((DL_SYSCTL_getClockStatus ()和(DL_SYSCTL_CLK_STATUS_SYSPLL_GOOD)
    | DL_SYSCTL_CLK_STATUS_LFOSC_GOOD)
    !=(DL_SYSCTL_CLK_STATUS_SYSPLL_GOOD
    | DL_SYSCTL_CLK_STATUS_LFOSC_GOOD)

    /*在初始化之前、确保时钟处于默认 POR 配置。
    *此外,一旦启用 LFXT ,内部 LFOSC 将被禁用,并且无法启用
    *除执行 BOOTRST 之外、可重新启用。 */

    }
    }

          我添加一个空 void SYSCFG_DL_SYSCTL_CLK_init (void){} 来处理卡住的问题。

          现在可以看到它起作用了。

    非常感谢

    Tony

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tony:

    您的 SYSPLL 设置是什么? 根据数据表限值、它与 PLL 的边际频率相关。

    此致、
    Brandon Fisher

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brandon 您好:

             我的 SYSPLL 设置如下:

             

              

    非常感谢

    Tony