/ dev / rtc上的ioctl RTC_SET_TIME可用于设置RTC芯片的时间和日期。但是/ dev / rtc只允许一个进程打开它。
所以我计划继续clock_settime(),不需要打开/ dev / rtc设备。但我不清楚它是否设置了RTC 芯片的日期和时间。
根据手册页,clock_settime()
API支持时钟。哪一个写入RTC 芯片(如果它支持)?
CLOCK_REALTIME
System-wide realtime clock. Setting this clock requires appropriate privileges.
CLOCK_MONOTONIC
Clock that cannot be set and represents monotonic time since some unspecified starting point.
CLOCK_PROCESS_CPUTIME_ID
High-resolution per-process timer from the CPU.
CLOCK_THREAD_CPUTIME_ID
Thread-specific CPU-time clock.
答案 0 :(得分:0)
不幸的是,不,clock_settime()
不会更新实时时钟(RTC)。
我看到人们在调用system("rtc -s hw");
强制进行RTC更新后使用clock_settime()
。
答案 1 :(得分:0)
简短答案:
clock_settime()
是否写入RTC是不确定的,因此特定于实现。
详细答案:
调用clock_settime(CLOCK_REALTIME,...)可以设置操作系统的系统时钟,这是内核中的软件时钟。没什么。
底线:设置RTC之前,请先了解如何在平台上实现这些功能。