全志平台出现执行串口打印logcat,会出现打印出来的时间紊乱如图:
解决的方法如下:
system/logging/logd$ git diff LogKlog.cpp
diff --git a/logd/LogKlog.cpp b/logd/LogKlog.cpp
old mode 100644
new mode 100755
index dc788e1..cfe5833
--- a/logd/LogKlog.cpp
+++ b/logd/LogKlog.cpp
@@ -317,7 +317,9 @@ log_time LogKlog::sniffTime(const char*& buf, ssize_t len, bool reverse) {
calculateCorrection(now, b, len);
} else if (((b = android::strnstr(cp, len, healthdStr))) &&
(((b += strlen(healthdStr)) - cp) < len) &&
- ((b = android::strnstr(b, len -= b - cp, batteryStr))) &&
+ // AW CODE START: [fix] log: fix kernel timer update failed
+ ((b = android::strnstr(b, len - (b - cp), batteryStr))) &&
+ // AW CODE END
(((b += strlen(batteryStr)) - cp) < len)) {
// NB: healthd is roughly 150us late, so we use it instead to
// trigger a check for ntp-induced or hardware clock drift.