【问题标题】:changing CPU clock speed during program exuction在程序执行期间改变 CPU 时钟速度
【发布时间】:2017-11-19 12:42:29
【问题描述】:

我们的 micro (RH850) 上的主要应用程序开发用于时钟速度 X Mhz。总是首先执行的引导加载程序将时钟速度初始化为 X/3 MHz。由于引导加载程序使用的库中存在一些限制,我们无法将引导加载程序的速度更改为 X Mhz。

在引导加载程序跳转到应用程序之前,是否有可能将引导加载程序中的时钟速度从 X/3 Mhz 重新初始化到 X MHz?

这种时钟处理嵌入式系统的常见做法是什么?有什么通用的方法,还是这个比较具体?

问候 J.

【问题讨论】:

  • 动态更改时钟速度/源非常特定于逻辑设计,除了您必须深入研究该部分的具体细节外,这个问题没有通用答案。它可能总是有效,或者它可能要求您从 ram 运行而不是闪存,反之亦然,或者它可能对某些部分根本不起作用。
  • 这是一个关于零件或芯片供应商文档的问题,当你问他们时他们说了什么?
  • 可能,是的。查看启动代码 - 通常在带有 PLL 的芯片中,您以未倍频时钟启动,启动 PLL 等待它稳定然后切换到它。从一种 PLL 速率切换到另一种可能需要在更改期间返回源时钟。但是这个问题太宽泛了,不适合在这里——你的资源需要是芯片程序员手册和任何供应商提供的初始化代码。

标签: embedded clock


【解决方案1】:

所以它的工作方式如下:

  1. 切换回主振荡器
  2. 禁用 PLL
  3. 重新配置 PLL
  4. 启用 PLL
  5. 将 CPU 源更改为刚刚重新配置的 PLL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2015-12-27
    • 2023-03-03
    • 2021-12-19
    • 2017-09-24
    • 1970-01-01
    相关资源
    最近更新 更多