617|2

220

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

《原子Linux驱动开发》+RTC [复制链接]

Linux内核中的RTC(实时时钟)设备驱动是一个标准的字符设备驱动,它允许应用程序通过标准的文件操作接口(open、release、read、write和ioctl等)来与RTC硬件进行交互。在Linux内核中,RTC设备被抽象为一个rtc_device结构体,这个结构体包含了RTC设备的各种信息和操作。

 

 

 

 

在Linux内核中,设备树(Device Tree)是用于描述硬件信息的数据结构。设备树源文件(如.dts或.dtsi文件)使用特定的语法定义了系统中各个硬件组件的属性。内核和驱动程序会解析这些文件来获取关于硬件配置的信息。

为了理解i.MX6U的RTC驱动是如何工作的,我们可以从设备树开始分析。在imx6ull.dtsi文件中,你应该能够找到一个与RTC相关的设备节点,例如snvs_rtc。这个节点会包含描述RTC硬件的各种属性和配置信息。

 

 

 

 

我在网上找了相关示例,贴出来:

snvs_rtc: rtc@021bc000 {  
    compatible = "fsl,imx6q-snvs-rtc";  
    reg = <0x021bc000 0x1000>;  
    interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;  
    clocks = <&clks IMX6UL_CLK_SNVS>;  
    clock-names = "snvs";  
    pinctrl-names = "default";  
    pinctrl-0 = <&pinctrl_snvs>;  
    status = "okay";  
};

在这个示例中:

  • compatible 属性指定了与这个设备节点兼容的驱动名称,这样内核就能知道哪个驱动应该与这个硬件关联。
  • reg 属性定义了RTC硬件的物理基地址和大小。
  • interrupts 属性指定了用于RTC的中断号和类型。
  • clocks 和 clock-names 属性描述了RTC所需的时钟源。
  • pinctrl-names 和 pinctrl-0 属性与引脚控制(Pin Control)相关,用于配置RTC使用的GPIO引脚。
  • status 属性表明这个设备是“okay”的,即它是可用的。
此帖出自Linux开发论坛

最新回复

RTC是实际使用中非常广的外设,楼主学习辛苦了。   详情 回复 发表于 2024-4-12 08:19
点赞 关注(1)

回复
举报

6974

帖子

11

TA的资源

版主

沙发
 

RTC是实际使用中非常广的外设,楼主学习辛苦了。

此帖出自Linux开发论坛

点评

好像还没有搞透。  详情 回复 发表于 2024-4-12 08:57
 
 

回复

220

帖子

1

TA的资源

一粒金砂(高级)

板凳
 
lugl4313820 发表于 2024-4-12 08:19 RTC是实际使用中非常广的外设,楼主学习辛苦了。

好像还没有搞透。

此帖出自Linux开发论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表