- Android系統級深入開發
- 韓超 梁泉
- 216字
- 2018-12-29 13:39:34
4.4.3 實時時鐘的驅動程序
GoldFish虛擬處理器的實時時鐘(RTC)部分的驅動程序,相關文件如下所示:
drivers/rtc/rtc-goldfish.c
GoldFish的實時時鐘驅動程序在sys文件系統的driver路徑為:
# ls /sys/bus/platform/drivers/goldfish_rtc goldfish_rtc uevent unbind bind
這是一個標準注冊的rtc設備,由于是系統中唯一的RTC設備,其在用戶空間的設備節點為/dev/rtc0。RTC驅動的主要內容是讀取時間,如下所示:
static int goldfish_rtc_read_time(struct device *dev, struct rtc_time *tm) { int64_t time; struct goldfish_rtc *qrtc = platform_get_drvdata(to_platform_device(dev)); time = readl(qrtc->base + TIMER_TIME_LOW); time |= (int64_t)readl(qrtc->base + TIMER_TIME_HIGH) << 32; do_div(time, NSEC_PER_SEC); rtc_time_to_tm(time, tm); return 0; }
GoldFish的實時時鐘驅動由仿真器的虛擬環境觸發中斷,并填充相關的寄存器,在驅動程序中取得信息。
推薦閱讀
- HTML5+CSS3+JavaScript從入門到精通:上冊(微課精編版·第2版)
- Learning Java Functional Programming
- Spring Boot開發與測試實戰
- Python數據分析入門與實戰
- LabVIEW2018中文版 虛擬儀器程序設計自學手冊
- 單片機C語言程序設計實訓100例:基于STC8051+Proteus仿真與實戰
- 重學Java設計模式
- 編程可以很簡單
- Python程序設計教程
- Learning ECMAScript 6
- Java程序設計及應用開發
- Java EE互聯網輕量級框架整合開發:SSM+Redis+Spring微服務(上下冊)
- Scala實用指南
- Learning Rust
- Responsive Web Design with HTML5 and CSS3(Second Edition)