日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 先簡單介紹date與hwclock的異同。相同點(diǎn):都是表示時(shí)間的。差異點(diǎn):date 是表示系統(tǒng)的時(shí)間,假如在系統(tǒng)啟動時(shí)沒有設(shè)置的話,系統(tǒng)都會從1970年開始。hwclock是表示硬件的時(shí)

 先簡單介紹date與hwclock的異同。

相同點(diǎn):都是表示時(shí)間的。

差異點(diǎn):

date 是表示系統(tǒng)的時(shí)間,假如在系統(tǒng)啟動時(shí)沒有設(shè)置的話,系統(tǒng)都會從1970年開始。

hwclock是表示硬件的時(shí)間,如時(shí)鐘芯片或主芯片自帶的rtc里面的時(shí)間。

Date就不做介紹了,看下hwclock

# hwclock --help

BusyBox v1.14.1 (2010-01-22 10:35:16 CST) multi-call binary

Usage: hwclock [-r] [-s] [-w] [-l] [-u] [-f FILE]

Query and set hardware clock (RTC)

Options:

-r Show hardware clock time

-s Set system time from hardware clock

-w Set hardware clock to system time

-u Hardware clock is in UTC

-l Hardware clock is in local time

-f FILE Use specified device (e.g. /dev/rtc2)

應(yīng)該說解釋的很詳細(xì)了,但是-s與-w選項(xiàng),我個(gè)人覺得解釋的會讓人誤解,可以這么理解

-s Set system time from hardware clock 從硬件時(shí)鐘讀取數(shù)據(jù)到系統(tǒng)時(shí)鐘,主要用于剛開始時(shí),系統(tǒng)時(shí)鐘從硬件時(shí)鐘讀取時(shí)間信息,如果沒有這步,則系統(tǒng)時(shí)間就會為1970年了。

-w Set hardware clock to system time 把系統(tǒng)時(shí)鐘設(shè)置到硬件時(shí)鐘里面,主要用于設(shè)置硬件時(shí)鐘的時(shí)間,比如在使用busybox制作的根文件系統(tǒng)中,要設(shè)置時(shí)間有2個(gè)步驟:1,先使用date設(shè)置系統(tǒng)時(shí)間;2,再利用hwclock –w把當(dāng)前系統(tǒng)時(shí)間寫到硬件時(shí)鐘里面。如果沒有第二步,下次啟動時(shí),系統(tǒng)時(shí)間是不會更新的。

可以看看下面例子:

# date

Thu Jan 1 12:10:11 UTC 1970

# hwclock

Thu Jan 1 12:10:13 1970 0.000000 seconds

時(shí)間是一致的(當(dāng)然了秒不一樣,是我操作需要時(shí)間的原因)

用date 設(shè)置下時(shí)間

# date -s 13:00:00

Thu Jan 1 13:00:00 UTC 1970

# date

Thu Jan 1 13:00:02 UTC 1970

# hwclock

Thu Jan 1 12:14:27 1970 0.000000 seconds

很明顯設(shè)置后date 與hwclock顯示不一樣

然后,使用

# hwclock -w

# date

Thu Jan 1 13:01:27 UTC 1970

# hwclock

Thu Jan 1 13:01:29 1970 0.000000 seconds

很明顯,時(shí)間又一致了。

然后,再來看下驅(qū)動。

先把a(bǔ)t91sam9263自帶的rtc配置上,啟動的時(shí)候提示

rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock

于是用hwclock來檢查,到底是哪里出了問題

# hwclock

hwclock: can't open '/dev/misc/rtc': No such file or directory

沒有這個(gè)設(shè)備,需要建立一個(gè)

查看下rtc設(shè)備號

# cat /proc/devices

Character devices:

1 mem

2 pty

3 ttyp

4 /dev/vc/0

4 tty

4 ttyS

5 /dev/tty

5 /dev/console

5 /dev/ptmx

7 vcs

10 misc

13 input

90 mtd

128 ptm

136 pts

153 spi

253 pcmcia

254 rtc

Block devices:

1 ramdisk

7 loop

31 mtdblock

179 mmc

#

rtc是254,建立設(shè)備

# mknod /dev/misc/rtc c 254 0

這里查看下busybox的源碼

int FAST_FUNC rtc_xopen(const char **default_rtc, int flags)

{

int rtc;

if (!*default_rtc) {

*default_rtc = "/dev/rtc";

rtc = open(*default_rtc, flags);

if (rtc >= 0)

return rtc;

*default_rtc = "/dev/rtc0";

rtc = open(*default_rtc, flags);

if (rtc >= 0)

return rtc;

*default_rtc = "/dev/misc/rtc";

}

return xopen(*default_rtc, flags);

}

就會發(fā)現(xiàn)調(diào)用hwclock時(shí)做了3次嘗試,隨便你用/dev/rtc,/dev/rtc0,/dev/misc/rtc哪個(gè)設(shè)備都可以,若3個(gè)都沒有就會提示錯(cuò)誤。

