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