在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在RTC驅動程序正常工作的前提下用戶空間中如何配置時間參數

嵌入式小生 ? 來源:嵌入式小生 ? 作者:iriczhao ? 2022-11-25 09:06 ? 次閱讀

導讀

嵌入式系統中,設備時間是一個重要的參數。一般情況下,為了讓設備在斷電情況下,系統能正常走時,會采用外部RTC芯片為系統提供斷電后的系統走時。

linux內核中,內核對RTC的支持分成了兩層:

(1)與硬件無關的頂層字符驅動程序:用于實現內核的RTC相關的API

(2)與硬件相關的底層驅動程序:用于和底層總線進行通信

RTC API保證了用戶空間的程序(工具)獨立于底層平臺和特定的RTC芯片,例如:hwclock則遵循這些API 接口對/dev/rtc進行操作。這些API也定義了sys(/sys/class/rtc)和proc(/proc/driver/rtc)文件系統中的屬性。

linux內核的RTC框架支持各種各樣的RTC:集成到SOC中的RTC,支持I2C、SPI或者其他總線通信的單獨RTC芯片等。對于用戶空間來說,RTC框架會提供三種接口:

(1)/dev/rtcN。N表示RTC在系統上的序號。

(2)/sys/class/rtc/rtcN

(3)/proc/driver/rtc

本文不去具體描述RTC的框架細節和如何設計RTC驅動程序,而是描述:在RTC驅動程序正常工作的前提下,對于多個rtc,在用戶空間中如何配置時間參數

背景描述

在一塊搭載rk3568處理器的硬件板卡上,需要使用RTC為系統提供斷電后的時間走時,在對應硬件板卡的Linux內核中,針對rk3568開發了兩款rtc驅動:rtc0和rtc1:

f982ae46-6c56-11ed-8abf-dac502259ad0.png

在Linux啟動過程中,內核會自動使用rtc0設置系統時間,該時間是一個默認狀態時間參數,當系統斷電后,發現時間不會自動走時,因此在每次系統啟動后,使用date命令查看系統時間,時間都是最初的默認參數。實際上rtc1才代表外部的RTC芯片,所以此處可以在linux內核啟動后,進入根文件系統服務啟動過程中,在配置腳本中將rtc1的時間參數同步到系統。

解決方法

具體操作如下:

在命令行使用以下命令設置rtc1的時間:

date-s"具體時間參數"

時間參數格式為:“年-月-日 時:分:秒”

在設置系統時間的時候,可以手動設置,這樣在秒上可能存在誤差。如果系統板卡在開發階段可以連接網絡,通過網絡更新系統時間也是一種較好的方式,哈哈。

接著使用以下命令將時間參數同步到rtc1:

hwclock -w -f /dev/rtc1

在/etc/profile文件末尾添加如下代碼,用于當Linux啟動后自動從rtc1同步時間到系統:

hwclock-s-f/dev/rtc1

完成后如下所示:

#/etc/profile:system-wide.profilefilefortheBourneshell(sh(1))
#andBournecompatibleshells(bash(1),ksh(1),ash(1),...).

if["${PS1-}"];then
if["${BASH-}"]&&["$BASH"!="/bin/sh"];then
#Thefilebash.bashrcalreadysetsthedefaultPS1.
#PS1='h:w$'
if[-f/etc/bash.bashrc];then
./etc/bash.bashrc
fi
else
if["`id-u`"-eq0];then
PS1='#'
else
PS1='$'
fi
fi
fi

