国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何快速調試RTC?你知道嗎?

系統 OpenHarmony
本文介紹了OpenHarmony中外置RTC調試和使用方法,以及RTC在操作系統中的作用,為后續NTP時間同步提供支持。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

1、RTC介紹

RTC是Real Time Clock的簡稱,它在硬件電路上單獨供電,當系統關機時,CPU和其他外部硬件設備全部掉電,但是RTC仍然繼續工作。這樣就可以繼續給設備提供精準的時鐘,并提供報警功能和計時器功能。

2、如何查詢系統時間和硬件時間

(1)查詢系統時間.

# dateSat Aug  5 09:15:26 UTC 2017

(2)查看RTC硬件時間:hwclock -r 顯示RTC時間(讀取RTC時間顯示)。

# hwclockSat Aug  5 09:13:36 2017  0.000000 seconds

(3) 設置系統時間,硬件時間hwclock -r 顯示RTC時間(讀取RTC時間顯示)hwclock -w 設置RTC時間(將系統時間傳遞給RTC驅動,設置RTC的驅動時間)hwclock -s 設置系統時間(將RTC時間讀取出來設置給系統時間).

3、如何查看RTC設備節點及文件

(1)RTC設備節點。

# pwd
/dev# ls rtc*
rtc rtc0 rtc1
2)sys/class/rtc
# pwd
/sys/class/rtc# ls
rtc0 rtc1# pwd
/sys/class/rtc/rtc0# ls
alarmtimer.3.auto device name subsystem wakealarm
date hctosys power time
dev max_user_freq since_epoch uevent

(2)proc/driver/rtc:獲取RTC的相關信息。

# cat proc/driver/rtc
rtc_time : 09:12:46
rtc_date : 2017-08-05
alrm_time : 00:00:00
alrm_date : 1999-12-16
alarm_IRQ : no
alrm_pending : no
update IRQ enabled : no
periodic IRQ enabled : no
periodic IRQ frequency : 1
max user IRQ frequency : 64
24hr : yes

4、內核中如何開啟RTC,并設置時間同步

在linux系統上,從用戶空間正確管理RTC需要關注兩個內核選項:CONFIG_RTC_HCTOSYSCONFIG_RTC_HCTOSYS_DEVICE要使用CONFIG_RTC_HCTOSYS應在內核構建過程中包含代碼文件drivers/rtc/hctosys.c,它在啟動和恢復時從RTC設置系統時間。一旦啟用此選項,就將使用從指定RTC設備讀取的值設置系統時間。RTC設備應該在CONFIG_RTC_HCTOSYS_DEVICE中指定:

CONFIG_RTC_HCTOSYS=yCONFIG_RTC_HCTOSYS_DEVICE="rtc0"

5、RTC關鍵結構體說明

rtc_time 結構體說明:
struct rtc_time {
inttm_sec; /* 秒,0~60(60是閏秒的需要)*/
inttm_min; /* 分鐘,0~59*/
inttm_hour; /* 小時,0~23 */
inttm_mday; /* 本月中的第幾天,1~31 */
inttm_mon; /* 自一月以來的第幾個月,0~11*/
inttm_year; /* 自1900年以來的年數*/
inttm_wday; /* 本周的第幾天,0~6,星期天是0 */
inttm_yday; /* 一年當中的第幾天,0~365*/
inttm_isdst; /* 夏令時標志*/
};
rtc_wkalrm 結構體說明:
struct rtc_wkalrm {
unsignedchar enabled; /* 0 = 禁止alarm,1 = 使能alarm */
unsignedchar pending; /* 0 = alarm未掛起,1 = alarm掛起(已發生)*/
structrtc_time time; /* 設置的alarm中斷發生的時刻 */
};

6、RTC框圖

如何快速調試RTC?-開源基礎軟件社區


7、RTC適配問題總結

問題1:/dev/rtc未生成,無法獲取硬件時間。

# hwclock
hwclock: /dev/misc/rtc: No such file or directory