為了簡單,以后就弄個(gè)/dev/rtc0

# mknod /dev/rtc0 c 254 0

再用hwclock 查看下

# hwclock

Thu Jan 1 00:05:41 1970 0.000000 seconds

就有了時(shí)間了。

如果時(shí)鐘芯片或主芯片自帶的時(shí)鐘格式有問題的話,會出現(xiàn)如下錯(cuò)誤

# hwclock

hwclock: RTC_RD_TIME: Invalid or incomplete multibyte or wide character

這里就需要把系統(tǒng)的時(shí)間設(shè)置到時(shí)鐘芯片或主芯片自帶的rtc里面去,如下

#hwclock –w

然后rtc就可以用了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

CPU親和度通過限制進(jìn)程或線程可以運(yùn)行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數(shù),提高緩存命中率,從而提升系統(tǒng)性能。

關(guān)鍵字: Linux 嵌入式

這是一個(gè)很好的時(shí)鐘,有很大的片段,你可以設(shè)置每個(gè)片段的顏色和強(qiáng)度。有三個(gè)按鈕,蜂鳴器,光傳感器和RTC與備用電池。時(shí)鐘通過USB C供電,具有當(dāng)前時(shí)間,計(jì)時(shí)器和秒表等功能。請隨意添加您自己的功能!

關(guān)鍵字: 蜂鳴器 光傳感器 RTC

在Linux系統(tǒng)性能優(yōu)化中,內(nèi)存管理與網(wǎng)絡(luò)連接處理是兩大核心領(lǐng)域。vm.swappiness與net.core.somaxconn作為關(guān)鍵內(nèi)核參數(shù),直接影響系統(tǒng)在高負(fù)載場景下的穩(wěn)定性與響應(yīng)速度。本文通過實(shí)戰(zhàn)案例解析這兩個(gè)...

關(guān)鍵字: Linux 內(nèi)存管理

北京2025年8月6日 /美通社/ -- 亞馬遜云科技宣布,Anthropic最新一代模型Claude Opus 4.1與Claude Sonnet 4,現(xiàn)已在Amazon Bedrock全面上線。這批新型雙模推理模型支...

關(guān)鍵字: 模型 PIC 亞馬遜 CK

對于LLM,我使用b谷歌Gemini的免費(fèi)層,所以唯一的成本是n8n托管。在使用了n8n Cloud的免費(fèi)積分后,我決定將其托管在Railway上(5美元/月)。然而,由于n8n是開源的,您可以在自己的服務(wù)器上托管它,而...

關(guān)鍵字: 人工智能 n8n Linux

在Linux系統(tǒng)管理中,權(quán)限控制是安全運(yùn)維的核心。本文通過解析/etc/sudoers文件配置與組策略的深度應(yīng)用,結(jié)合某金融企業(yè)生產(chǎn)環(huán)境案例(成功攔截98.7%的非法提權(quán)嘗試),揭示精細(xì)化權(quán)限管理的關(guān)鍵技術(shù)點(diǎn),包括命令別...

關(guān)鍵字: Linux 用戶權(quán)限 sudoers文件

Linux內(nèi)核中的信號量(Semaphore)是一種用于資源管理的同步原語,它允許多個(gè)進(jìn)程或線程對共享資源進(jìn)行訪問控制。信號量的主要作用是限制對共享資源的并發(fā)訪問數(shù)量,從而防止系統(tǒng)過載和數(shù)據(jù)不一致的問題。

關(guān)鍵字: Linux 嵌入式

在云計(jì)算與容器化技術(shù)蓬勃發(fā)展的今天,Linux網(wǎng)絡(luò)命名空間(Network Namespace)已成為構(gòu)建輕量級虛擬網(wǎng)絡(luò)的核心組件。某頭部互聯(lián)網(wǎng)企業(yè)通過命名空間技術(shù)將測試環(huán)境資源消耗降低75%,故障隔離效率提升90%。本...

關(guān)鍵字: Linux 云計(jì)算

在Linux內(nèi)核4.18+和主流發(fā)行版(RHEL 8/Ubuntu 20.04+)全面轉(zhuǎn)向nftables的背景下,某電商平臺通過遷移將防火墻規(guī)則處理效率提升40%,延遲降低65%。本文基于真實(shí)生產(chǎn)環(huán)境案例,詳解從ipt...

關(guān)鍵字: nftables Linux

在Linux設(shè)備驅(qū)動開發(fā)中,等待隊(duì)列(Wait Queue)是實(shí)現(xiàn)進(jìn)程睡眠與喚醒的核心機(jī)制,它允許進(jìn)程在資源不可用時(shí)主動放棄CPU,進(jìn)入可中斷睡眠狀態(tài),待資源就緒后再被喚醒。本文通過C語言模型解析等待隊(duì)列的實(shí)現(xiàn)原理,結(jié)合...

關(guān)鍵字: 驅(qū)動開發(fā) C語言 Linux
關(guān)閉