【嵌入式Linux驱动开发】二十三、Linux RTC 驱动

本文介绍了Linux内核RTC驱动的基本概念,以STM32和I.MX6U为例,讲解了RTC驱动的初始化、时间查看与设置。在STM32中,RTC模块需要32.768KHz晶振;I.MX6U的RTC称为SNVS。Linux内核通过rtc_device结构体抽象RTC设备,注册和注销通过rtc_device_register和rtc_device_unregister函数完成。RTC时间查看使用date命令,设置则需结合hwclock命令将时间写入RTC。
摘要由CSDN通过智能技术生成

  待机而举是良谋,成竹在胸方可求。
  默默无闻积实力,时成奋起定春秋。
  夕楚庄王初登位,三载不发号令休。
  不鸣则已鸣即震,一举伐齐胜徐州。


一、Linux 内核 RTC 驱动简介

  STM32 内部有一个 RTC 外设模块,这个模块需要一个32.768KHz 的晶振,对这个 RTC 模块进行初始化就可以得到一个实时时钟。 I.MX6U 内部也有个 RTC 模块,但是不叫作“ RTC”,而是叫做“ SNVS”。SNVS 直译过来就是安全的非易性存储, SNVS 里面主要是一些低功耗的外设,包括一个安全的实时计数器(RTC)、一个单调计数器(monotonic counter)和一些通用的寄存器。

   首先需要说明的是,I.MX6U 的 RTC 驱动我们不用自己编写,因为 NXP 已经写好了。其实对于大多数的 SOC 来讲,内部 RTC 驱动都不需要我们去编写,半导体厂商会编写好。我们先学会怎么使用,再来探究具体原理!

  Linux 内核将 RTC 设备抽象为 rtc_device 结构体,因此 RTC 设备驱动就是申请并初始化rtc_device,最后将 rtc_device 注册到 Linux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值