問題分析:啟動日志報錯no valid clock/calendar values available
[ 1.179936] rk808-rtc rk808-rtc: registered as rtc0[ 1.186459] rtc-hym8563 5-0051: no valid clock/calendar values available[ 1.186675] rtc-hym8563 5-0051: registered as rtc1[ 1.187698] rtc-hym8563 5-0051: no valid clock/calendar values available[ 1.187723] rtc-hym8563 5-0051: hctosys: unable to read the hardware clock
從log分析,rtc1時鐘值無效,可能為人為寫入了無效值,或者初始化時寫入了無效值;解決方案:
(1)在dts中添加init_date項,當hym8563_probe的時候,檢測到系統如果未設置時間,則給時鐘芯片一個默認值(init_date 設置的值);

&i2c_AO {
status = "okay";
pinctrl-names="default";
pinctrl-0=;
clock-frequency = ; /* default 100k */
/* for rtc hym8563 */ hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = ;
init_date = "2021/07/28";
#clock-cells = ;
};
};

(2)通過命令設置硬件時鐘;
hwclock -w。
驗證結果:通過日志查看顯示.

[    1.413453] rk808-rtc rk808-rtc: registered as rtc0
[ 1.423286] rtc-hym8563 5-0051: registered as rtc1
[ 1.424348] rtc-hym8563 5-0051: setting system clock to 2021-11-13T21:10:55 UTC (1636837855)

問題2:將rtc1設置為硬件時鐘后,連接網絡進行NTP時間同步,查看rtc1時鐘未同步,實際同步的是rtc0硬件時鐘

# dateFri Nov 18 15:53:21 UTC 2022# hwclockSun Nov 14 20:18:58 2021  0.000000 seconds

問題分析:懷疑連接網絡后,網絡時間同步模塊在將同步后的系統時間寫入硬件時鐘時,寫入到了/dev/rtc0,而非實際使用的/dev/rtc1;經排查網絡時間同步后設置硬件時鐘代碼所在位置為:/base/miscservices/time/services/time_manager/src/time_service.cpp加入LOG打印信息如下,證實問題所在就是寫入到了/dev/rtc0,而非實際使用的/dev/rtc1;

# hilog | grep RTC
11-18 15:46:28.906 464 464 E 01c02/TimeService: [time_service.cpp] set_rtc_time# RTC rtc_id : 0:
11-18 15:46:28.906 464 464 E 01c02/TimeService: [time_service.cpp] set_rtc_time# RTC rtc_dev : /dev/rtc0:

解決方案:修改代碼set_rtc_time函數中,設備節點由/dev/rtc0修改為/dev/rtc,此時/dev/rtc軟連接的是實際使用的硬件時鐘/dev/rtc1,而非固定為/dev/rtc0。

vi base/miscservices/time/services/time_manager/src/time_service.cpp +351
@@ -348,13 +356,15 @@ int TimeService::set_rtc_time(time_t sec)
return -1;
}
std::stringstream strs;
- strs << "/dev/rtc" << rtc_id;
+ strs << "/dev/rtc";

修改后發現NTP時鐘同步仍然失敗,加log打印后發現,set_rtc_time中open設備節點失敗。

11-18 17:10:41.495   533   533 E 01c02/TimeService: [time_service.cpp] set_rtc_time# RTC rtc_dev : /dev/rtc:11-18 17:10:41.495   533   533 E 01c02/TimeService: [time_service.cpp] set_rtc_time# RTC open failed /dev/rtc: Permission denied

查看設備節點發現,新增的rtc1用戶組為root,因此用戶程序無權限打開,需將用戶組修改為system。

# ls -al rtc*
lrwxrwxrwx 1 root system 4 2021-11-14 21:15 rtc -> rtc1
crw-r----- 1 system system 250, 0 2021-11-14 21:15 rtc0
crw-r----- 1 root root 250, 1 2021-11-14 21:15 rtc1

在設備初始化代碼中增加修改rtc1用戶組:

index 766f404..0530a20 100755
--- a/rk3568/build/rootfs/init.rk3568.cfg
+++ b/rk3568/build/rootfs/init.rk3568.cfg
@@ -5,7 +5,8 @@
"jobs" : [{
"name" : "pre-init",
"cmds" : [
- "write /proc/sys/vm/min_free_kbytes 10240"
+ "write /proc/sys/vm/min_free_kbytes 10240",
+ "chown system system /dev/rtc1"
]
}, {
"name" : "init",

修改后查看rtc1用戶組:

# cd dev/# ls -al rtc*
lrwxrwxrwx 1 root system 4 2022-11-18 18:24 rtc -> rtc1
crw-r----- 1 system system 250, 0 2022-11-18 18:24 rtc0
crw-rw---- 1 system system 250, 1 2022-11-18 18:24 rtc1

用戶程序可正常打開:

11-18 18:00:36.159   533   533 E 01c02/TimeService: [time_service.cpp] set_rtc_time# RTC rtc_dev : /dev/rtc:11-18 18:00:36.161   533   533 E 01c02/TimeService: [time_service.cpp] set_rtc_time# RTC set_rtc_time success!!!!!!

驗證結果:結果符合預期,連接網絡后系統時間,硬件時鐘均自動同步為網絡時間。
//設置系統和硬件時間為非當前時間。

# dateFri Jan  1 00:02:40 UTC 2021
# hwclockFri Jan 1 00:02:46 2021 0.000000 seconds//

連接網絡后,同步網絡時間,系統時間和硬件時鐘均自動同步。

# dateMon Nov 21 15:19:28 UTC 2022
# hwclockMon Nov 21 15:19:32 2022 0.000000 seconds

總結:
本文介紹了OpenHarmony中外置RTC調試和使用方法,以及RTC在操作系統中的作用,為后續NTP時間同步提供支持。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-03-21 07:39:51

CentOS掛載硬盤

2024-07-08 00:00:01

多線程ThreadC#

2017-10-16 13:45:04

2024-06-20 08:06:30

2024-12-03 00:38:37

數據湖存儲COS

2024-02-23 08:09:43

Rediskey名字數據庫

2023-02-28 07:39:18

2025-01-16 16:41:00

ObjectConditionJDK

2024-10-05 00:00:00

HTTPS性能HTTP/2

2024-10-15 10:32:30

2024-04-07 00:00:00

ESlint命令變量

2024-05-28 09:12:10

2024-10-24 08:47:12

2024-07-01 08:40:18

tokio派生線程

2025-07-17 14:33:51

2023-05-30 08:19:07

kafka集群leader

2023-04-26 10:21:04

2023-12-20 08:23:53

NIO組件非阻塞

2023-12-12 08:41:01

2024-04-30 09:02:48

點贊
收藏

51CTO技術棧公眾號

91精品视频在线免费观看| 26uuu国产电影一区二区| 亚洲精品日韩丝袜精品| 爱爱爱免费视频在线观看| 亚洲无人区一区| 免费看a在线观看| 亚洲精品mp4| jizz国产精品| 91精品国产91久久久久青草| 亚洲激情久久| 水蜜桃在线免费观看| 懂色中文一区二区在线播放| a级黄色片免费| 亚洲一区精品在线| 成人影音在线| 国产精品久久999| 日韩激情av在线| 欧美成年人视频在线观看| 欧美日韩国产精品一区| 中国动漫在线观看完整版免费| 色诱亚洲精品久久久久久| 伊人网在线播放| 91av网站在线播放| 国产乱码精品一区二区三区av| 日本www在线视频| 色综合天天综合色综合av| 欧美艳星kaydenkross| 翡翠波斯猫1977年美国| 宅男噜噜噜66国产精品免费| 粉嫩av一区二区三区在线播放| 奇米影视首页 狠狠色丁香婷婷久久综合 | а√天堂资源地址在线下载| 久久综合免费视频| 亚洲九九精品| 天堂…中文在线最新版在线| 欧美日韩亚洲网| 成人在线免费观看网站| 手机看片一级片| 色悠悠久久综合| 中文字幕中文字幕在线十八区| 欧美中文在线视频| 99r国产精品| 精品丝袜在线| 国产精品久久久久久久久久ktv| 国产真实乱子伦精品视频| 欧美性受ⅹ╳╳╳黑人a性爽| 国产成人小视频在线观看| 国产精品另类一区| youjizz亚洲| 久久riav二区三区| 亚洲另类中文字| 日韩视频一区二区三区四区| 日本aa在线观看| 欧美黑人极品猛少妇色xxxxx| 国产一二精品视频| 久久精品资源| 91久久精品国产91性色| 亚洲国产精品久久不卡毛片| 国产99亚洲| 亚洲男人网站| 中文字幕一区二区精品| 一区二区三区国产在线| 久久77777| 欧美日韩一区二 | 久久婷五月综合| 91成品人片a无限观看| 91视频在线观看免费| 国产日韩欧美中文在线| 精品一卡二卡三卡| 国产精品久久久久高潮| 国产一区二区0| 成人看片毛片免费播放器| www精品久久| 日本精品va在线观看| 欧美日韩一区二区三区免费看| 天堂俺去俺来也www久久婷婷| 宅男午夜视频| 欧美系列一区| 九九久久综合网站| 在线视频欧美精品| aaa欧美日韩| 亚洲欧美综合久久久| 人妖欧美1区| 国产免费又粗又猛又爽| 国产精品日韩欧美综合| 亚洲欧美国产三级| 日韩激情中文字幕| 国产日韩电影| 意大利激情丛林无删减版dvd| 久久精品成人欧美大片| 欧美一区二区福利在线| 亚洲毛片av在线| 天天综合网91| 九九热播视频在线精品6| 九色porny视频在线观看| 91电影在线播放| 五月天婷婷激情视频| 国产久一一精品| 一区二区在线免费视频| 精品久久久国产| jizz日韩| 97在线视频一区| 国产精品乱人伦中文| 日韩午夜高潮| 久草精品在线| 精品一区二区三区中文字幕视频| 性国产高清在线观看| 国产毛片视频| 日韩欧美视频免费在线观看| 欧美激情乱人伦| 午夜国产精品一区| 亚洲色图一区二区| 亚洲乱码国产乱码精品精可以看| 91麻豆国产精品久久| 国产成人精品网址| 日本成人在线一区| 婷婷综合视频| 亚洲精品不卡在线观看| 日本午夜在线| 免费在线观看日韩视频| 国产精品wwwww| 久久精品日韩| 国产精品裸体一区二区三区| 欧美精品在线看| 97精品在线视频| 国产精品自产拍在线观| 国产精品theporn88| 成人av在线天堂| 日韩中文字幕精品视频| 在线亚洲+欧美+日本专区| 欧美卡1卡2卡| 91福利视频在线| 日韩精品在线视频观看| 日韩高清a**址| 欧美一级在线观看| 日韩综合视频在线观看| 在线观看91久久久久久| 2019中文字幕免费视频| 国内外成人免费激情在线视频 | 色视频在线观看免费| 久在线观看视频| 日韩 欧美 高清| 成人综合影院| 国产免费视频在线| 麻豆免费版在线观看| 久热在线观看视频| 在线电影福利片| 亚洲系列另类av| 久久性色av| 国产女主播视频一区二区| 亚洲综合区在线| 色综合久久综合中文综合网| 久99久精品视频免费观看| 久久这里只有精品视频网| 91久久久免费一区二区| 日韩专区中文字幕| 国产综合在线观看视频| 欧美第一黄网| 天堂在线看视频| 伊人网在线播放| 久久精品欧美一区| 日本一区二区免费在线| 亚洲高清在线观看| 国产精品热视频| 欧洲美女和动交zoz0z| 激情网站五月天| 91精品国产高久久久久久五月天| 成人三级高清视频在线看| 成人香蕉社区| 91麻豆免费观看| 亚洲毛茸茸少妇高潮呻吟| 国内精品久久影院| 国产传媒久久久| 欧美黑人巨大xxxxx| 日本特黄久久久高潮| 制服丝袜国产精品| 国产91一区二区三区| 日日噜噜夜夜狠狠| 欧美91在线|欧美| av不卡在线| 亚洲国产成人在线| 在线播放国产一区中文字幕剧情欧美| 日本日本精品二区免费| 丝袜视频国产在线播放| 牛牛精品成人免费视频| 最新中文字幕一区二区三区 | 国产又粗又猛又爽又黄91精品| 日韩欧美国产网站| 91精品婷婷国产综合久久蝌蚪| 最近2018年手机中文在线| 视频在线日韩| 国产成a人亚洲| 337p亚洲精品色噜噜噜| 久久超碰亚洲| 波多野结衣中文字幕久久| 国产电影一区二区三区| 久久男人的天堂| youjizz在线播放| 成人精品视频一区| 日韩av123|