if[-d/etc/profile.d];then
foriin/etc/profile.d/*.sh;do
if[-r$i];then
.$i
fi
done
unseti
fi

#用于將外部RTC時間同步到linux系統。
hwclock-s-f/dev/rtc1 &

總結

本文是一例在實際工作中所遇到的RTC問題的解決方法總結,沒有其他的了。

補充:『date命令幫助』

Usage:date[OPTION]...[+FORMAT]
or:date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]
DisplaythecurrenttimeinthegivenFORMAT,orsetthesystemdate.

Mandatoryargumentstolongoptionsaremandatoryforshortoptionstoo.
-d,--date=STRINGdisplaytimedescribedbySTRING,not'now'
--debugannotatetheparseddate,
andwarnaboutquestionableusagetostderr
-f,--file=DATEFILElike--date;onceforeachlineofDATEFILE
-I[FMT],--iso-8601[=FMT]outputdate/timeinISO8601format.
FMT='date'fordateonly(thedefault),
'hours','minutes','seconds',or'ns'
fordateandtimetotheindicatedprecision.
Example:2006-08-14T0256-06:00
-R,--rfc-emailoutputdateandtimeinRFC5322format.
Example:Mon,14Aug20060256-0600
--rfc-3339=FMToutputdate/timeinRFC3339format.
FMT='date','seconds',or'ns'
fordateandtimetotheindicatedprecision.
Example:2006-08-140256-06:00
-r,--reference=FILEdisplaythelastmodificationtimeofFILE
-s,--set=STRINGsettimedescribedbySTRING
-u,--utc,--universalprintorsetCoordinatedUniversalTime(UTC)
--helpdisplaythishelpandexit
--versionoutputversioninformationandexit

補充:『hwclock命令幫助』

BusyBoxv1.34.1(2022-08-121432CST)multi-callbinary.

Usage:hwclock[-swul][--systz][-fDEV]

Showorsethardwareclock(RTC)

-sSetsystemtimefromRTC
-wSetRTCfromsystemtime
--systzSetin-kerneltimezone,correctsystemtime
ifRTCiskeptinlocaltime
-fDEVUsespecifieddevice(e.g./dev/rtc2)
-uAssumeRTCiskeptinUTC
-lAssumeRTCiskeptinlocaltime
(ifneitherisgiven,readfrom/var/lib/hwclock/adjtime)





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3614

    瀏覽量

    129631
  • RTC
    RTC
    +關注

    關注

    2

    文章

    542

    瀏覽量

    66837
  • LINUX內核
    +關注

    關注

    1

    文章

    316

    瀏覽量

    21697

原文標題:嵌入式linux的RTC可以這樣“玩”

文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    最新可用隔離元件的性能提升如何幫助替代架構不影響安全性的前提下提升系統性能

    本文探討了系統架構選擇對電源和控制電路設計以及系統性能的影響。本文還將說明最新可用隔離元件的性能提升如何幫助替代架構不影響安全性的前提下提升系統性能
    的頭像 發表于 10-13 06:12 ?7873次閱讀
    最新可用隔離元件的性能提升如何幫助替代架構<b class='flag-5'>在</b>不影響安全性的<b class='flag-5'>前提下</b>提升系統性能

    STM32跟wifi模塊通過USB沒有host的前提下如何交互呢?

    后不需要再插拔。是不是可以通過USB簡單的進行設備與設備的連接,不用考慮是否是host? 2. 如果1假設成立,那STM32跟wifi模塊通過USB沒有host的前提下如何交互呢?
    發表于 05-13 08:25

    PCB上不拆掉集成塊的前提下怎么能測其好壞?

    想請問一下,PCB上不拆掉集成塊的前提下怎么能測其好壞,謝謝了
    發表于 09-02 07:56

    不寫程序前提下,怎么判斷ADS1253正常工作了?

    請教個基礎問題: 1.只要clk正常(6M), 電源給上(5V),sclk給一個低電平,用示波器看數據線,是否會有所謂的準備信號,高低電平的波形出現? 2. 不寫程序前提下
    發表于 01-07 06:54

    不影響選擇原有器件前提下KEIL下增加STC單片機

    本帖最后由 eehome 于 2013-1-5 09:49 編輯 不影響選擇原有器件前提下KEIL下增加STC單片機針對KEIL UV4 有效1、 X:\Keil\c51
    發表于 05-10 15:18

    如何簡單檢測段式LCD的分壓方式,沒有LCD資料的前提下...

    如何簡單檢測段式LCD的分壓方式,沒有LCD資料的前提下。謝謝有知道的告訴下
    發表于 01-14 17:08

    CC2530如何低功耗前提下有什么辦法喚醒終端?

    一定的時間內得不到響應就開始使它不斷的復位,保持喚醒狀態,但這樣造成的后果是功耗非常大(正常工作狀態下工作電流大概是2ma,復位狀態下是30ma)。請問如何低功耗
    發表于 03-22 11:52

    cy8cmbr3116:不改變靈敏度的前提下,是否有其它方式可降低功耗?

    配置如附件所示,功耗為30UA是否正常,不改變靈敏度的前提下,是否有其它方式可降低功耗
    發表于 08-02 18:23

    求教大神們,不退出軟件的前提下,怎么實現用戶的退出和再登入?

    labview建立了運行時菜單,包含用戶登錄和退出,求教大神們,不退出軟件的前提下,怎么實現用戶的退出和再登入?
    發表于 05-03 15:46

    can底層驅動配置好的前提下,向DSP發送任何數據,can就能接收到數據嗎

    我想問下在can底層驅動配置好的前提下,我向DSP發送任何數據,can就能接收到數據嗎,然后將RMP=1即ECanaShadow.CANRMP.bit.RMP1 = 1;還是說必須發送的數據符合一定的格式,can郵箱才能將RMP
    發表于 07-08 15:39

    Date功能:ISE中如何在未綜合實現的前提下打開ChipScope ?

    ISE中如何在未綜合實現的前提下雙擊Analyze Design Using ChipScope打開ChipScope ?
    發表于 02-10 15:48 ?1425次閱讀
    Date功能:ISE中如何在未綜合實現的<b class='flag-5'>前提下</b>打開ChipScope ?

    如何為Linux編寫用戶空間設備驅動程序

    了解如何為Linux編寫用戶空間設備驅動程序用戶空間驅動程序為某些設備提供內核
    的頭像 發表于 11-22 07:04 ?3786次閱讀

    如何在避免接觸的前提下高效地完成體溫檢測?

    當測溫成為商業綜合體每天必須面對的大工程,如何在避免接觸的前提下高效地完成體溫檢測?廣州,高新興5G防疫機器人承擔起這項任務。
    的頭像 發表于 08-24 11:46 ?2094次閱讀

    網卡驅動程序正常的解決辦法

    網卡驅動程序異常上不了網怎么辦 網卡驅動程序正常的解決辦法
    發表于 09-28 09:49 ?1次下載

    linux驅動程序運行在什么空間

    Linux 驅動程序是操作系統的一部分,負責管理硬件設備與操作系統之間的交互。驅動程序運行在內核空間(Kernel Space),這是操作系統的核心部分,與用戶
    的頭像 發表于 08-30 14:37 ?481次閱讀
    主站蜘蛛池模板: 天天艹天天操| 久久99精品久久久久久秒播| 黄色一级片视频| 辣h高h肉h激h超h| 国产免费糟蹋美女视频| 成人a在线| 亚洲国产系列| 天天干天天拍天天射 | 亚洲电影一区二区| 五月婷婷丁香久久| 欧美色视频日本片免费高清| 久久影院朴妮唛| 爱爱小说视频永久免费网站| 永久在线免费| 女bbbbxxxx另类亚洲| 在线观看黄色的网站| 亚洲福利视频一区| 亚洲一级毛片在线观播放| 色视频免费观看| 黄鳝钻进下面好爽小说| 最近免费| 国产网站大全| 日本一区二区三区视频在线观看| 综合99| 三区在线观看| 国产一二三区精品| 午夜影视体验区| aa国产| 最新天堂网| 青草91| 大色综合色综合网站| 天天操天天干天天拍| 456性欧美欧美在线视频| 国产叼嘿视频免费网站| 色丁香影院| 超大乳抖乳露双乳视频| 欧美午夜视频一区二区三区| 中文字幕一二三区| 特级黄色毛片| 国产美女视频免费| 美女午夜|