嵌入式系统中的系统时钟与硬件时钟 (RTC)

Suk*_*a U 5 linux embedded hardware cpu-frequency clock

系统时钟由内核维护,而硬件时钟由实时时钟(RTC)维护。

  1. 两个时钟运行频率相同吗?
  2. 两者相互独立吗?
  3. 当实时时钟出现故障时会发生什么?对系统时钟有影响吗?

谁能告诉我这两个时钟之间的区别。

Qua*_*tal 3

  1. 两个时钟以相同的频率运行?

    通常计算机/设备/系统内有两个时钟。其中一个由电池(通常是 CR2032,可以是主电池,甚至是嵌入式系统中的超级电容器)供电,并由专用芯片运行。另一种由CPU时钟源驱动(自带石英晶体)。

    通常由 32.768kHz 晶体运行。另一种来自 CPU 晶体 Mhz 或 GHz 范围。由于 CPU 型号很多,因此存在很多差异。

  2. 两者是相互独立的吗?

    是的,大多数时候。但一个可以调整另一个(在嵌入式 Linux 上,您通常使用带有hwclock选项-r或 的命令-w)。CPU时钟由启动时的芯片时钟设置(CPU不知道启动时是几点)。对于网络中的系统,CPU时钟可能通过NTP(网络时间协议)从网络中找到更好的时间值,然后调整或校正时钟芯片内部的值。

  3. 当实时时钟出现故障时会发生什么会影响系统时钟?

    是的,当然,如果电池耗尽,例如,计算机会以完全不合时宜的实时概念启动,但是现在,大多数系统都有一些网络连接,并在启动后很快更新其实时概念通过 NTP 协议。

  4. 谁能告诉我这两个时钟之间的区别。

    如上所述,时钟源一个是芯片,另一个是CPU。

请注意,我避免将芯片时钟称为 RTC 时钟,因为 CPU 上有内部值也称为 RTC。但是,是的,这是它的通用名称。

有关的: