不同平台时间戳介绍
J3平台
其中u64 timestamps: 硬件时间戳,是跟 CPU 一起用的 64 bit system counter,1s是24M个clock。 FS的时候从硬件寄存器读取。读取的值除以24000是毫秒,除以24000000是秒。
struct timeval tv; 系统时间, SIF FS的时候获取do_gettimeofday。
J5平台
其中的tv 时间戳来源三种可选,通过设备树可以设置默认来源,通过sys节点可以动态临时修改来源
时间戳 | 含义 | 备注 | timestamp | 读取系统 CPU 64 bit system counter(Linux Jiffies时间) CLOCK_MONOTONIC_RAW ,ktime_get_raw_ns | 硬件时间,不随时间同步所改变 | timespec64 tv | 三种可选: ktime_get_real_ts64 (CLOCK_REALTIME) RTC TIMESTAMP转timespec64后的时间 (RTC时间) s32 hobot_eth_ptp_get_time(u32 index, struct timespec64 *ts);(PHC时间)(其中index 只使用0)
| 软件时间,受时间同步影响 |
|
J6平台
相较与J5, 增加了 lpwm信号的 trig时间,同时tv时间中的phc由硬件自动缓存。
时间戳 | 含义 | 备注 | timestamp | 读取系统 CPU 64 bit system counter(Linux Jiffies时间) CLOCK_MONOTONIC_RAW ,ktime_get_raw_ns | 硬件时间,不随时间同步所改变 | timespec64 tv | 三种可选: ktime_get_real_ts64 (CLOCK_REALTIME) RTC TIMESTAMP转timespec64后的时间 (RTC时间) PHC时间, ,硬件自动缓存的PHC时间
| 软件时间,受时间同步影响 | trig_tv | lpwm同步信号的时间,硬件自动缓存的RTC时间 | |
|