嵌入式linux系统中RTC硬件的控制与实现
大家好,今天主要给大家分享一下,如何使用linux系统中的RTC外设进行实时时钟实现。
第一:linux系统中RTC简介
RTC设备驱动是一个标准的字符设备驱动,应用程序可以使用open、read、write等函数完成对RTC设备的操作。
Linux内核将RTC设备抽象为rtc_device结构体,因此RTC设备驱动就是申请并初始化rtc_device,最后将rtc_device注册到linux内核里面,这样linux内核就有一个RTC设备的。
struct rtc_device {
struct device dev;
struct module *owner;
int id;
char name[RTC_DEVICE_NAME_SIZE];
const struct rtc_class_ops *ops;
struct mutex ops_lock;
struct cdev char_dev;
unsigned long flags;
unsigned long irq_data;
spinlock_t irq_lock;
wait_queue_head_t irq_queue;
struct fasync_struct *async_queue;
struct rtc_ta